[Intel-gfx] [PATCH] Add Ivybridge support to intel_gpu_dump and the BLT tests.
Eric Anholt
eric at anholt.net
Fri May 6 23:04:37 CEST 2011
---
lib/intel_batchbuffer.c | 2 +-
lib/intel_chipset.h | 29 +++++++++++++++++++++++++----
tests/gem_exec_blt.c | 2 +-
tests/gem_linear_blits.c | 2 +-
tools/intel_gpu_dump.c | 2 +-
5 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c
index a2f9ae7..111f65d 100644
--- a/lib/intel_batchbuffer.c
+++ b/lib/intel_batchbuffer.c
@@ -108,7 +108,7 @@ intel_batchbuffer_flush(struct intel_batchbuffer *batch)
batch->ptr = NULL;
ring = 0;
- if (IS_GEN6(batch->devid))
+ if (HAS_BLT_RING(batch->devid))
ring = I915_EXEC_BLT;
ret = drm_intel_bo_mrb_exec(batch->bo, used, NULL, 0, 0, ring);
assert(ret == 0);
diff --git a/lib/intel_chipset.h b/lib/intel_chipset.h
index d1e5088..bf6815f 100755
--- a/lib/intel_chipset.h
+++ b/lib/intel_chipset.h
@@ -78,13 +78,21 @@
#define PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS 0x0126
#define PCI_CHIP_SANDYBRIDGE_S 0x010A /* server */
+#define PCI_CHIP_IVYBRIDGE_M_GT1 0x0156
+#define PCI_CHIP_IVYBRIDGE_M_GT2 0x0166
+#define PCI_CHIP_IVYBRIDGE_D_GT1 0x0152
+#define PCI_CHIP_IVYBRIDGE_D_GT1_SERVER 0x015a
+#define PCI_CHIP_IVYBRIDGE_D_GT2 0x0162
+
#define IS_MOBILE(devid) (devid == PCI_CHIP_I855_GM || \
devid == PCI_CHIP_I915_GM || \
devid == PCI_CHIP_I945_GM || \
devid == PCI_CHIP_I945_GME || \
devid == PCI_CHIP_I965_GM || \
devid == PCI_CHIP_I965_GME || \
- devid == PCI_CHIP_GM45_GM || IS_IGD(devid))
+ devid == PCI_CHIP_GM45_GM || IS_IGD(devid) || \
+ devid == PCI_CHIP_IVYBRIDGE_M_GT1 || \
+ devid == PCI_CHIP_IVYBRIDGE_M_GT2)
#define IS_G45(devid) (devid == PCI_CHIP_IGD_E_G || \
devid == PCI_CHIP_Q45_G || \
@@ -135,15 +143,28 @@
devid == PCI_CHIP_SANDYBRIDGE_M_GT2_PLUS || \
devid == PCI_CHIP_SANDYBRIDGE_S)
+#define IS_GEN7(devid) (devid == PCI_CHIP_IVYBRIDGE_M_GT1 || \
+ devid == PCI_CHIP_IVYBRIDGE_M_GT2 || \
+ devid == PCI_CHIP_IVYBRIDGE_D_GT1 || \
+ devid == PCI_CHIP_IVYBRIDGE_D_GT1_SERVER || \
+ devid == PCI_CHIP_IVYBRIDGE_D_GT2)
+
+
#define IS_965(devid) (IS_GEN4(devid) || \
IS_GEN5(devid) || \
- IS_GEN6(devid))
+ IS_GEN6(devid) || \
+ IS_GEN7(devid))
#define IS_INTEL(devid) (IS_GEN2(devid) || \
IS_GEN3(devid) || \
IS_GEN4(devid) || \
IS_GEN5(devid) || \
- IS_GEN6(devid))
+ IS_GEN6(devid) || \
+ IS_GEN7(devid))
#define HAS_PCH_SPLIT(devid) (IS_GEN5(devid) || \
- IS_GEN6(devid))
+ IS_GEN6(devid) || \
+ IS_GEN7(devid))
+
+#define HAS_BLT_RING(devid) (IS_GEN6(devid) || \
+ IS_GEN7(devid))
diff --git a/tests/gem_exec_blt.c b/tests/gem_exec_blt.c
index 9ea4c4e..19eb716 100644
--- a/tests/gem_exec_blt.c
+++ b/tests/gem_exec_blt.c
@@ -253,7 +253,7 @@ static void run(int object_size)
exec[2].rsvd2 = 0;
ring = 0;
- if (IS_GEN6(intel_get_drm_devid(fd)))
+ if (HAS_BLT_RING(intel_get_drm_devid(fd)))
ring = I915_EXEC_BLT;
execbuf.buffers_ptr = (uintptr_t)exec;
diff --git a/tests/gem_linear_blits.c b/tests/gem_linear_blits.c
index b408f8d..ae188ff 100644
--- a/tests/gem_linear_blits.c
+++ b/tests/gem_linear_blits.c
@@ -189,7 +189,7 @@ copy(int fd, uint32_t dst, uint32_t src)
exec.DR1 = exec.DR4 = 0;
exec.num_cliprects = 0;
exec.cliprects_ptr = 0;
- exec.flags = IS_GEN6(intel_get_drm_devid(fd)) ? I915_EXEC_BLT : 0;
+ exec.flags = HAS_BLT_RING(intel_get_drm_devid(fd)) ? I915_EXEC_BLT : 0;
exec.rsvd1 = exec.rsvd2 = 0;
ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_EXECBUFFER2, &exec);
diff --git a/tools/intel_gpu_dump.c b/tools/intel_gpu_dump.c
index 0049f64..74acd3d 100644
--- a/tools/intel_gpu_dump.c
+++ b/tools/intel_gpu_dump.c
@@ -328,7 +328,7 @@ main (int argc, char *argv[])
printf("ESR: 0x%08x\n", INREG(ESR));
printf("PGTBL_ER: 0x%08x\n", INREG(PGTBL_ER));
- if (IS_GEN6(devid)) {
+ if (IS_GEN6(devid) || IS_GEN7(devid)) {
instdone = INREG(GEN6_INSTDONE_1);
instdone1 = INREG(GEN6_INSTDONE_2);
--
1.7.4.4
More information about the Intel-gfx
mailing list