[Intel-gfx] [PATCH IGT 1/6] lib: detect PCH_LPT and PCH_NONE

Paulo Zanoni przanoni at gmail.com
Fri Mar 1 21:44:17 CET 2013


From: Paulo Zanoni <paulo.r.zanoni at intel.com>

So we don't assign PCH_IBX to anything that's not PCH_CPT nor PCH_LPT.

Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
---
 lib/intel_gpu_tools.h |    4 ++++
 lib/intel_pci.c       |   21 ++++++++++++++++++---
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/lib/intel_gpu_tools.h b/lib/intel_gpu_tools.h
index 245d1de..ced84c8 100644
--- a/lib/intel_gpu_tools.h
+++ b/lib/intel_gpu_tools.h
@@ -92,13 +92,17 @@ uint64_t intel_get_total_swap_mb(void);
 void intel_map_file(char *);
 
 enum pch_type {
+	PCH_NONE,
 	PCH_IBX,
 	PCH_CPT,
+	PCH_LPT,
 };
 
 extern enum pch_type pch;
 void intel_check_pch(void);
 
+#define HAS_IBX (pch == PCH_IBX)
 #define HAS_CPT (pch == PCH_CPT)
+#define HAS_LPT (pch == PCH_LPT)
 
 #endif /* INTEL_GPU_TOOLS_H */
diff --git a/lib/intel_pci.c b/lib/intel_pci.c
index 704c87a..e60e0d3 100644
--- a/lib/intel_pci.c
+++ b/lib/intel_pci.c
@@ -100,9 +100,24 @@ intel_check_pch(void)
 	if (pch_dev == NULL)
 		return;
 
-	if (pch_dev->vendor_id == 0x8086 &&
-	    (((pch_dev->device_id & 0xff00) == 0x1c00) ||
-	     (pch_dev->device_id & 0xff00) == 0x1e00))
+	if (pch_dev->vendor_id != 0x8086)
+		return;
+
+	switch (pch_dev->device_id & 0xff00) {
+	case 0x3b00:
+		pch = PCH_IBX;
+		break;
+	case 0x1c00:
+	case 0x1e00:
 		pch = PCH_CPT;
+		break;
+	case 0x8c00:
+	case 0x9c00:
+		pch = PCH_LPT;
+		break;
+	default:
+		pch = PCH_NONE;
+		return;
+	}
 }
 
-- 
1.7.10.4




More information about the Intel-gfx mailing list