drm/xe: Remove dependency on i915_reg.h
authorLucas De Marchi <lucas.demarchi@intel.com>
Sat, 25 Feb 2023 00:15:43 +0000 (16:15 -0800)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Tue, 19 Dec 2023 23:29:21 +0000 (18:29 -0500)
Copy the macros used by xe in i915_reg.h to regs/xe_regs.h. A minimal
cleanup is done while copying so they adhere minimally to the coding
style.  Further reordering and cleaning is left for later.

Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
13 files changed:
drivers/gpu/drm/xe/regs/xe_regs.h [new file with mode: 0644]
drivers/gpu/drm/xe/xe_execlist.c
drivers/gpu/drm/xe/xe_ggtt.c
drivers/gpu/drm/xe/xe_gt_clock.c
drivers/gpu/drm/xe/xe_guc_pc.c
drivers/gpu/drm/xe/xe_hw_engine.c
drivers/gpu/drm/xe/xe_irq.c
drivers/gpu/drm/xe/xe_lrc.c
drivers/gpu/drm/xe/xe_mmio.c
drivers/gpu/drm/xe/xe_pci.c
drivers/gpu/drm/xe/xe_ring_ops.c
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
drivers/gpu/drm/xe/xe_wa.c

diff --git a/drivers/gpu/drm/xe/regs/xe_regs.h b/drivers/gpu/drm/xe/regs/xe_regs.h
new file mode 100644 (file)
index 0000000..a697162
--- /dev/null
@@ -0,0 +1,108 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2023 Intel Corporation
+ */
+#ifndef _XE_REGS_H_
+#define _XE_REGS_H_
+
+#include "i915_reg_defs.h"
+
+#define GU_CNTL                                        _MMIO(0x101010)
+#define   LMEM_INIT                            REG_BIT(7)
+
+#define RENDER_RING_BASE                       0x02000
+#define GEN11_BSD_RING_BASE                    0x1c0000
+#define GEN11_BSD2_RING_BASE                   0x1c4000
+#define GEN11_BSD3_RING_BASE                   0x1d0000
+#define GEN11_BSD4_RING_BASE                   0x1d4000
+#define XEHP_BSD5_RING_BASE                    0x1e0000
+#define XEHP_BSD6_RING_BASE                    0x1e4000
+#define XEHP_BSD7_RING_BASE                    0x1f0000
+#define XEHP_BSD8_RING_BASE                    0x1f4000
+#define VEBOX_RING_BASE                                0x1a000
+#define GEN11_VEBOX_RING_BASE                  0x1c8000
+#define GEN11_VEBOX2_RING_BASE                 0x1d8000
+#define XEHP_VEBOX3_RING_BASE                  0x1e8000
+#define XEHP_VEBOX4_RING_BASE                  0x1f8000
+#define GEN12_COMPUTE0_RING_BASE               0x1a000
+#define GEN12_COMPUTE1_RING_BASE               0x1c000
+#define GEN12_COMPUTE2_RING_BASE               0x1e000
+#define GEN12_COMPUTE3_RING_BASE               0x26000
+#define BLT_RING_BASE                          0x22000
+#define XEHPC_BCS1_RING_BASE                   0x3e0000
+#define XEHPC_BCS2_RING_BASE                   0x3e2000
+#define XEHPC_BCS3_RING_BASE                   0x3e4000
+#define XEHPC_BCS4_RING_BASE                   0x3e6000
+#define XEHPC_BCS5_RING_BASE                   0x3e8000
+#define XEHPC_BCS6_RING_BASE                   0x3ea000
+#define XEHPC_BCS7_RING_BASE                   0x3ec000
+#define XEHPC_BCS8_RING_BASE                   0x3ee000
+#define   GT_WAIT_SEMAPHORE_INTERRUPT          REG_BIT(11)
+#define   GT_CONTEXT_SWITCH_INTERRUPT          (1 <<  8)
+#define   GT_RENDER_PIPECTL_NOTIFY_INTERRUPT   (1 <<  4)
+#define   GT_CS_MASTER_ERROR_INTERRUPT         REG_BIT(3)
+#define   GT_RENDER_USER_INTERRUPT             (1 <<  0)
+
+#define GEN7_FF_THREAD_MODE                    _MMIO(0x20a0)
+#define   GEN12_FF_TESSELATION_DOP_GATE_DISABLE BIT(19)
+
+#define PVC_RP_STATE_CAP                       _MMIO(0x281014)
+#define MTL_RP_STATE_CAP                       _MMIO(0x138000)
+
+#define MTL_MEDIAP_STATE_CAP                   _MMIO(0x138020)
+#define   MTL_RP0_CAP_MASK                     REG_GENMASK(8, 0)
+#define   MTL_RPN_CAP_MASK                     REG_GENMASK(24, 16)
+
+#define MTL_GT_RPE_FREQUENCY                   _MMIO(0x13800c)
+#define MTL_MPE_FREQUENCY                      _MMIO(0x13802c)
+#define   MTL_RPE_MASK                         REG_GENMASK(8, 0)
+
+#define TRANSCODER_A_OFFSET                    0x60000
+#define TRANSCODER_B_OFFSET                    0x61000
+#define TRANSCODER_C_OFFSET                    0x62000
+#define TRANSCODER_D_OFFSET                    0x63000
+#define TRANSCODER_DSI0_OFFSET                 0x6b000
+#define TRANSCODER_DSI1_OFFSET                 0x6b800
+#define PIPE_A_OFFSET                          0x70000
+#define PIPE_B_OFFSET                          0x71000
+#define PIPE_C_OFFSET                          0x72000
+#define PIPE_D_OFFSET                          0x73000
+#define PIPE_DSI0_OFFSET                       0x7b000
+#define PIPE_DSI1_OFFSET                       0x7b800
+
+#define GEN8_PCU_ISR                           _MMIO(0x444e0)
+#define GEN8_PCU_IMR                           _MMIO(0x444e4)
+#define GEN8_PCU_IIR                           _MMIO(0x444e8)
+#define GEN8_PCU_IER                           _MMIO(0x444ec)
+
+#define GEN11_GU_MISC_ISR                      _MMIO(0x444f0)
+#define GEN11_GU_MISC_IMR                      _MMIO(0x444f4)
+#define GEN11_GU_MISC_IIR                      _MMIO(0x444f8)
+#define GEN11_GU_MISC_IER                      _MMIO(0x444fc)
+#define   GEN11_GU_MISC_GSE                    (1 << 27)
+
+#define GEN11_GFX_MSTR_IRQ                     _MMIO(0x190010)
+#define   GEN11_MASTER_IRQ                     (1 << 31)
+#define   GEN11_GU_MISC_IRQ                    (1 << 29)
+#define   GEN11_DISPLAY_IRQ                    (1 << 16)
+#define   GEN11_GT_DW_IRQ(x)                   (1 << (x))
+
+#define DG1_MSTR_TILE_INTR                     _MMIO(0x190008)
+#define   DG1_MSTR_IRQ                         REG_BIT(31)
+#define   DG1_MSTR_TILE(t)                     REG_BIT(t)
+
+#define GEN9_TIMESTAMP_OVERRIDE                                        _MMIO(0x44074)
+#define   GEN9_TIMESTAMP_OVERRIDE_US_COUNTER_DIVIDER_SHIFT     0
+#define   GEN9_TIMESTAMP_OVERRIDE_US_COUNTER_DIVIDER_MASK      0x3ff
+#define   GEN9_TIMESTAMP_OVERRIDE_US_COUNTER_DENOMINATOR_SHIFT 12
+#define   GEN9_TIMESTAMP_OVERRIDE_US_COUNTER_DENOMINATOR_MASK  (0xf << 12)
+
+#define GGC                                    _MMIO(0x108040)
+#define   GMS_MASK                             REG_GENMASK(15, 8)
+#define   GGMS_MASK                            REG_GENMASK(7, 6)
+
+#define GEN12_GSMBASE                          _MMIO(0x108100)
+#define GEN12_DSMBASE                          _MMIO(0x1080C0)
+#define   GEN12_BDSM_MASK                      REG_GENMASK64(63, 20)
+
+#endif
index 8441ce24cfcfde4cdab78d4c55d8418eba60817c..be47d28da4c745145302f859e90841871b97114f 100644 (file)
@@ -11,6 +11,7 @@
 #include "regs/xe_gpu_commands.h"
 #include "regs/xe_gt_regs.h"
 #include "regs/xe_lrc_layout.h"
+#include "regs/xe_regs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
 #include "xe_engine.h"
@@ -23,8 +24,6 @@
 #include "xe_ring_ops_types.h"
 #include "xe_sched_job.h"
 
-#include "i915_reg.h"
-
 #define XE_EXECLIST_HANG_LIMIT 1
 
 #define GEN11_SW_CTX_ID_SHIFT 37
index 3bf437321149805697b40b7a2adaf03e119fd3d5..d6ebc1d77f4d5ecac805ebf258f71ae561d941d9 100644 (file)
@@ -11,6 +11,7 @@
 #include <drm/i915_drm.h>
 
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_regs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
 #include "xe_gt.h"
@@ -19,8 +20,6 @@
 #include "xe_mmio.h"
 #include "xe_wopcm.h"
 
-#include "i915_reg.h"
-
 /* FIXME: Common file, preferably auto-gen */
 #define MTL_GGTT_PTE_PAT0      BIT_ULL(52)
 #define MTL_GGTT_PTE_PAT1      BIT_ULL(53)
index fd0ca33925cd93c077f6400119a80c951264d576..60a2966bc1fd2fc39a95d3dbd3e4421ae45f2b75 100644 (file)
@@ -6,13 +6,12 @@
 #include "xe_gt_clock.h"
 
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_regs.h"
 #include "xe_device.h"
 #include "xe_gt.h"
 #include "xe_macros.h"
 #include "xe_mmio.h"
 
-#include "i915_reg.h"
-
 static u32 read_reference_ts_freq(struct xe_gt *gt)
 {
        u32 ts_override = xe_mmio_read32(gt, GEN9_TIMESTAMP_OVERRIDE.reg);
index f983f47cefb6ac19eb72395fd3a98fc9e581951f..acaba5c375e5ae28bf466f515371ff423444b822 100644 (file)
@@ -10,6 +10,7 @@
 #include <drm/drm_managed.h>
 
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_regs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
 #include "xe_gt.h"
@@ -20,8 +21,6 @@
 #include "xe_mmio.h"
 #include "xe_pcode.h"
 
-#include "i915_reg.h"
-#include "i915_reg_defs.h"
 #include "intel_mchbar_regs.h"
 
 /* For GEN6_RP_STATE_CAP.reg to be merged when the definition moves to Xe */
index 5e7f21b319bb34ab59363822a008b4ee6e1ae78e..ae541b5e50f3660f58a0ace194c096fb8114765d 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "regs/xe_engine_regs.h"
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_regs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
 #include "xe_execlist.h"
@@ -23,8 +24,6 @@
 #include "xe_sched_job.h"
 #include "xe_wa.h"
 
-#include "i915_reg.h"
-
 #define MAX_MMIO_BASES 3
 struct engine_info {
        const char *name;
index 04b3801fc0a8b18bde6f5d8b7d55994ecdc23667..071ccc75b71bf511d85e0cba01ef8da2325c00ce 100644 (file)
@@ -10,6 +10,7 @@
 #include <drm/drm_managed.h>
 
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_regs.h"
 #include "xe_device.h"
 #include "xe_drv.h"
 #include "xe_gt.h"
@@ -17,8 +18,6 @@
 #include "xe_hw_engine.h"
 #include "xe_mmio.h"
 
-#include "i915_reg.h"
-
 static void gen3_assert_iir_is_zero(struct xe_gt *gt, i915_reg_t reg)
 {
        u32 val = xe_mmio_read32(gt, reg.reg);
index 4435ec75048986473ec1c869a536276366a6e828..af4518a82db27cdd40cb26254ee54b56e3caa71d 100644 (file)
@@ -9,6 +9,7 @@
 #include "regs/xe_gpu_commands.h"
 #include "regs/xe_gt_regs.h"
 #include "regs/xe_lrc_layout.h"
+#include "regs/xe_regs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
 #include "xe_engine_types.h"
@@ -17,8 +18,6 @@
 #include "xe_map.h"
 #include "xe_vm.h"
 
-#include "i915_reg.h"
-
 #define GEN8_CTX_VALID                         (1 << 0)
 #define GEN8_CTX_L3LLC_COHERENT                        (1 << 5)
 #define GEN8_CTX_PRIVILEGE                     (1 << 8)
index 5e6ca0d2076ad130f1e7218f4c525ad213433139..65b0df9bb5796bcc967a1db2728bb1d9e251d0f5 100644 (file)
 
 #include "regs/xe_engine_regs.h"
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_regs.h"
 #include "xe_device.h"
 #include "xe_gt.h"
 #include "xe_gt_mcr.h"
 #include "xe_macros.h"
 #include "xe_module.h"
 
-#include "i915_reg.h"
-
 #define XEHP_MTCFG_ADDR                _MMIO(0x101800)
 #define TILE_COUNT             REG_GENMASK(15, 8)
 #define GEN12_LMEM_BAR         2
index 884f9b16c9de051e731c899258ee2ca865763474..6dcefb8cc7c370c58e7ce98ddaf34d960c46d206 100644 (file)
@@ -14,6 +14,7 @@
 #include <drm/drm_drv.h>
 #include <drm/xe_pciids.h>
 
+#include "regs/xe_regs.h"
 #include "xe_device.h"
 #include "xe_drv.h"
 #include "xe_macros.h"
@@ -21,8 +22,6 @@
 #include "xe_pm.h"
 #include "xe_step.h"
 
-#include "i915_reg.h"
-
 #define DEV_INFO_FOR_EACH_FLAG(func) \
        func(require_force_probe); \
        func(is_dgfx); \
index ef8cef20acd65d4c662223cdd77f9b7e5353a67c..7dd886536fbc98756df9690d03d283b933338eee 100644 (file)
@@ -8,6 +8,7 @@
 #include "regs/xe_gpu_commands.h"
 #include "regs/xe_gt_regs.h"
 #include "regs/xe_lrc_layout.h"
+#include "regs/xe_regs.h"
 #include "xe_engine_types.h"
 #include "xe_gt.h"
 #include "xe_lrc.h"
@@ -15,8 +16,6 @@
 #include "xe_sched_job.h"
 #include "xe_vm_types.h"
 
-#include "i915_reg.h"
-
 /*
  * 3D-related flags that can't be set on _engines_ that lack access to the 3D
  * pipeline (i.e., CCS engines).
@@ -40,7 +39,6 @@
                PIPE_CONTROL_TEXTURE_CACHE_INVALIDATE | \
                PIPE_CONTROL_DC_FLUSH_ENABLE)
 
-
 static u32 preparser_disable(bool state)
 {
        return MI_ARB_CHECK | BIT(8) | state;
index fe0f707ad05468fa9d6edd8add7b5469197736e5..2e8d07ad42aee488e9d5bb5f3ba1d7ec5891aa98 100644 (file)
@@ -11,8 +11,7 @@
 #include <drm/ttm/ttm_placement.h>
 #include <drm/ttm/ttm_range_manager.h>
 
-#include "../i915/i915_reg.h"
-
+#include "regs/xe_regs.h"
 #include "xe_bo.h"
 #include "xe_device.h"
 #include "xe_gt.h"
index 155cfd1dcc500b14e78de6ce628767ddf8d74107..df72b15dfeb0d9e81307c71fd99e16bd1e74d22d 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "regs/xe_engine_regs.h"
 #include "regs/xe_gt_regs.h"
+#include "regs/xe_regs.h"
 #include "xe_device_types.h"
 #include "xe_force_wake.h"
 #include "xe_gt.h"
@@ -18,8 +19,6 @@
 #include "xe_rtp.h"
 #include "xe_step.h"
 
-#include "i915_reg.h"
-
 /**
  * DOC: Hardware workarounds
  *