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()
{
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
* 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;
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) {
PWRN("ignore %u:%u:%u device, Intel Core 4G HDA not supported",
if ((device.device_id() == PCI_PRODUCT_INTEL_CORE4G_HDA_2) ||
(bus == 0 && dev == 3 && func == 0)) {
PWRN("ignore %u:%u:%u not supported HDMI/DP HDA device",
bus, dev, func);
continue;
}