From c4e2322a5d4a88f70ca5d7ddfd86fc491f1a0551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= Date: Wed, 3 Jun 2015 19:54:21 +0200 Subject: [PATCH] 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. --- repos/dde_bsd/src/lib/audio/bus.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/repos/dde_bsd/src/lib/audio/bus.cc b/repos/dde_bsd/src/lib/audio/bus.cc index 8a8548219..d73e3ed00 100644 --- a/repos/dde_bsd/src/lib/audio/bus.cc +++ b/repos/dde_bsd/src/lib/audio/bus.cc @@ -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; }