[PATCH 1/6] drm/amd/amdgpu: Create a headears to keep some common GC registers

Rodrigo Siqueira siqueira at igalia.com
Sun Apr 6 23:02:56 UTC 2025


Some GC registers are duplicated across multiple instances of GC offset
files. This commit creates a new file named gc_common_offset.h that
centralizes some common registers in a single file. Aside from
eliminating multiple duplications, this approach also avoids including
specific registers in generic files (e.g., amdgpu_gfx) and reduces the
number of includes.

Signed-off-by: Rodrigo Siqueira <siqueira at igalia.com>
---
 drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c                   | 1 +
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c                   | 4 +++-
 .../gpu/drm/amd/include/asic_reg/gc/gc_10_1_0_offset.h   | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_10_3_0_offset.h   | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_11_0_0_offset.h   | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_11_0_3_offset.h   | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_11_5_0_offset.h   | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_12_0_0_offset.h   | 2 --
 drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_0_offset.h  | 2 --
 drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_1_offset.h  | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_9_2_1_offset.h    | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_9_4_2_offset.h    | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_9_4_3_offset.h    | 2 --
 .../gpu/drm/amd/include/asic_reg/gc/gc_common_offset.h   | 9 +++++++++
 14 files changed, 13 insertions(+), 23 deletions(-)
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/gc/gc_common_offset.h

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
index a1e3bb43babc..9f92acfdf00c 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
@@ -32,6 +32,7 @@
 #include "nv.h"
 #include "nvd.h"
 
+#include "gc/gc_common_offset.h"
 #include "gc/gc_10_1_0_offset.h"
 #include "gc/gc_10_1_0_sh_mask.h"
 #include "smuio/smuio_11_0_0_offset.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index 58b10a72c0c9..2aea229ac4bb 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -33,6 +33,8 @@
 #include "soc21.h"
 #include "nvd.h"
 
+#include "gc/gc_common_offset.h"
+
 #include "gc/gc_11_0_0_offset.h"
 #include "gc/gc_11_0_0_sh_mask.h"
 #include "smuio/smuio_13_0_6_offset.h"
@@ -3565,7 +3567,7 @@ static int gfx_v11_0_cp_gfx_start(struct amdgpu_device *adev)
 	}
 
 	ctx_reg_offset =
-		SOC15_REG_OFFSET(GC, 0, regPA_SC_TILE_STEERING_OVERRIDE) - PACKET3_SET_CONTEXT_REG_START;
+		SOC15_REG_OFFSET(GC, 0, mmPA_SC_TILE_STEERING_OVERRIDE) - PACKET3_SET_CONTEXT_REG_START;
 	amdgpu_ring_write(ring, PACKET3(PACKET3_SET_CONTEXT_REG, 1));
 	amdgpu_ring_write(ring, ctx_reg_offset);
 	amdgpu_ring_write(ring, adev->gfx.config.pa_sc_tile_steering_override);
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_1_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_1_0_offset.h
index 4c8e7fdb6976..1e92f71f12b8 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_1_0_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_1_0_offset.h
@@ -5974,8 +5974,6 @@
 #define mmPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define mmPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define mmPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define mmPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define mmPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define mmCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define mmCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define mmCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_3_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_3_0_offset.h
index 5e15ac14b63c..555a3bc26614 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_3_0_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_10_3_0_offset.h
@@ -5603,8 +5603,6 @@
 #define mmPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define mmPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define mmPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define mmPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define mmPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define mmCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define mmCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define mmCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_0_offset.h
index a3bcdf632066..b82c72d27cf9 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_0_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_0_offset.h
@@ -5393,8 +5393,6 @@
 #define regPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define regPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define regPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define regPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define regPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define regCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define regCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define regCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_3_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_3_offset.h
index 56e00252bff8..82a795135f87 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_3_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_0_3_offset.h
@@ -5673,8 +5673,6 @@
 #define regPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define regPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define regPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define regPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define regPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define regCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define regCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define regCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_5_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_5_0_offset.h
index d6c02cf815be..bf61fc0d3edd 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_5_0_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_11_5_0_offset.h
@@ -4204,8 +4204,6 @@
 #define regPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define regPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define regPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define regPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define regPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define regCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define regCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define regCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_12_0_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_12_0_0_offset.h
index 645d10bfbc79..d0df8d0df4e3 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_12_0_0_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_12_0_0_offset.h
@@ -8404,8 +8404,6 @@
 #define regPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define regPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define regPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define regPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define regPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define regCB_CP_PIPEID                                                                                 0x00d9
 #define regCB_CP_PIPEID_BASE_IDX                                                                        1
 #define regCB_CP_VMID                                                                                   0x00da
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_0_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_0_offset.h
index 12d451e5475b..d5c31df4cea7 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_0_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_0_offset.h
@@ -3584,8 +3584,6 @@
 #define mmPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define mmPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define mmPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define mmPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define mmPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define mmCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define mmCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define mmCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_1_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_1_offset.h
index d17d1e622e4f..a7d476b6c8e3 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_1_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_1_offset.h
@@ -3814,8 +3814,6 @@
 #define mmPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define mmPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define mmPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define mmPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define mmPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define mmCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define mmCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define mmCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_2_1_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_2_1_offset.h
index c30720277912..fc5c7abb35e7 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_2_1_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_2_1_offset.h
@@ -3764,8 +3764,6 @@
 #define mmPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define mmPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define mmPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define mmPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define mmPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define mmCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define mmCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define mmCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_2_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_2_offset.h
index 1a8a6a350789..e13fb8137820 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_2_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_2_offset.h
@@ -1755,8 +1755,6 @@
 #define regPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define regPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define regPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define regPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define regPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define regCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define regCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define regCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_3_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_3_offset.h
index 393963502b7a..845dbbbfd567 100644
--- a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_3_offset.h
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_9_4_3_offset.h
@@ -3995,8 +3995,6 @@
 #define regPA_SC_RASTER_CONFIG_1_BASE_IDX                                                               1
 #define regPA_SC_SCREEN_EXTENT_CONTROL                                                                  0x00d6
 #define regPA_SC_SCREEN_EXTENT_CONTROL_BASE_IDX                                                         1
-#define regPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
-#define regPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
 #define regCP_PERFMON_CNTX_CNTL                                                                         0x00d8
 #define regCP_PERFMON_CNTX_CNTL_BASE_IDX                                                                1
 #define regCP_PIPEID                                                                                    0x00d9
diff --git a/drivers/gpu/drm/amd/include/asic_reg/gc/gc_common_offset.h b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_common_offset.h
new file mode 100644
index 000000000000..1f7c5f597c05
--- /dev/null
+++ b/drivers/gpu/drm/amd/include/asic_reg/gc/gc_common_offset.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: MIT */
+
+#ifndef _gc_gc_common_offset
+#define _gc_gc_common_offset
+
+#define mmPA_SC_TILE_STEERING_OVERRIDE                                                                 0x00d7
+#define mmPA_SC_TILE_STEERING_OVERRIDE_BASE_IDX                                                        1
+
+#endif
-- 
2.49.0



More information about the amd-gfx mailing list