dde_bsd: ignore HDMI/DP devices (00:03:00)

Unfortunatly, there is no support for any HDMI/DP based HDA codecs in
this driver. Therefore we try to filter out known devices (normally the
PCI device on 00:03.00). This could also be done in the platform_drv's
configuration by explicitly naming the BDF but for better or worse that
will not work when using a wildcard class like HDAUDIO which is done in
generic run scripts.

Issue #1644.
This commit is contained in:
Josef Söntgen 2015-06-03 19:54:21 +02:00 committed by Christian Helmuth
parent 61f5ca1e4d
commit c4e2322a5d
1 changed files with 7 additions and 3 deletions

View File

@ -139,6 +139,10 @@ class Pci_driver : public Bsd::Bus_driver
int probe() int probe()
{ {
char buf[32];
Genode::snprintf(buf, sizeof(buf), "ram_quota=%u", 8192U);
Genode::env()->parent()->upgrade(_pci.cap(), buf);
/* /*
* We hide ourself in the bus_dma_tag_t as well as * We hide ourself in the bus_dma_tag_t as well as
* in the pci_chipset_tag_t field because they are * in the pci_chipset_tag_t field because they are
@ -155,9 +159,9 @@ class Pci_driver : public Bsd::Bus_driver
uint8_t bus, dev, func; uint8_t bus, dev, func;
device.bus_address(&bus, &dev, &func); device.bus_address(&bus, &dev, &func);
/* XXX until we get the platform_drv, we blacklist HDMI/DP HDA devices */ if ((device.device_id() == PCI_PRODUCT_INTEL_CORE4G_HDA_2) ||
if (device.device_id() == PCI_PRODUCT_INTEL_CORE4G_HDA_2) { (bus == 0 && dev == 3 && func == 0)) {
PWRN("ignore %u:%u:%u device, Intel Core 4G HDA not supported", PWRN("ignore %u:%u:%u not supported HDMI/DP HDA device",
bus, dev, func); bus, dev, func);
continue; continue;
} }