LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File 0015-workaround-for-pci-d3_bridge.patch of Package drm (Project home:tiwai:bnc1050256)

From: Takashi Iwai <tiwai@suse.de>
Subject: Workaround for build error with pci_dev.d3_bridge

Comment out the codes accessing pci_dev.d3_bridge field that was
newly added in the recent kernel.

Signed-off-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c |    6 +++---
 drivers/gpu/drm/nouveau/nouveau_acpi.c           |    2 ++
 drivers/gpu/drm/radeon/radeon_atpx_handler.c     |    6 +++---
 3 files changed, 8 insertions(+), 6 deletions(-)

--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
@@ -560,7 +560,7 @@ static bool amdgpu_atpx_detect(void)
 	struct pci_dev *pdev = NULL;
 	bool has_atpx = false;
 	int vga_count = 0;
-	bool d3_supported = false;
+	bool d3_supported = true; /* XXX false; */
 	struct pci_dev *parent_pdev;
 
 	while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) {
@@ -569,7 +569,7 @@ static bool amdgpu_atpx_detect(void)
 		has_atpx |= (amdgpu_atpx_pci_probe_handle(pdev) == true);
 
 		parent_pdev = pci_upstream_bridge(pdev);
-		d3_supported |= parent_pdev && parent_pdev->bridge_d3;
+		/* XXX d3_supported |= parent_pdev && parent_pdev->bridge_d3; */
 	}
 
 	while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_OTHER << 8, pdev)) != NULL) {
@@ -578,7 +578,7 @@ static bool amdgpu_atpx_detect(void)
 		has_atpx |= (amdgpu_atpx_pci_probe_handle(pdev) == true);
 
 		parent_pdev = pci_upstream_bridge(pdev);
-		d3_supported |= parent_pdev && parent_pdev->bridge_d3;
+		/* XXX d3_supported |= parent_pdev && parent_pdev->bridge_d3; */
 	}
 
 	if (has_atpx && vga_count == 2) {
--- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
@@ -225,6 +225,7 @@ static bool nouveau_pr3_present(struct p
 	if (!parent_pdev)
 		return false;
 
+#if 0
 	if (!parent_pdev->bridge_d3) {
 		/*
 		 * Parent PCI bridge is currently not power managed.
@@ -235,6 +236,7 @@ static bool nouveau_pr3_present(struct p
 		pci_d3cold_disable(pdev);
 		return false;
 	}
+#endif
 
 	parent_adev = ACPI_COMPANION(&parent_pdev->dev);
 	if (!parent_adev)
--- a/drivers/gpu/drm/radeon/radeon_atpx_handler.c
+++ b/drivers/gpu/drm/radeon/radeon_atpx_handler.c
@@ -553,7 +553,7 @@ static bool radeon_atpx_detect(void)
 	struct pci_dev *pdev = NULL;
 	bool has_atpx = false;
 	int vga_count = 0;
-	bool d3_supported = false;
+	bool d3_supported = true; /* XXX false; */
 	struct pci_dev *parent_pdev;
 
 	while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) {
@@ -562,7 +562,7 @@ static bool radeon_atpx_detect(void)
 		has_atpx |= (radeon_atpx_pci_probe_handle(pdev) == true);
 
 		parent_pdev = pci_upstream_bridge(pdev);
-		d3_supported |= parent_pdev && parent_pdev->bridge_d3;
+		/* XXX d3_supported |= parent_pdev && parent_pdev->bridge_d3; */
 	}
 
 	/* some newer PX laptops mark the dGPU as a non-VGA display device */
@@ -572,7 +572,7 @@ static bool radeon_atpx_detect(void)
 		has_atpx |= (radeon_atpx_pci_probe_handle(pdev) == true);
 
 		parent_pdev = pci_upstream_bridge(pdev);
-		d3_supported |= parent_pdev && parent_pdev->bridge_d3;
+		/* XXX d3_supported |= parent_pdev && parent_pdev->bridge_d3; */
 	}
 
 	if (has_atpx && vga_count == 2) {