* [PATCH 1/3] drm/i915 Add golden context support for Gen9
@ 2014-09-12 18:25 armin.c.reese
2014-09-12 18:25 ` [PATCH 2/3] drm/i915: Alternate batch buffer end for golden context BB armin.c.reese
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: armin.c.reese @ 2014-09-12 18:25 UTC (permalink / raw)
To: intel-gfx
From: Armin Reese <armin.c.reese@intel.com>
This patch includes the Gen9 batch buffer to generate
a 'golden context' for that product family.
Also:
1) IS_GEN9 macro has been added to drivers/gpu/drm/i915/i915_drv.h
2) drivers/gpu/drm/i915/intel_renderstate_gen8.c has been updated
to the version created by IGT null_state_gen
Signed-off-by: Armin Reese <armin.c.reese@intel.com>
---
drivers/gpu/drm/i915/Makefile | 3 +-
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +
drivers/gpu/drm/i915/intel_renderstate.h | 1 +
drivers/gpu/drm/i915/intel_renderstate_gen6.c | 23 +
drivers/gpu/drm/i915/intel_renderstate_gen7.c | 23 +
drivers/gpu/drm/i915/intel_renderstate_gen8.c | 831 +++++++++++++++++-----
drivers/gpu/drm/i915/intel_renderstate_gen9.c | 981 ++++++++++++++++++++++++++
8 files changed, 1699 insertions(+), 166 deletions(-)
create mode 100644 drivers/gpu/drm/i915/intel_renderstate_gen9.c
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index c1dd485..2caf4f4 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -38,7 +38,8 @@ i915-y += i915_cmd_parser.o \
# autogenerated null render state
i915-y += intel_renderstate_gen6.o \
intel_renderstate_gen7.o \
- intel_renderstate_gen8.o
+ intel_renderstate_gen8.o \
+ intel_renderstate_gen9.o
# modesetting core code
i915-y += intel_bios.o \
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 17dfce0..7d9f091 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2122,6 +2122,7 @@ struct drm_i915_cmd_table {
#define IS_GEN6(dev) (INTEL_INFO(dev)->gen == 6)
#define IS_GEN7(dev) (INTEL_INFO(dev)->gen == 7)
#define IS_GEN8(dev) (INTEL_INFO(dev)->gen == 8)
+#define IS_GEN9(dev) (INTEL_INFO(dev)->gen == 9)
#define RENDER_RING (1<<RCS)
#define BSD_RING (1<<VCS)
diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
index a9a62d7..98dcd94 100644
--- a/drivers/gpu/drm/i915/i915_gem_render_state.c
+++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
@@ -38,6 +38,8 @@ render_state_get_rodata(struct drm_device *dev, const int gen)
return &gen7_null_state;
case 8:
return &gen8_null_state;
+ case 9:
+ return &gen9_null_state;
}
return NULL;
diff --git a/drivers/gpu/drm/i915/intel_renderstate.h b/drivers/gpu/drm/i915/intel_renderstate.h
index 6c792d3..5bd6985 100644
--- a/drivers/gpu/drm/i915/intel_renderstate.h
+++ b/drivers/gpu/drm/i915/intel_renderstate.h
@@ -29,6 +29,7 @@
extern const struct intel_renderstate_rodata gen6_null_state;
extern const struct intel_renderstate_rodata gen7_null_state;
extern const struct intel_renderstate_rodata gen8_null_state;
+extern const struct intel_renderstate_rodata gen9_null_state;
#define RO_RENDERSTATE(_g) \
const struct intel_renderstate_rodata gen ## _g ## _null_state = { \
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen6.c b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
index 56c1429..c2568a7 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
@@ -1,3 +1,26 @@
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
#include "intel_renderstate.h"
static const u32 gen6_null_state_relocs[] = {
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen7.c b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
index 419e35a..e14aec5 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
@@ -1,3 +1,26 @@
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
#include "intel_renderstate.h"
static const u32 gen7_null_state_relocs[] = {
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen8.c b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
index 75ef1b5d..88991e2 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
@@ -1,81 +1,166 @@
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
#include "intel_renderstate.h"
static const u32 gen8_null_state_relocs[] = {
- 0x00000048,
- 0x00000050,
- 0x00000060,
- 0x000003ec,
+ 0x00000784,
+ 0x00000790,
+ 0x00000798,
+ 0x000007a8,
-1,
};
static const u32 gen8_null_state_batch[] = {
+ 0x7a000004,
+ 0x01000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x69040000,
- 0x61020001,
+ 0x78140000,
+ 0x04000000,
+ 0x7820000a,
0x00000000,
0x00000000,
- 0x79120000,
+ 0x80000000,
0x00000000,
- 0x79130000,
0x00000000,
- 0x79140000,
0x00000000,
- 0x79150000,
0x00000000,
- 0x79160000,
0x00000000,
- 0x6101000e,
- 0x00000001,
0x00000000,
- 0x00000001,
- 0x00000001, /* reloc */
0x00000000,
- 0x00000001, /* reloc */
+ 0x00000000,
+ 0x78130002,
+ 0x00000000,
+ 0x00000000,
+ 0x02001808,
+ 0x781f0002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78510009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78100007,
+ 0x00000000,
+ 0x00000000,
+ 0x00010000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781b0007,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000800,
+ 0x00000000,
+ 0x78110008,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781e0003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781d0007,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78120002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781c0002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x780c0000,
+ 0x00000000,
+ 0x78520003,
0x00000000,
0x00000000,
0x00000000,
- 0x00000001, /* reloc */
0x00000000,
- 0xfffff001,
- 0x00001001,
- 0xfffff001,
- 0x00001001,
- 0x78230000,
- 0x000006e0,
- 0x78210000,
- 0x00000700,
0x78300000,
0x08010040,
- 0x78330000,
- 0x08000000,
0x78310000,
- 0x08000000,
+ 0x1e000000,
0x78320000,
- 0x08000000,
- 0x78240000,
- 0x00000641,
- 0x780e0000,
- 0x00000601,
- 0x780d0000,
+ 0x1e000000,
+ 0x78330000,
+ 0x1e000000,
+ 0x79190002,
0x00000000,
- 0x78180000,
- 0x00000001,
- 0x78520003,
0x00000000,
0x00000000,
+ 0x791a0002,
0x00000000,
0x00000000,
- 0x78190009,
0x00000000,
+ 0x791b0002,
0x00000000,
0x00000000,
0x00000000,
+ 0x79120000,
0x00000000,
+ 0x79130000,
0x00000000,
+ 0x79140000,
0x00000000,
+ 0x79150000,
0x00000000,
+ 0x79160000,
0x00000000,
+ 0x78150009,
0x00000000,
- 0x781b0007,
0x00000000,
0x00000000,
0x00000000,
@@ -84,11 +169,26 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x78270000,
0x00000000,
- 0x782c0000,
+ 0x78190009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781a0009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x00000000,
- 0x781c0002,
0x00000000,
0x00000000,
0x00000000,
@@ -103,7 +203,7 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x78110008,
+ 0x78170009,
0x00000000,
0x00000000,
0x00000000,
@@ -113,14 +213,17 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x78290000,
0x00000000,
- 0x782e0000,
+ 0x78490001,
0x00000000,
- 0x781a0009,
0x00000000,
+ 0x784a0000,
0x00000000,
+ 0x784b0000,
+ 0x00000004,
+ 0x79170101,
0x00000000,
+ 0x00000080,
0x00000000,
0x00000000,
0x00000000,
@@ -128,7 +231,6 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x781d0007,
0x00000000,
0x00000000,
0x00000000,
@@ -137,15 +239,10 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x78280000,
0x00000000,
- 0x782d0000,
0x00000000,
- 0x78260000,
0x00000000,
- 0x782b0000,
0x00000000,
- 0x78150009,
0x00000000,
0x00000000,
0x00000000,
@@ -156,7 +253,6 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x78100007,
0x00000000,
0x00000000,
0x00000000,
@@ -165,20 +261,15 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x781e0003,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
- 0x78120002,
0x00000000,
0x00000000,
0x00000000,
- 0x781f0002,
- 0x30400820,
0x00000000,
0x00000000,
- 0x78510009,
0x00000000,
0x00000000,
0x00000000,
@@ -189,22 +280,12 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x78500003,
- 0x00210000,
0x00000000,
0x00000000,
0x00000000,
- 0x78130002,
0x00000000,
0x00000000,
0x00000000,
- 0x782a0000,
- 0x00000480,
- 0x782f0000,
- 0x00000540,
- 0x78140000,
- 0x00000800,
- 0x78170009,
0x00000000,
0x00000000,
0x00000000,
@@ -215,25 +296,13 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x7820000a,
- 0x00000580,
0x00000000,
- 0x08080000,
0x00000000,
0x00000000,
- 0x1f000002,
- 0x00060000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
- 0x784d0000,
- 0x40000000,
- 0x784f0000,
- 0x80000100,
- 0x780f0000,
- 0x00000740,
- 0x78050006,
0x00000000,
0x00000000,
0x00000000,
@@ -241,48 +310,25 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x78070003,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
- 0x78060003,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
- 0x78040001,
0x00000000,
- 0x00000001,
- 0x79000002,
- 0xffffffff,
0x00000000,
0x00000000,
- 0x78080003,
- 0x00006000,
- 0x000005e0, /* reloc */
0x00000000,
0x00000000,
- 0x78090005,
- 0x02000000,
- 0x22220000,
- 0x02f60000,
- 0x11230000,
- 0x02850004,
- 0x11230000,
- 0x784b0000,
- 0x0000000f,
- 0x78490001,
0x00000000,
0x00000000,
- 0x7b000005,
0x00000000,
- 0x00000003,
0x00000000,
- 0x00000001,
0x00000000,
0x00000000,
- 0x05000000, /* cmds end */
0x00000000,
0x00000000,
0x00000000,
@@ -297,8 +343,6 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x000004c0, /* state start */
- 0x00000500,
0x00000000,
0x00000000,
0x00000000,
@@ -348,7 +392,6 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x00000092,
0x00000000,
0x00000000,
0x00000000,
@@ -361,30 +404,6 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x0060005a,
- 0x21403ae8,
- 0x3a0000c0,
- 0x008d0040,
- 0x0060005a,
- 0x21603ae8,
- 0x3a0000c0,
- 0x008d0080,
- 0x0060005a,
- 0x21803ae8,
- 0x3a0000d0,
- 0x008d0040,
- 0x0060005a,
- 0x21a03ae8,
- 0x3a0000d0,
- 0x008d0080,
- 0x02800031,
- 0x2e0022e8,
- 0x0e000140,
- 0x08840001,
- 0x05800031,
- 0x200022e0,
- 0x0e000e00,
- 0x90031000,
0x00000000,
0x00000000,
0x00000000,
@@ -410,38 +429,6 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
- 0x06200000,
- 0x00000002,
0x00000000,
0x00000000,
0x00000000,
@@ -449,8 +436,6 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0xf99a130c,
- 0x799a130c,
0x00000000,
0x00000000,
0x00000000,
@@ -466,9 +451,525 @@ static const u32 gen8_null_state_batch[] = {
0x00000000,
0x00000000,
0x00000000,
- 0x3f800000,
0x00000000,
- 0x3f800000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x20000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x60000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x6101000e,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00000000,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00000001,
+ 0x00000000,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00001001,
+ 0x00001001,
+ 0x00000001,
+ 0x00001001,
+ 0x61020001,
+ 0x00000000,
+ 0x00000000,
+ 0x79000002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78050006,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0xc0000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79080001,
+ 0x00000000,
+ 0x00000000,
+ 0x790a0001,
+ 0x00000000,
+ 0x00000000,
+ 0x78060003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78070003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78040001,
+ 0x00000000,
+ 0x00000000,
+ 0x79110000,
+ 0x00000000,
+ 0x780d0000,
+ 0x00000000,
+ 0x79060000,
+ 0x00000000,
+ 0x7907001f,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7902000f,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x790c000f,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x780a0003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78080083,
+ 0x00004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x04004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x0c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x14004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x18004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x1c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x20004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x24004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x28004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x2c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x30004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x34004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x38004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x44004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x48004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x4c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x50004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x54004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x58004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x5c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x60004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x64004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x68004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x6c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x70004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x74004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x80004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78090043,
+ 0x02000000,
+ 0x22220000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x680b0001,
+ 0x78260000,
+ 0x00000000,
+ 0x78270000,
+ 0x00000000,
+ 0x78280000,
+ 0x00000000,
+ 0x78290000,
+ 0x00000000,
+ 0x782a0000,
+ 0x00000000,
+ 0x780e0000,
+ 0x00000dc1,
+ 0x78240000,
+ 0x00000e01,
+ 0x784f0000,
+ 0x80000100,
+ 0x784d0000,
+ 0x40000000,
+ 0x782b0000,
+ 0x00000000,
+ 0x782c0000,
+ 0x00000000,
+ 0x782d0000,
+ 0x00000000,
+ 0x782e0000,
+ 0x00000000,
+ 0x782f0000,
+ 0x00000000,
+ 0x780f0000,
+ 0x00000000,
+ 0x78230000,
+ 0x00000e60,
+ 0x78210000,
+ 0x00000e80,
+ 0x7b000005,
+ 0x00000004,
+ 0x00000001,
+ 0x00000000,
+ 0x00000001,
+ 0x00000000,
+ 0x00000000,
+ 0x05000000, /* cmds end */
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000, /* state start */
+ 0x00000000,
+ 0x3f800000,
+ 0x3f800000,
+ 0x3f800000,
+ 0x3f800000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x00000000,
0x00000000,
0x00000000,
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen9.c b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
new file mode 100644
index 0000000..e1ea838
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
@@ -0,0 +1,981 @@
+/*
+ * Copyright © 2014 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include "intel_renderstate.h"
+
+static const u32 gen9_null_state_relocs[] = {
+ 0x00000794,
+ 0x000007a0,
+ 0x000007a8,
+ 0x000007b8,
+ -1,
+};
+
+static const u32 gen9_null_state_batch[] = {
+ 0x7a000004,
+ 0x01000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x69040300,
+ 0x78140000,
+ 0x04000000,
+ 0x7820000a,
+ 0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78130002,
+ 0x00000000,
+ 0x00000000,
+ 0x02001808,
+ 0x781f0004,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78510009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78100007,
+ 0x00000000,
+ 0x00000000,
+ 0x00010000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781b0007,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000800,
+ 0x00000000,
+ 0x78110008,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781e0003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781d0009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78120002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781c0002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x780c0000,
+ 0x00000000,
+ 0x78520003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78300000,
+ 0x08010040,
+ 0x78310000,
+ 0x1e000000,
+ 0x78320000,
+ 0x1e000000,
+ 0x78330000,
+ 0x1e000000,
+ 0x79190002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x791a0002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x791b0002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79120000,
+ 0x00000000,
+ 0x79130000,
+ 0x00000000,
+ 0x79140000,
+ 0x00000000,
+ 0x79150000,
+ 0x00000000,
+ 0x79160000,
+ 0x00000000,
+ 0x78150009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78190009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x781a0009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78160009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78170009,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78490001,
+ 0x00000000,
+ 0x00000000,
+ 0x784a0000,
+ 0x00000000,
+ 0x784b0000,
+ 0x00000004,
+ 0x79170101,
+ 0x00000000,
+ 0x00000080,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x20000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79180006,
+ 0x60000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x61010011,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00000000,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00000001,
+ 0x00000000,
+ 0x00000001, /* reloc */
+ 0x00000000,
+ 0x00001001,
+ 0x00001001,
+ 0x00000001,
+ 0x00001001,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x61020001,
+ 0x00000000,
+ 0x00000000,
+ 0x79000002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78050006,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79040002,
+ 0xc0000000,
+ 0x00000000,
+ 0x00000000,
+ 0x79080001,
+ 0x00000000,
+ 0x00000000,
+ 0x790a0001,
+ 0x00000000,
+ 0x00000000,
+ 0x78060003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78070003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78040001,
+ 0x00000000,
+ 0x00000000,
+ 0x79110000,
+ 0x00000000,
+ 0x780d0000,
+ 0x00000000,
+ 0x79060000,
+ 0x00000000,
+ 0x7907001f,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7902000f,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x790c000f,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x780a0003,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78080083,
+ 0x00004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x04004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x0c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x14004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x18004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x1c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x20004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x24004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x28004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x2c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x30004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x34004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x38004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x44004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x48004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x4c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x50004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x54004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x58004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x5c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x60004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x64004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x68004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x6c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x70004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x74004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x80004000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x78090043,
+ 0x02000000,
+ 0x22220000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x680b0001,
+ 0x780e0000,
+ 0x00000dc1,
+ 0x78240000,
+ 0x00000e01,
+ 0x784f0000,
+ 0x80000100,
+ 0x784d0000,
+ 0x40000000,
+ 0x782b0000,
+ 0x00000000,
+ 0x782c0000,
+ 0x00000000,
+ 0x782d0000,
+ 0x00000000,
+ 0x782e0000,
+ 0x00000000,
+ 0x782f0000,
+ 0x00000000,
+ 0x780f0000,
+ 0x00000000,
+ 0x78230000,
+ 0x00000e60,
+ 0x78210000,
+ 0x00000e80,
+ 0x78260000,
+ 0x00000000,
+ 0x78270000,
+ 0x00000000,
+ 0x78280000,
+ 0x00000000,
+ 0x78290000,
+ 0x00000000,
+ 0x782a0000,
+ 0x00000000,
+ 0x7b000005,
+ 0x00000004,
+ 0x00000001,
+ 0x00000000,
+ 0x00000001,
+ 0x00000000,
+ 0x00000000,
+ 0x05000000, /* cmds end */
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000, /* state start */
+ 0x00000000,
+ 0x3f800000,
+ 0x3f800000,
+ 0x3f800000,
+ 0x3f800000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000, /* state end */
+};
+
+RO_RENDERSTATE(9);
--
1.9.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] drm/i915: Alternate batch buffer end for golden context BB
2014-09-12 18:25 [PATCH 1/3] drm/i915 Add golden context support for Gen9 armin.c.reese
@ 2014-09-12 18:25 ` armin.c.reese
2014-09-12 18:25 ` [PATCH 3/3] drm/i915: Add debugfs file to dump entire logical context armin.c.reese
2014-09-13 0:07 ` [PATCH 1/3] drm/i915 Add golden context support for Gen9 Volkin, Bradley D
2 siblings, 0 replies; 5+ messages in thread
From: armin.c.reese @ 2014-09-12 18:25 UTC (permalink / raw)
To: intel-gfx
From: Armin Reese <armin.c.reese@intel.com>
Golden context batch buffers now can contain a set of offsets in
which to optionally place MI_BATCH_BUFFER_END commands. This
allows the driver to customize the GC batch for various chipsets
in a family by requesting that the GC BB exit early for one chipset
to prevent execution of GPU commands intended for another chipset
in the same GEN family.
Signed-off-by: Armin Reese <armin.c.reese@intel.com>
---
drivers/gpu/drm/i915/i915_gem_render_state.c | 59 +++++++++++++++++++++++++--
drivers/gpu/drm/i915/i915_gem_render_state.h | 2 +
drivers/gpu/drm/i915/intel_renderstate.h | 14 +++++--
drivers/gpu/drm/i915/intel_renderstate_gen6.c | 6 ++-
drivers/gpu/drm/i915/intel_renderstate_gen7.c | 6 ++-
drivers/gpu/drm/i915/intel_renderstate_gen8.c | 4 ++
drivers/gpu/drm/i915/intel_renderstate_gen9.c | 29 +++++++++++--
7 files changed, 106 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
index 98dcd94..80aeff9 100644
--- a/drivers/gpu/drm/i915/i915_gem_render_state.c
+++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
@@ -45,6 +45,44 @@ render_state_get_rodata(struct drm_device *dev, const int gen)
return NULL;
}
+/**
+ * Alternate batch buffer end offsets defined in intel_renderstate_genx.c
+ * are locations in the golden context batch buffer where MI_BATCH_BUFFER_END
+ * commands can be optionally inserted. BB end commands can be added to
+ * terminate the GC BB early and thus customize the BB for product variations
+ * in a given GEN family.
+ */
+static int insert_alternate_bbend(struct drm_device *dev,
+ const struct intel_renderstate_rodata *rodata,
+ u32 *d)
+{
+ int index = -1; /* Default to no alternate bbend index */
+
+ /* For GEN9, exit golden context BB before executing all commands */
+ if (IS_GEN9(dev))
+ index = 0;
+
+ /* Write MI_BATCH_BUFFER_END at valid location */
+ if (index >= 0) {
+ if (index < rodata->alternate_bbend_items) {
+ int bbend_offset;
+
+ bbend_offset = rodata->alternate_bbend_offsets[index];
+
+ /* Check for DWORD aligned address, et al */
+ if ((bbend_offset <= 0) ||
+ (bbend_offset > PAGE_SIZE - sizeof(u32)) ||
+ ((bbend_offset & (sizeof(u32) - 1)) != 0))
+ return -EINVAL;
+
+ d[bbend_offset/sizeof(u32)] = MI_BATCH_BUFFER_END;
+ } else
+ return -EINVAL;
+ }
+
+ return 0;
+}
+
static int render_state_init(struct render_state *so, struct drm_device *dev)
{
int ret;
@@ -73,7 +111,7 @@ free_gem:
return ret;
}
-static int render_state_setup(struct render_state *so)
+static int render_state_setup(struct render_state *so, struct drm_device *dev)
{
const struct intel_renderstate_rodata *rodata = so->rodata;
unsigned int i = 0, reloc_index = 0;
@@ -89,10 +127,11 @@ static int render_state_setup(struct render_state *so)
d = kmap(page);
while (i < rodata->batch_items) {
- u32 s = rodata->batch[i];
+ u32 s = rodata->batch[i]; /* DWORD from R/O batch */
if (i * 4 == rodata->reloc[reloc_index]) {
- u64 r = s + so->ggtt_offset;
+ u64 r = s + /* Object offset stored in reloc DWORD */
+ so->ggtt_offset; /* Batch buffer gfx offset */
s = lower_32_bits(r);
if (so->gen >= 8) {
if (i + 1 >= rodata->batch_items ||
@@ -108,8 +147,20 @@ static int render_state_setup(struct render_state *so)
d[i++] = s;
}
+
+ /* Any alternate BB end entries? */
+ if (rodata->alternate_bbend_offsets[0] != -1)
+ ret = insert_alternate_bbend(dev, rodata, d);
+ else
+ ret = 0;
+
kunmap(page);
+ if (ret) {
+ DRM_ERROR("invalid alternate batch buffer end\n");
+ return ret;
+ }
+
ret = i915_gem_object_set_to_gtt_domain(so->obj, false);
if (ret)
return ret;
@@ -143,7 +194,7 @@ int i915_gem_render_state_prepare(struct intel_engine_cs *ring,
if (so->rodata == NULL)
return 0;
- ret = render_state_setup(so);
+ ret = render_state_setup(so, ring->dev);
if (ret) {
i915_gem_render_state_fini(so);
return ret;
diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.h b/drivers/gpu/drm/i915/i915_gem_render_state.h
index c44961e..3f540c8 100644
--- a/drivers/gpu/drm/i915/i915_gem_render_state.h
+++ b/drivers/gpu/drm/i915/i915_gem_render_state.h
@@ -28,6 +28,8 @@
struct intel_renderstate_rodata {
const u32 *reloc;
+ const u32 *alternate_bbend_offsets;
+ const u32 alternate_bbend_items;
const u32 *batch;
const u32 batch_items;
};
diff --git a/drivers/gpu/drm/i915/intel_renderstate.h b/drivers/gpu/drm/i915/intel_renderstate.h
index 5bd6985..8d5d975 100644
--- a/drivers/gpu/drm/i915/intel_renderstate.h
+++ b/drivers/gpu/drm/i915/intel_renderstate.h
@@ -31,11 +31,17 @@ extern const struct intel_renderstate_rodata gen7_null_state;
extern const struct intel_renderstate_rodata gen8_null_state;
extern const struct intel_renderstate_rodata gen9_null_state;
-#define RO_RENDERSTATE(_g) \
+#define RO_RENDERSTATE(_g) \
const struct intel_renderstate_rodata gen ## _g ## _null_state = { \
- .reloc = gen ## _g ## _null_state_relocs, \
- .batch = gen ## _g ## _null_state_batch, \
- .batch_items = sizeof(gen ## _g ## _null_state_batch)/4, \
+ .reloc = gen ## _g ## _null_state_relocs, \
+ .alternate_bbend_offsets = \
+ gen ## _g ## _alternate_bbend_offsets, \
+ .alternate_bbend_items = \
+ sizeof(gen ## _g ## _alternate_bbend_offsets) / \
+ sizeof(u32), \
+ .batch = gen ## _g ## _null_state_batch, \
+ .batch_items = sizeof(gen ## _g ## _null_state_batch) / \
+ sizeof(u32) \
}
#endif /* INTEL_RENDERSTATE_H */
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen6.c b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
index c2568a7..95e30f8 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
@@ -29,7 +29,11 @@ static const u32 gen6_null_state_relocs[] = {
0x0000002c,
0x000001e0,
0x000001e4,
- -1,
+ -1
+};
+
+static const u32 gen6_alternate_bbend_offsets[] = {
+ -1
};
static const u32 gen6_null_state_batch[] = {
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen7.c b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
index e14aec5..c22b89f 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
@@ -28,7 +28,11 @@ static const u32 gen7_null_state_relocs[] = {
0x00000010,
0x00000018,
0x000001ec,
- -1,
+ -1
+};
+
+static const u32 gen7_alternate_bbend_offsets[] = {
+ -1
};
static const u32 gen7_null_state_batch[] = {
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen8.c b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
index 88991e2..282012e 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
@@ -31,6 +31,10 @@ static const u32 gen8_null_state_relocs[] = {
-1,
};
+static const u32 gen8_alternate_bbend_offsets[] = {
+ -1
+};
+
static const u32 gen8_null_state_batch[] = {
0x7a000004,
0x01000000,
diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen9.c b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
index e1ea838..eca1384 100644
--- a/drivers/gpu/drm/i915/intel_renderstate_gen9.c
+++ b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
@@ -31,6 +31,11 @@ static const u32 gen9_null_state_relocs[] = {
-1,
};
+static const u32 gen9_alternate_bbend_offsets[] = {
+ 0x00000dac,
+ -1
+};
+
static const u32 gen9_null_state_batch[] = {
0x7a000004,
0x01000000,
@@ -867,9 +872,9 @@ static const u32 gen9_null_state_batch[] = {
0x00000000,
0x680b0001,
0x780e0000,
- 0x00000dc1,
- 0x78240000,
0x00000e01,
+ 0x78240000,
+ 0x00000e41,
0x784f0000,
0x80000100,
0x784d0000,
@@ -887,9 +892,9 @@ static const u32 gen9_null_state_batch[] = {
0x780f0000,
0x00000000,
0x78230000,
- 0x00000e60,
+ 0x00000ea0,
0x78210000,
- 0x00000e80,
+ 0x00000ec0,
0x78260000,
0x00000000,
0x78270000,
@@ -907,11 +912,27 @@ static const u32 gen9_null_state_batch[] = {
0x00000001,
0x00000000,
0x00000000,
+ 0x00000000, /* alternate bbend */
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x05000000, /* cmds end */
0x00000000,
0x00000000,
0x00000000,
0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
0x00000000, /* state start */
0x00000000,
0x3f800000,
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] drm/i915: Add debugfs file to dump entire logical context
2014-09-12 18:25 [PATCH 1/3] drm/i915 Add golden context support for Gen9 armin.c.reese
2014-09-12 18:25 ` [PATCH 2/3] drm/i915: Alternate batch buffer end for golden context BB armin.c.reese
@ 2014-09-12 18:25 ` armin.c.reese
2014-09-13 0:07 ` [PATCH 1/3] drm/i915 Add golden context support for Gen9 Volkin, Bradley D
2 siblings, 0 replies; 5+ messages in thread
From: armin.c.reese @ 2014-09-12 18:25 UTC (permalink / raw)
To: intel-gfx
From: Armin Reese <armin.c.reese@intel.com>
The new 'i915_context_dump' file generates a hex dump of the
entire logical context DRM object. It is useful for
validating the contents of the default context set up by
the golden state batch buffer.
Signed-off-by: Armin Reese <armin.c.reese@intel.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 64 +++++++++++++++++++++++++++++++++++--
1 file changed, 62 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 063b448..345fc23 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -46,6 +46,11 @@ enum {
PINNED_LIST,
};
+enum {
+ NO_CONTEXT_DUMP,
+ CONTEXT_DUMP,
+};
+
static const char *yesno(int v)
{
return v ? "yes" : "no";
@@ -120,6 +125,51 @@ static inline const char *get_global_flag(struct drm_i915_gem_object *obj)
}
static void
+dump_32_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
+{
+ struct page *page;
+ size_t size; /* In bytes */
+ size_t start_dword, end_dword, end_row_dword; /* In uint32_t offsets */
+ int i, num_pages;
+ uint32_t *obj_ptr;
+
+ if (i915_gem_object_get_pages(obj))
+ return;
+
+ size = obj->base.size; /* In bytes */
+ num_pages = (size + PAGE_SIZE - 1) / PAGE_SIZE;
+
+ for (i = 0; i < num_pages; i++) {
+ page = i915_gem_object_get_page(obj, i);
+ drm_clflush_pages(&page, 1);
+
+ start_dword = (i * PAGE_SIZE) / sizeof(uint32_t);
+ end_dword = start_dword + (PAGE_SIZE / sizeof(uint32_t));
+ if ((end_dword * sizeof(uint32_t)) > size)
+ end_dword = size / sizeof(uint32_t);
+
+ obj_ptr = (uint32_t *)kmap_atomic(page);
+
+ while (start_dword < end_dword) {
+ end_row_dword = start_dword + 8;
+ if (end_row_dword > end_dword)
+ end_row_dword = end_dword;
+ seq_printf(m, "0x%08lx: ",
+ start_dword * sizeof(uint32_t));
+ while (start_dword < end_row_dword) {
+ seq_printf(m, "0x%08x ",
+ *(obj_ptr +
+ (start_dword & (PAGE_SIZE - 1))));
+ start_dword++;
+ }
+ seq_puts(m, "\n");
+ }
+
+ kunmap_atomic(obj_ptr);
+ }
+}
+
+static void
describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
{
struct i915_vma *vma;
@@ -1709,9 +1759,10 @@ static void describe_ctx_ringbuf(struct seq_file *m,
ringbuf->last_retired_head);
}
-static int i915_context_status(struct seq_file *m, void *unused)
+static int i915_context_status(struct seq_file *m, void *data)
{
struct drm_info_node *node = m->private;
+ uintptr_t dump_flag = (uintptr_t) node->info_ent->data;
struct drm_device *dev = node->minor->dev;
struct drm_i915_private *dev_priv = dev->dev_private;
struct intel_engine_cs *ring;
@@ -1758,8 +1809,16 @@ static int i915_context_status(struct seq_file *m, void *unused)
seq_printf(m, "%s: ", ring->name);
if (ctx_obj)
describe_obj(m, ctx_obj);
+
if (ringbuf)
describe_ctx_ringbuf(m, ringbuf);
+
+ if (ctx_obj &&
+ (dump_flag == CONTEXT_DUMP)) {
+ seq_puts(m, "\nContext Dump:\n");
+ dump_32_obj(m, ctx_obj);
+ }
+
seq_putc(m, '\n');
}
} else {
@@ -4170,7 +4229,8 @@ static const struct drm_info_list i915_debugfs_list[] = {
{"i915_sr_status", i915_sr_status, 0},
{"i915_opregion", i915_opregion, 0},
{"i915_gem_framebuffer", i915_gem_framebuffer_info, 0},
- {"i915_context_status", i915_context_status, 0},
+ {"i915_context_status", i915_context_status, 0, (void *)NO_CONTEXT_DUMP},
+ {"i915_context_dump", i915_context_status, 0, (void *)CONTEXT_DUMP},
{"i915_dump_lrc", i915_dump_lrc, 0},
{"i915_execlists", i915_execlists, 0},
{"i915_gen6_forcewake_count", i915_gen6_forcewake_count_info, 0},
--
1.9.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] drm/i915 Add golden context support for Gen9
2014-09-12 18:25 [PATCH 1/3] drm/i915 Add golden context support for Gen9 armin.c.reese
2014-09-12 18:25 ` [PATCH 2/3] drm/i915: Alternate batch buffer end for golden context BB armin.c.reese
2014-09-12 18:25 ` [PATCH 3/3] drm/i915: Add debugfs file to dump entire logical context armin.c.reese
@ 2014-09-13 0:07 ` Volkin, Bradley D
2014-09-15 16:03 ` Reese, Armin C
2 siblings, 1 reply; 5+ messages in thread
From: Volkin, Bradley D @ 2014-09-13 0:07 UTC (permalink / raw)
To: armin.c.reese; +Cc: intel-gfx
On Fri, Sep 12, 2014 at 11:25:14AM -0700, armin.c.reese@intel.com wrote:
> From: Armin Reese <armin.c.reese@intel.com>
>
> This patch includes the Gen9 batch buffer to generate
> a 'golden context' for that product family.
>
> Also:
> 1) IS_GEN9 macro has been added to drivers/gpu/drm/i915/i915_drv.h
> 2) drivers/gpu/drm/i915/intel_renderstate_gen8.c has been updated
> to the version created by IGT null_state_gen
Hi Armin,
We'll have to split these extra changes out into separate patches. Damien's SKL
series has the IS_GEN9 macro, which will cause a conflict. For the gen8 change,
better to have a separate patch since it's not strictly related.
I think that the preferred way to handle this situation, at least with respect
to the IS_GEN9 part, is to have a cover letter in which you document the patches
on which your series depends but don't include them in your series. You'll
obviously need to apply those changes locally, just as a separate patch that you
don't send with the series.
Will you be sending the null_state_gen patch that adds the code to generate this?
I'm not too good at reviewing hex dumps ;)
One other comment below...
>
> Signed-off-by: Armin Reese <armin.c.reese@intel.com>
> ---
> drivers/gpu/drm/i915/Makefile | 3 +-
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +
> drivers/gpu/drm/i915/intel_renderstate.h | 1 +
> drivers/gpu/drm/i915/intel_renderstate_gen6.c | 23 +
> drivers/gpu/drm/i915/intel_renderstate_gen7.c | 23 +
> drivers/gpu/drm/i915/intel_renderstate_gen8.c | 831 +++++++++++++++++-----
> drivers/gpu/drm/i915/intel_renderstate_gen9.c | 981 ++++++++++++++++++++++++++
> 8 files changed, 1699 insertions(+), 166 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/intel_renderstate_gen9.c
>
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index c1dd485..2caf4f4 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -38,7 +38,8 @@ i915-y += i915_cmd_parser.o \
> # autogenerated null render state
> i915-y += intel_renderstate_gen6.o \
> intel_renderstate_gen7.o \
> - intel_renderstate_gen8.o
> + intel_renderstate_gen8.o \
> + intel_renderstate_gen9.o
>
> # modesetting core code
> i915-y += intel_bios.o \
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index 17dfce0..7d9f091 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2122,6 +2122,7 @@ struct drm_i915_cmd_table {
> #define IS_GEN6(dev) (INTEL_INFO(dev)->gen == 6)
> #define IS_GEN7(dev) (INTEL_INFO(dev)->gen == 7)
> #define IS_GEN8(dev) (INTEL_INFO(dev)->gen == 8)
> +#define IS_GEN9(dev) (INTEL_INFO(dev)->gen == 9)
>
> #define RENDER_RING (1<<RCS)
> #define BSD_RING (1<<VCS)
> diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c b/drivers/gpu/drm/i915/i915_gem_render_state.c
> index a9a62d7..98dcd94 100644
> --- a/drivers/gpu/drm/i915/i915_gem_render_state.c
> +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
> @@ -38,6 +38,8 @@ render_state_get_rodata(struct drm_device *dev, const int gen)
> return &gen7_null_state;
> case 8:
> return &gen8_null_state;
> + case 9:
> + return &gen9_null_state;
> }
>
> return NULL;
> diff --git a/drivers/gpu/drm/i915/intel_renderstate.h b/drivers/gpu/drm/i915/intel_renderstate.h
> index 6c792d3..5bd6985 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate.h
> +++ b/drivers/gpu/drm/i915/intel_renderstate.h
> @@ -29,6 +29,7 @@
> extern const struct intel_renderstate_rodata gen6_null_state;
> extern const struct intel_renderstate_rodata gen7_null_state;
> extern const struct intel_renderstate_rodata gen8_null_state;
> +extern const struct intel_renderstate_rodata gen9_null_state;
>
> #define RO_RENDERSTATE(_g) \
> const struct intel_renderstate_rodata gen ## _g ## _null_state = { \
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen6.c b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> index 56c1429..c2568a7 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
I guess a separate patch for the non-gen9 license changes as well. And if
we don't already have patches for it, we probably want to update i-g-t to
generate the correct license header so we don't have to manually add it if
we ever update the golden state.
Brad
> #include "intel_renderstate.h"
>
> static const u32 gen6_null_state_relocs[] = {
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen7.c b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> index 419e35a..e14aec5 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> #include "intel_renderstate.h"
>
> static const u32 gen7_null_state_relocs[] = {
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen8.c b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> index 75ef1b5d..88991e2 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> @@ -1,81 +1,166 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> #include "intel_renderstate.h"
>
> static const u32 gen8_null_state_relocs[] = {
> - 0x00000048,
> - 0x00000050,
> - 0x00000060,
> - 0x000003ec,
> + 0x00000784,
> + 0x00000790,
> + 0x00000798,
> + 0x000007a8,
> -1,
> };
>
> static const u32 gen8_null_state_batch[] = {
> + 0x7a000004,
> + 0x01000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> 0x69040000,
> - 0x61020001,
> + 0x78140000,
> + 0x04000000,
> + 0x7820000a,
> 0x00000000,
> 0x00000000,
> - 0x79120000,
> + 0x80000000,
> 0x00000000,
> - 0x79130000,
> 0x00000000,
> - 0x79140000,
> 0x00000000,
> - 0x79150000,
> 0x00000000,
> - 0x79160000,
> 0x00000000,
> - 0x6101000e,
> - 0x00000001,
> 0x00000000,
> - 0x00000001,
> - 0x00000001, /* reloc */
> 0x00000000,
> - 0x00000001, /* reloc */
> + 0x00000000,
> + 0x78130002,
> + 0x00000000,
> + 0x00000000,
> + 0x02001808,
> + 0x781f0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78510009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78100007,
> + 0x00000000,
> + 0x00000000,
> + 0x00010000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781b0007,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000800,
> + 0x00000000,
> + 0x78110008,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781e0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781d0007,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78120002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781c0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780c0000,
> + 0x00000000,
> + 0x78520003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x00000001, /* reloc */
> 0x00000000,
> - 0xfffff001,
> - 0x00001001,
> - 0xfffff001,
> - 0x00001001,
> - 0x78230000,
> - 0x000006e0,
> - 0x78210000,
> - 0x00000700,
> 0x78300000,
> 0x08010040,
> - 0x78330000,
> - 0x08000000,
> 0x78310000,
> - 0x08000000,
> + 0x1e000000,
> 0x78320000,
> - 0x08000000,
> - 0x78240000,
> - 0x00000641,
> - 0x780e0000,
> - 0x00000601,
> - 0x780d0000,
> + 0x1e000000,
> + 0x78330000,
> + 0x1e000000,
> + 0x79190002,
> 0x00000000,
> - 0x78180000,
> - 0x00000001,
> - 0x78520003,
> 0x00000000,
> 0x00000000,
> + 0x791a0002,
> 0x00000000,
> 0x00000000,
> - 0x78190009,
> 0x00000000,
> + 0x791b0002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> + 0x79120000,
> 0x00000000,
> + 0x79130000,
> 0x00000000,
> + 0x79140000,
> 0x00000000,
> + 0x79150000,
> 0x00000000,
> + 0x79160000,
> 0x00000000,
> + 0x78150009,
> 0x00000000,
> - 0x781b0007,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -84,11 +169,26 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78270000,
> 0x00000000,
> - 0x782c0000,
> + 0x78190009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781a0009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> 0x00000000,
> - 0x781c0002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -103,7 +203,7 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78110008,
> + 0x78170009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -113,14 +213,17 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78290000,
> 0x00000000,
> - 0x782e0000,
> + 0x78490001,
> 0x00000000,
> - 0x781a0009,
> 0x00000000,
> + 0x784a0000,
> 0x00000000,
> + 0x784b0000,
> + 0x00000004,
> + 0x79170101,
> 0x00000000,
> + 0x00000080,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -128,7 +231,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x781d0007,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -137,15 +239,10 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78280000,
> 0x00000000,
> - 0x782d0000,
> 0x00000000,
> - 0x78260000,
> 0x00000000,
> - 0x782b0000,
> 0x00000000,
> - 0x78150009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -156,7 +253,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78100007,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -165,20 +261,15 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x781e0003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78120002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x781f0002,
> - 0x30400820,
> 0x00000000,
> 0x00000000,
> - 0x78510009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -189,22 +280,12 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78500003,
> - 0x00210000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78130002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x782a0000,
> - 0x00000480,
> - 0x782f0000,
> - 0x00000540,
> - 0x78140000,
> - 0x00000800,
> - 0x78170009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -215,25 +296,13 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x7820000a,
> - 0x00000580,
> 0x00000000,
> - 0x08080000,
> 0x00000000,
> 0x00000000,
> - 0x1f000002,
> - 0x00060000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x784d0000,
> - 0x40000000,
> - 0x784f0000,
> - 0x80000100,
> - 0x780f0000,
> - 0x00000740,
> - 0x78050006,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -241,48 +310,25 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78070003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78060003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78040001,
> 0x00000000,
> - 0x00000001,
> - 0x79000002,
> - 0xffffffff,
> 0x00000000,
> 0x00000000,
> - 0x78080003,
> - 0x00006000,
> - 0x000005e0, /* reloc */
> 0x00000000,
> 0x00000000,
> - 0x78090005,
> - 0x02000000,
> - 0x22220000,
> - 0x02f60000,
> - 0x11230000,
> - 0x02850004,
> - 0x11230000,
> - 0x784b0000,
> - 0x0000000f,
> - 0x78490001,
> 0x00000000,
> 0x00000000,
> - 0x7b000005,
> 0x00000000,
> - 0x00000003,
> 0x00000000,
> - 0x00000001,
> 0x00000000,
> 0x00000000,
> - 0x05000000, /* cmds end */
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -297,8 +343,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x000004c0, /* state start */
> - 0x00000500,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -348,7 +392,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x00000092,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -361,30 +404,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x0060005a,
> - 0x21403ae8,
> - 0x3a0000c0,
> - 0x008d0040,
> - 0x0060005a,
> - 0x21603ae8,
> - 0x3a0000c0,
> - 0x008d0080,
> - 0x0060005a,
> - 0x21803ae8,
> - 0x3a0000d0,
> - 0x008d0040,
> - 0x0060005a,
> - 0x21a03ae8,
> - 0x3a0000d0,
> - 0x008d0080,
> - 0x02800031,
> - 0x2e0022e8,
> - 0x0e000140,
> - 0x08840001,
> - 0x05800031,
> - 0x200022e0,
> - 0x0e000e00,
> - 0x90031000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -410,38 +429,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -449,8 +436,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0xf99a130c,
> - 0x799a130c,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -466,9 +451,525 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x3f800000,
> 0x00000000,
> - 0x3f800000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x20000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x60000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x6101000e,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00001001,
> + 0x00001001,
> + 0x00000001,
> + 0x00001001,
> + 0x61020001,
> + 0x00000000,
> + 0x00000000,
> + 0x79000002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78050006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x80000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0xc0000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79080001,
> + 0x00000000,
> + 0x00000000,
> + 0x790a0001,
> + 0x00000000,
> + 0x00000000,
> + 0x78060003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78070003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78040001,
> + 0x00000000,
> + 0x00000000,
> + 0x79110000,
> + 0x00000000,
> + 0x780d0000,
> + 0x00000000,
> + 0x79060000,
> + 0x00000000,
> + 0x7907001f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7902000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x790c000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780a0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78080083,
> + 0x00004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x04004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x08004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x0c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x10004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x14004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x18004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x1c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x20004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x24004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x28004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x2c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x30004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x34004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x38004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x3c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x40004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x44004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x48004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x4c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x50004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x54004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x58004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x5c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x60004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x64004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x68004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x6c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x70004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x74004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x80004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78090043,
> + 0x02000000,
> + 0x22220000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x680b0001,
> + 0x78260000,
> + 0x00000000,
> + 0x78270000,
> + 0x00000000,
> + 0x78280000,
> + 0x00000000,
> + 0x78290000,
> + 0x00000000,
> + 0x782a0000,
> + 0x00000000,
> + 0x780e0000,
> + 0x00000dc1,
> + 0x78240000,
> + 0x00000e01,
> + 0x784f0000,
> + 0x80000100,
> + 0x784d0000,
> + 0x40000000,
> + 0x782b0000,
> + 0x00000000,
> + 0x782c0000,
> + 0x00000000,
> + 0x782d0000,
> + 0x00000000,
> + 0x782e0000,
> + 0x00000000,
> + 0x782f0000,
> + 0x00000000,
> + 0x780f0000,
> + 0x00000000,
> + 0x78230000,
> + 0x00000e60,
> + 0x78210000,
> + 0x00000e80,
> + 0x7b000005,
> + 0x00000004,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000000,
> + 0x05000000, /* cmds end */
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000, /* state start */
> + 0x00000000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen9.c b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> new file mode 100644
> index 0000000..e1ea838
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> @@ -0,0 +1,981 @@
> +/*
> + * Copyright © 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining a
> + * copy of this software and associated documentation files (the "Software"),
> + * to deal in the Software without restriction, including without limitation
> + * the rights to use, copy, modify, merge, publish, distribute, sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including the next
> + * paragraph) shall be included in all copies or substantial portions of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> +#include "intel_renderstate.h"
> +
> +static const u32 gen9_null_state_relocs[] = {
> + 0x00000794,
> + 0x000007a0,
> + 0x000007a8,
> + 0x000007b8,
> + -1,
> +};
> +
> +static const u32 gen9_null_state_batch[] = {
> + 0x7a000004,
> + 0x01000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x69040300,
> + 0x78140000,
> + 0x04000000,
> + 0x7820000a,
> + 0x00000000,
> + 0x00000000,
> + 0x80000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78130002,
> + 0x00000000,
> + 0x00000000,
> + 0x02001808,
> + 0x781f0004,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78510009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78100007,
> + 0x00000000,
> + 0x00000000,
> + 0x00010000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781b0007,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000800,
> + 0x00000000,
> + 0x78110008,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781e0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781d0009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78120002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781c0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780c0000,
> + 0x00000000,
> + 0x78520003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78300000,
> + 0x08010040,
> + 0x78310000,
> + 0x1e000000,
> + 0x78320000,
> + 0x1e000000,
> + 0x78330000,
> + 0x1e000000,
> + 0x79190002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x791a0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x791b0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79120000,
> + 0x00000000,
> + 0x79130000,
> + 0x00000000,
> + 0x79140000,
> + 0x00000000,
> + 0x79150000,
> + 0x00000000,
> + 0x79160000,
> + 0x00000000,
> + 0x78150009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78190009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781a0009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78160009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78170009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78490001,
> + 0x00000000,
> + 0x00000000,
> + 0x784a0000,
> + 0x00000000,
> + 0x784b0000,
> + 0x00000004,
> + 0x79170101,
> + 0x00000000,
> + 0x00000080,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x20000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x60000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x61010011,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00001001,
> + 0x00001001,
> + 0x00000001,
> + 0x00001001,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x61020001,
> + 0x00000000,
> + 0x00000000,
> + 0x79000002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78050006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x80000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0xc0000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79080001,
> + 0x00000000,
> + 0x00000000,
> + 0x790a0001,
> + 0x00000000,
> + 0x00000000,
> + 0x78060003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78070003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78040001,
> + 0x00000000,
> + 0x00000000,
> + 0x79110000,
> + 0x00000000,
> + 0x780d0000,
> + 0x00000000,
> + 0x79060000,
> + 0x00000000,
> + 0x7907001f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7902000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x790c000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780a0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78080083,
> + 0x00004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x04004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x08004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x0c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x10004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x14004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x18004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x1c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x20004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x24004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x28004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x2c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x30004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x34004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x38004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x3c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x40004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x44004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x48004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x4c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x50004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x54004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x58004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x5c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x60004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x64004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x68004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x6c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x70004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x74004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x80004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78090043,
> + 0x02000000,
> + 0x22220000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x680b0001,
> + 0x780e0000,
> + 0x00000dc1,
> + 0x78240000,
> + 0x00000e01,
> + 0x784f0000,
> + 0x80000100,
> + 0x784d0000,
> + 0x40000000,
> + 0x782b0000,
> + 0x00000000,
> + 0x782c0000,
> + 0x00000000,
> + 0x782d0000,
> + 0x00000000,
> + 0x782e0000,
> + 0x00000000,
> + 0x782f0000,
> + 0x00000000,
> + 0x780f0000,
> + 0x00000000,
> + 0x78230000,
> + 0x00000e60,
> + 0x78210000,
> + 0x00000e80,
> + 0x78260000,
> + 0x00000000,
> + 0x78270000,
> + 0x00000000,
> + 0x78280000,
> + 0x00000000,
> + 0x78290000,
> + 0x00000000,
> + 0x782a0000,
> + 0x00000000,
> + 0x7b000005,
> + 0x00000004,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000000,
> + 0x05000000, /* cmds end */
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000, /* state start */
> + 0x00000000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000, /* state end */
> +};
> +
> +RO_RENDERSTATE(9);
> --
> 1.9.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] drm/i915 Add golden context support for Gen9
2014-09-13 0:07 ` [PATCH 1/3] drm/i915 Add golden context support for Gen9 Volkin, Bradley D
@ 2014-09-15 16:03 ` Reese, Armin C
0 siblings, 0 replies; 5+ messages in thread
From: Reese, Armin C @ 2014-09-15 16:03 UTC (permalink / raw)
To: Volkin, Bradley D; +Cc: intel-gfx
Hi Brad,
Thanks for the comments. I'll have to find Damien's SKL patches. I know he's been on vacation and I haven't looked for them. Mika Kuoppala is submitting the IGT patches for null_state_gen. They are related to mine, in a sense, since they generate the intel_renderstate_genx.c files. But I don't think the IGT and kernel patches have to be submitted together.
Yeah, HEX dumps are pretty cruel. I had to look at them in the windows driver, but I used our internal tools to disassemble them.
As far as the license header goes, I did add them in manually because the null_state_gen program simply generates the code. Is there a location in the git repository for the standard license header?
Thanks,
Armin
-----Original Message-----
From: Volkin, Bradley D
Sent: Friday, September 12, 2014 5:07 PM
To: Reese, Armin C
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [Intel-gfx] [PATCH 1/3] drm/i915 Add golden context support for Gen9
On Fri, Sep 12, 2014 at 11:25:14AM -0700, armin.c.reese@intel.com wrote:
> From: Armin Reese <armin.c.reese@intel.com>
>
> This patch includes the Gen9 batch buffer to generate a 'golden
> context' for that product family.
>
> Also:
> 1) IS_GEN9 macro has been added to drivers/gpu/drm/i915/i915_drv.h
> 2) drivers/gpu/drm/i915/intel_renderstate_gen8.c has been updated
> to the version created by IGT null_state_gen
Hi Armin,
We'll have to split these extra changes out into separate patches. Damien's SKL series has the IS_GEN9 macro, which will cause a conflict. For the gen8 change, better to have a separate patch since it's not strictly related.
I think that the preferred way to handle this situation, at least with respect to the IS_GEN9 part, is to have a cover letter in which you document the patches on which your series depends but don't include them in your series. You'll obviously need to apply those changes locally, just as a separate patch that you don't send with the series.
Will you be sending the null_state_gen patch that adds the code to generate this?
I'm not too good at reviewing hex dumps ;)
One other comment below...
>
> Signed-off-by: Armin Reese <armin.c.reese@intel.com>
> ---
> drivers/gpu/drm/i915/Makefile | 3 +-
> drivers/gpu/drm/i915/i915_drv.h | 1 +
> drivers/gpu/drm/i915/i915_gem_render_state.c | 2 +
> drivers/gpu/drm/i915/intel_renderstate.h | 1 +
> drivers/gpu/drm/i915/intel_renderstate_gen6.c | 23 +
> drivers/gpu/drm/i915/intel_renderstate_gen7.c | 23 +
> drivers/gpu/drm/i915/intel_renderstate_gen8.c | 831
> +++++++++++++++++----- drivers/gpu/drm/i915/intel_renderstate_gen9.c
> | 981 ++++++++++++++++++++++++++
> 8 files changed, 1699 insertions(+), 166 deletions(-) create mode
> 100644 drivers/gpu/drm/i915/intel_renderstate_gen9.c
>
> diff --git a/drivers/gpu/drm/i915/Makefile
> b/drivers/gpu/drm/i915/Makefile index c1dd485..2caf4f4 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -38,7 +38,8 @@ i915-y += i915_cmd_parser.o \ # autogenerated null
> render state i915-y += intel_renderstate_gen6.o \
> intel_renderstate_gen7.o \
> - intel_renderstate_gen8.o
> + intel_renderstate_gen8.o \
> + intel_renderstate_gen9.o
>
> # modesetting core code
> i915-y += intel_bios.o \
> diff --git a/drivers/gpu/drm/i915/i915_drv.h
> b/drivers/gpu/drm/i915/i915_drv.h index 17dfce0..7d9f091 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -2122,6 +2122,7 @@ struct drm_i915_cmd_table {
> #define IS_GEN6(dev) (INTEL_INFO(dev)->gen == 6)
> #define IS_GEN7(dev) (INTEL_INFO(dev)->gen == 7)
> #define IS_GEN8(dev) (INTEL_INFO(dev)->gen == 8)
> +#define IS_GEN9(dev) (INTEL_INFO(dev)->gen == 9)
>
> #define RENDER_RING (1<<RCS)
> #define BSD_RING (1<<VCS)
> diff --git a/drivers/gpu/drm/i915/i915_gem_render_state.c
> b/drivers/gpu/drm/i915/i915_gem_render_state.c
> index a9a62d7..98dcd94 100644
> --- a/drivers/gpu/drm/i915/i915_gem_render_state.c
> +++ b/drivers/gpu/drm/i915/i915_gem_render_state.c
> @@ -38,6 +38,8 @@ render_state_get_rodata(struct drm_device *dev, const int gen)
> return &gen7_null_state;
> case 8:
> return &gen8_null_state;
> + case 9:
> + return &gen9_null_state;
> }
>
> return NULL;
> diff --git a/drivers/gpu/drm/i915/intel_renderstate.h
> b/drivers/gpu/drm/i915/intel_renderstate.h
> index 6c792d3..5bd6985 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate.h
> +++ b/drivers/gpu/drm/i915/intel_renderstate.h
> @@ -29,6 +29,7 @@
> extern const struct intel_renderstate_rodata gen6_null_state; extern
> const struct intel_renderstate_rodata gen7_null_state; extern const
> struct intel_renderstate_rodata gen8_null_state;
> +extern const struct intel_renderstate_rodata gen9_null_state;
>
> #define RO_RENDERSTATE(_g) \
> const struct intel_renderstate_rodata gen ## _g ## _null_state = { \
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> index 56c1429..c2568a7 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen6.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person
> +obtaining a
> + * copy of this software and associated documentation files (the
> +"Software"),
> + * to deal in the Software without restriction, including without
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute,
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including
> +the next
> + * paragraph) shall be included in all copies or substantial portions
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
I guess a separate patch for the non-gen9 license changes as well. And if we don't already have patches for it, we probably want to update i-g-t to generate the correct license header so we don't have to manually add it if we ever update the golden state.
Brad
> #include "intel_renderstate.h"
>
> static const u32 gen6_null_state_relocs[] = { diff --git
> a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> index 419e35a..e14aec5 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen7.c
> @@ -1,3 +1,26 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person
> +obtaining a
> + * copy of this software and associated documentation files (the
> +"Software"),
> + * to deal in the Software without restriction, including without
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute,
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including
> +the next
> + * paragraph) shall be included in all copies or substantial portions
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> #include "intel_renderstate.h"
>
> static const u32 gen7_null_state_relocs[] = { diff --git
> a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> index 75ef1b5d..88991e2 100644
> --- a/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen8.c
> @@ -1,81 +1,166 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person
> +obtaining a
> + * copy of this software and associated documentation files (the
> +"Software"),
> + * to deal in the Software without restriction, including without
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute,
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including
> +the next
> + * paragraph) shall be included in all copies or substantial portions
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> #include "intel_renderstate.h"
>
> static const u32 gen8_null_state_relocs[] = {
> - 0x00000048,
> - 0x00000050,
> - 0x00000060,
> - 0x000003ec,
> + 0x00000784,
> + 0x00000790,
> + 0x00000798,
> + 0x000007a8,
> -1,
> };
>
> static const u32 gen8_null_state_batch[] = {
> + 0x7a000004,
> + 0x01000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> 0x69040000,
> - 0x61020001,
> + 0x78140000,
> + 0x04000000,
> + 0x7820000a,
> 0x00000000,
> 0x00000000,
> - 0x79120000,
> + 0x80000000,
> 0x00000000,
> - 0x79130000,
> 0x00000000,
> - 0x79140000,
> 0x00000000,
> - 0x79150000,
> 0x00000000,
> - 0x79160000,
> 0x00000000,
> - 0x6101000e,
> - 0x00000001,
> 0x00000000,
> - 0x00000001,
> - 0x00000001, /* reloc */
> 0x00000000,
> - 0x00000001, /* reloc */
> + 0x00000000,
> + 0x78130002,
> + 0x00000000,
> + 0x00000000,
> + 0x02001808,
> + 0x781f0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78510009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78100007,
> + 0x00000000,
> + 0x00000000,
> + 0x00010000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781b0007,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000800,
> + 0x00000000,
> + 0x78110008,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781e0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781d0007,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78120002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781c0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780c0000,
> + 0x00000000,
> + 0x78520003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x00000001, /* reloc */
> 0x00000000,
> - 0xfffff001,
> - 0x00001001,
> - 0xfffff001,
> - 0x00001001,
> - 0x78230000,
> - 0x000006e0,
> - 0x78210000,
> - 0x00000700,
> 0x78300000,
> 0x08010040,
> - 0x78330000,
> - 0x08000000,
> 0x78310000,
> - 0x08000000,
> + 0x1e000000,
> 0x78320000,
> - 0x08000000,
> - 0x78240000,
> - 0x00000641,
> - 0x780e0000,
> - 0x00000601,
> - 0x780d0000,
> + 0x1e000000,
> + 0x78330000,
> + 0x1e000000,
> + 0x79190002,
> 0x00000000,
> - 0x78180000,
> - 0x00000001,
> - 0x78520003,
> 0x00000000,
> 0x00000000,
> + 0x791a0002,
> 0x00000000,
> 0x00000000,
> - 0x78190009,
> 0x00000000,
> + 0x791b0002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> + 0x79120000,
> 0x00000000,
> + 0x79130000,
> 0x00000000,
> + 0x79140000,
> 0x00000000,
> + 0x79150000,
> 0x00000000,
> + 0x79160000,
> 0x00000000,
> + 0x78150009,
> 0x00000000,
> - 0x781b0007,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -84,11 +169,26 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78270000,
> 0x00000000,
> - 0x782c0000,
> + 0x78190009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781a0009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> 0x00000000,
> - 0x781c0002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -103,7 +203,7 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78110008,
> + 0x78170009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -113,14 +213,17 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78290000,
> 0x00000000,
> - 0x782e0000,
> + 0x78490001,
> 0x00000000,
> - 0x781a0009,
> 0x00000000,
> + 0x784a0000,
> 0x00000000,
> + 0x784b0000,
> + 0x00000004,
> + 0x79170101,
> 0x00000000,
> + 0x00000080,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -128,7 +231,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x781d0007,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -137,15 +239,10 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78280000,
> 0x00000000,
> - 0x782d0000,
> 0x00000000,
> - 0x78260000,
> 0x00000000,
> - 0x782b0000,
> 0x00000000,
> - 0x78150009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -156,7 +253,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78100007,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -165,20 +261,15 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x781e0003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78120002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x781f0002,
> - 0x30400820,
> 0x00000000,
> 0x00000000,
> - 0x78510009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -189,22 +280,12 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78500003,
> - 0x00210000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78130002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x782a0000,
> - 0x00000480,
> - 0x782f0000,
> - 0x00000540,
> - 0x78140000,
> - 0x00000800,
> - 0x78170009,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -215,25 +296,13 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x7820000a,
> - 0x00000580,
> 0x00000000,
> - 0x08080000,
> 0x00000000,
> 0x00000000,
> - 0x1f000002,
> - 0x00060000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x784d0000,
> - 0x40000000,
> - 0x784f0000,
> - 0x80000100,
> - 0x780f0000,
> - 0x00000740,
> - 0x78050006,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -241,48 +310,25 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78070003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78060003,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x78040001,
> 0x00000000,
> - 0x00000001,
> - 0x79000002,
> - 0xffffffff,
> 0x00000000,
> 0x00000000,
> - 0x78080003,
> - 0x00006000,
> - 0x000005e0, /* reloc */
> 0x00000000,
> 0x00000000,
> - 0x78090005,
> - 0x02000000,
> - 0x22220000,
> - 0x02f60000,
> - 0x11230000,
> - 0x02850004,
> - 0x11230000,
> - 0x784b0000,
> - 0x0000000f,
> - 0x78490001,
> 0x00000000,
> 0x00000000,
> - 0x7b000005,
> 0x00000000,
> - 0x00000003,
> 0x00000000,
> - 0x00000001,
> 0x00000000,
> 0x00000000,
> - 0x05000000, /* cmds end */
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -297,8 +343,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x000004c0, /* state start */
> - 0x00000500,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -348,7 +392,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x00000092,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -361,30 +404,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x0060005a,
> - 0x21403ae8,
> - 0x3a0000c0,
> - 0x008d0040,
> - 0x0060005a,
> - 0x21603ae8,
> - 0x3a0000c0,
> - 0x008d0080,
> - 0x0060005a,
> - 0x21803ae8,
> - 0x3a0000d0,
> - 0x008d0040,
> - 0x0060005a,
> - 0x21a03ae8,
> - 0x3a0000d0,
> - 0x008d0080,
> - 0x02800031,
> - 0x2e0022e8,
> - 0x0e000140,
> - 0x08840001,
> - 0x05800031,
> - 0x200022e0,
> - 0x0e000e00,
> - 0x90031000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -410,38 +429,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> - 0x06200000,
> - 0x00000002,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -449,8 +436,6 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0xf99a130c,
> - 0x799a130c,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> @@ -466,9 +451,525 @@ static const u32 gen8_null_state_batch[] = {
> 0x00000000,
> 0x00000000,
> 0x00000000,
> - 0x3f800000,
> 0x00000000,
> - 0x3f800000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x20000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x60000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x6101000e,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00001001,
> + 0x00001001,
> + 0x00000001,
> + 0x00001001,
> + 0x61020001,
> + 0x00000000,
> + 0x00000000,
> + 0x79000002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78050006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x80000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0xc0000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79080001,
> + 0x00000000,
> + 0x00000000,
> + 0x790a0001,
> + 0x00000000,
> + 0x00000000,
> + 0x78060003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78070003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78040001,
> + 0x00000000,
> + 0x00000000,
> + 0x79110000,
> + 0x00000000,
> + 0x780d0000,
> + 0x00000000,
> + 0x79060000,
> + 0x00000000,
> + 0x7907001f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7902000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x790c000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780a0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78080083,
> + 0x00004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x04004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x08004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x0c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x10004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x14004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x18004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x1c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x20004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x24004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x28004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x2c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x30004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x34004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x38004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x3c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x40004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x44004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x48004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x4c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x50004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x54004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x58004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x5c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x60004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x64004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x68004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x6c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x70004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x74004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x80004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78090043,
> + 0x02000000,
> + 0x22220000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x680b0001,
> + 0x78260000,
> + 0x00000000,
> + 0x78270000,
> + 0x00000000,
> + 0x78280000,
> + 0x00000000,
> + 0x78290000,
> + 0x00000000,
> + 0x782a0000,
> + 0x00000000,
> + 0x780e0000,
> + 0x00000dc1,
> + 0x78240000,
> + 0x00000e01,
> + 0x784f0000,
> + 0x80000100,
> + 0x784d0000,
> + 0x40000000,
> + 0x782b0000,
> + 0x00000000,
> + 0x782c0000,
> + 0x00000000,
> + 0x782d0000,
> + 0x00000000,
> + 0x782e0000,
> + 0x00000000,
> + 0x782f0000,
> + 0x00000000,
> + 0x780f0000,
> + 0x00000000,
> + 0x78230000,
> + 0x00000e60,
> + 0x78210000,
> + 0x00000e80,
> + 0x7b000005,
> + 0x00000004,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000000,
> + 0x05000000, /* cmds end */
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000, /* state start */
> + 0x00000000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> 0x00000000,
> 0x00000000,
> 0x00000000,
> diff --git a/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> new file mode 100644
> index 0000000..e1ea838
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/intel_renderstate_gen9.c
> @@ -0,0 +1,981 @@
> +/*
> + * Copyright (c) 2014 Intel Corporation
> + *
> + * Permission is hereby granted, free of charge, to any person
> +obtaining a
> + * copy of this software and associated documentation files (the
> +"Software"),
> + * to deal in the Software without restriction, including without
> +limitation
> + * the rights to use, copy, modify, merge, publish, distribute,
> +sublicense,
> + * and/or sell copies of the Software, and to permit persons to whom
> +the
> + * Software is furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice (including
> +the next
> + * paragraph) shall be included in all copies or substantial portions
> +of the
> + * Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
> +EXPRESS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> +MERCHANTABILITY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
> +SHALL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
> +OR OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
> +ARISING
> + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
> +OTHER
> + * DEALINGS IN THE SOFTWARE.
> + */
> +
> +#include "intel_renderstate.h"
> +
> +static const u32 gen9_null_state_relocs[] = {
> + 0x00000794,
> + 0x000007a0,
> + 0x000007a8,
> + 0x000007b8,
> + -1,
> +};
> +
> +static const u32 gen9_null_state_batch[] = {
> + 0x7a000004,
> + 0x01000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x69040300,
> + 0x78140000,
> + 0x04000000,
> + 0x7820000a,
> + 0x00000000,
> + 0x00000000,
> + 0x80000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78130002,
> + 0x00000000,
> + 0x00000000,
> + 0x02001808,
> + 0x781f0004,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78510009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78100007,
> + 0x00000000,
> + 0x00000000,
> + 0x00010000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781b0007,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000800,
> + 0x00000000,
> + 0x78110008,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781e0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781d0009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78120002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781c0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780c0000,
> + 0x00000000,
> + 0x78520003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78300000,
> + 0x08010040,
> + 0x78310000,
> + 0x1e000000,
> + 0x78320000,
> + 0x1e000000,
> + 0x78330000,
> + 0x1e000000,
> + 0x79190002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x791a0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x791b0002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79120000,
> + 0x00000000,
> + 0x79130000,
> + 0x00000000,
> + 0x79140000,
> + 0x00000000,
> + 0x79150000,
> + 0x00000000,
> + 0x79160000,
> + 0x00000000,
> + 0x78150009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78190009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x781a0009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78160009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78170009,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78490001,
> + 0x00000000,
> + 0x00000000,
> + 0x784a0000,
> + 0x00000000,
> + 0x784b0000,
> + 0x00000004,
> + 0x79170101,
> + 0x00000000,
> + 0x00000080,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x20000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79180006,
> + 0x60000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x61010011,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001, /* reloc */
> + 0x00000000,
> + 0x00001001,
> + 0x00001001,
> + 0x00000001,
> + 0x00001001,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x61020001,
> + 0x00000000,
> + 0x00000000,
> + 0x79000002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78050006,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x40000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0x80000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79040002,
> + 0xc0000000,
> + 0x00000000,
> + 0x00000000,
> + 0x79080001,
> + 0x00000000,
> + 0x00000000,
> + 0x790a0001,
> + 0x00000000,
> + 0x00000000,
> + 0x78060003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78070003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78040001,
> + 0x00000000,
> + 0x00000000,
> + 0x79110000,
> + 0x00000000,
> + 0x780d0000,
> + 0x00000000,
> + 0x79060000,
> + 0x00000000,
> + 0x7907001f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7902000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x790c000f,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x780a0003,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78080083,
> + 0x00004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x04004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x08004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x0c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x10004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x14004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x18004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x1c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x20004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x24004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x28004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x2c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x30004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x34004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x38004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x3c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x40004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x44004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x48004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x4c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x50004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x54004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x58004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x5c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x60004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x64004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x68004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x6c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x70004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x74004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x7c004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x80004000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x78090043,
> + 0x02000000,
> + 0x22220000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x680b0001,
> + 0x780e0000,
> + 0x00000dc1,
> + 0x78240000,
> + 0x00000e01,
> + 0x784f0000,
> + 0x80000100,
> + 0x784d0000,
> + 0x40000000,
> + 0x782b0000,
> + 0x00000000,
> + 0x782c0000,
> + 0x00000000,
> + 0x782d0000,
> + 0x00000000,
> + 0x782e0000,
> + 0x00000000,
> + 0x782f0000,
> + 0x00000000,
> + 0x780f0000,
> + 0x00000000,
> + 0x78230000,
> + 0x00000e60,
> + 0x78210000,
> + 0x00000e80,
> + 0x78260000,
> + 0x00000000,
> + 0x78270000,
> + 0x00000000,
> + 0x78280000,
> + 0x00000000,
> + 0x78290000,
> + 0x00000000,
> + 0x782a0000,
> + 0x00000000,
> + 0x7b000005,
> + 0x00000004,
> + 0x00000001,
> + 0x00000000,
> + 0x00000001,
> + 0x00000000,
> + 0x00000000,
> + 0x05000000, /* cmds end */
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000, /* state start */
> + 0x00000000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x3f800000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000,
> + 0x00000000, /* state end */
> +};
> +
> +RO_RENDERSTATE(9);
> --
> 1.9.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2014-09-15 16:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-12 18:25 [PATCH 1/3] drm/i915 Add golden context support for Gen9 armin.c.reese
2014-09-12 18:25 ` [PATCH 2/3] drm/i915: Alternate batch buffer end for golden context BB armin.c.reese
2014-09-12 18:25 ` [PATCH 3/3] drm/i915: Add debugfs file to dump entire logical context armin.c.reese
2014-09-13 0:07 ` [PATCH 1/3] drm/i915 Add golden context support for Gen9 Volkin, Bradley D
2014-09-15 16:03 ` Reese, Armin C
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.