mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-16 15:29:57 +00:00
pci_decode: disable MSI on HDAUDIO cards
According to OpenBSD's azalia driver some AMD HDAudio devices do not play nice with MSIs although the capability is set. At least the 0x1457 device was tested and worked using GSIs only. genodelabs/genode#4578
This commit is contained in:
parent
bc1e231775
commit
a420670217
@ -153,6 +153,27 @@ void Main::parse_pci_function(Bdf bdf,
|
||||
});
|
||||
});
|
||||
|
||||
{
|
||||
/* Apply GSI/MSI/MSI-X quirks based on vendor/device/class */
|
||||
using Cc = Config::Class_code_rev_id;
|
||||
|
||||
bool const hdaudio = cfg.read<Cc::Class_code>() == 0x40300;
|
||||
auto const vendor_id = cfg.read<Config::Vendor>();
|
||||
auto const device_id = cfg.read<Config::Device>();
|
||||
|
||||
if (hdaudio && vendor_id == 0x1022 /* AMD */) {
|
||||
/**
|
||||
* see dde_bsd driver dev/pci/azalia.c
|
||||
*
|
||||
* PCI_PRODUCT_AMD_17_HDA
|
||||
* PCI_PRODUCT_AMD_17_1X_HDA
|
||||
* PCI_PRODUCT_AMD_HUDSON2_HDA
|
||||
*/
|
||||
if (device_id == 0x1457 || device_id == 0x15e3 ||
|
||||
device_id == 0x780d)
|
||||
msi = msi_x = false;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Only generate <irq> nodes if at least one of the following
|
||||
|
Loading…
x
Reference in New Issue
Block a user