Subject: Re: adding Pegasus IDE quirk for pata_via

From: Benjamin Herrenschmidt <[email-masked]>
Date: Thu, 05 Apr 2007 09:52:18 +1000

On Wed, 2007-04-04 at 13:16 +0200, Olaf Hering wrote:
> The pegaos board needs an irq quirk in pata_via.
> Where is the quirk list for libata? I dont see one in pata_via.c
> 
> drivers/ide/pci/via82cxxx.c:init_hwif_via82cxxx()
> 
>     440 #ifdef CONFIG_PPC_CHRP
>     441         if(machine_is(chrp) && _chrp_type == _CHRP_Pegasos) {
>     442                 hwif->irq = hwif->channel ? 15 : 14;
>     443         }
>     444 #endif
> 
> 
> This is in the firmware node. Will a fixup of the 'interrupts' property
> work or does everything poke directly at the PCI registers?
> Should fixup_device_tree_chrp() take care of the 'interrupts' property?

Nothing standard will work. A PCI device isn't supposed to have more
than one interrupt per function and this one needs 2. It's the VIA
chipset being out of specs as usual.

Ben.