Cc: Greg Kroah-Hartman <gregkh@...>, Jay Cliburn <jacliburn@...>, Grzegorz Krzystek <ninex@...>, Andrew Morton <akpm@...>, Andi Kleen <ak@...>, <ninex@...>, <linux-kernel@...>, <linux-pci@...>, Michael Ellerman <michael@...>, David Miller <davem@...>, Tony Luck <tony.luck@...>
Are you sure that calling quirk_msi_ht_cap() on all devices will really
replace my nVidia CK804 specific quirk above?
I haven't looked at all this for a while, but if I remember correctly,
the PCI hierarchy with an AMD8131 and a CK804 looks like the following.
-+-[08]-+-0a.0-[09]--
\-[00]-+-00.0
+-0e.0-[02]--
The HT MSI mapping of the CK804 may be either on device 00.0 (10de:005e)
and 0e.0 (10de:005d). The devices that are physically behind the CK804
chipset are on bus 02.
To get MSI enabled for these devices, the MSI flag should be set either
on bus 00 (looks impossible here) or on bus 02 (if the HT MSI mapping is
found on 0e.0). However, if the MSI mapping is found on device 00.0, I
don't see your code could enable MSI behind on bus 02.
Brice
-