summaryrefslogblamecommitdiff
path: root/drivers/gpu/drm/xe/regs/xe_regs.h
blob: a697162e1a77428353ac2f869d91da0ac524ad9b (plain) (tree)











































































































                                                                              
/* 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