From 9750ccbc9eb24788b7842ac6f354a90e0fdf1e46 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Sun, 6 Oct 2013 22:40:43 +0100 Subject: [PATCH] XXXnouveau: count DISPLAY_3D devices while considering dsm/optimus presence Signed-off-by: Emil Velikov --- drivers/gpu/drm/nouveau/nouveau_acpi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c index 714b3a3..5c8ac98 100644 --- a/drivers/gpu/drm/nouveau/nouveau_acpi.c +++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c @@ -289,6 +289,16 @@ static bool nouveau_dsm_detect(void) has_optimus = 1; } + while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_3D << 8, pdev)) != NULL) { + vga_count++; + + retval = nouveau_dsm_pci_probe(pdev); + if (retval & NOUVEAU_DSM_HAS_MUX) + has_dsm |= 1; + if (retval & NOUVEAU_DSM_HAS_OPT) + has_optimus = 1; + } + /* find the optimus DSM or the old v1 DSM */ if (has_optimus == 1) { acpi_get_name(nouveau_dsm_priv.dhandle, ACPI_FULL_PATHNAME, -- 1.8.4