mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 07:33:19 +02:00
drm/i915: Extract i9xx_plane_regs.h
Relocate all pre-skl primary plane register definitions into their own declutter i915_reg.h. Cc: Zhenyu Wang <zhenyuw@linux.intel.com> Cc: Zhi Wang <zhi.wang.linux@gmail.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240516135622.3498-10-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
561608610b
commit
514ca6dffb
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
#include "i915_reg.h"
|
||||
#include "i9xx_plane.h"
|
||||
#include "i9xx_plane_regs.h"
|
||||
#include "intel_atomic.h"
|
||||
#include "intel_atomic_plane.h"
|
||||
#include "intel_de.h"
|
||||
|
|
|
|||
98
drivers/gpu/drm/i915/display/i9xx_plane_regs.h
Normal file
98
drivers/gpu/drm/i915/display/i9xx_plane_regs.h
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
/* SPDX-License-Identifier: MIT */
|
||||
/*
|
||||
* Copyright © 2024 Intel Corporation
|
||||
*/
|
||||
|
||||
#ifndef __I9XX_PLANE_REGS_H__
|
||||
#define __I9XX_PLANE_REGS_H__
|
||||
|
||||
#include "intel_display_reg_defs.h"
|
||||
|
||||
#define _DSPAADDR_VLV 0x7017C /* vlv/chv */
|
||||
#define _DSPACNTR 0x70180
|
||||
#define DISP_ENABLE REG_BIT(31)
|
||||
#define DISP_PIPE_GAMMA_ENABLE REG_BIT(30)
|
||||
#define DISP_FORMAT_MASK REG_GENMASK(29, 26)
|
||||
#define DISP_FORMAT_8BPP REG_FIELD_PREP(DISP_FORMAT_MASK, 2)
|
||||
#define DISP_FORMAT_BGRA555 REG_FIELD_PREP(DISP_FORMAT_MASK, 3)
|
||||
#define DISP_FORMAT_BGRX555 REG_FIELD_PREP(DISP_FORMAT_MASK, 4)
|
||||
#define DISP_FORMAT_BGRX565 REG_FIELD_PREP(DISP_FORMAT_MASK, 5)
|
||||
#define DISP_FORMAT_BGRX888 REG_FIELD_PREP(DISP_FORMAT_MASK, 6)
|
||||
#define DISP_FORMAT_BGRA888 REG_FIELD_PREP(DISP_FORMAT_MASK, 7)
|
||||
#define DISP_FORMAT_RGBX101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 8)
|
||||
#define DISP_FORMAT_RGBA101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 9)
|
||||
#define DISP_FORMAT_BGRX101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 10)
|
||||
#define DISP_FORMAT_BGRA101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 11)
|
||||
#define DISP_FORMAT_RGBX161616 REG_FIELD_PREP(DISP_FORMAT_MASK, 12)
|
||||
#define DISP_FORMAT_RGBX888 REG_FIELD_PREP(DISP_FORMAT_MASK, 14)
|
||||
#define DISP_FORMAT_RGBA888 REG_FIELD_PREP(DISP_FORMAT_MASK, 15)
|
||||
#define DISP_STEREO_ENABLE REG_BIT(25)
|
||||
#define DISP_PIPE_CSC_ENABLE REG_BIT(24) /* ilk+ */
|
||||
#define DISP_PIPE_SEL_MASK REG_GENMASK(25, 24)
|
||||
#define DISP_PIPE_SEL(pipe) REG_FIELD_PREP(DISP_PIPE_SEL_MASK, (pipe))
|
||||
#define DISP_SRC_KEY_ENABLE REG_BIT(22)
|
||||
#define DISP_LINE_DOUBLE REG_BIT(20)
|
||||
#define DISP_STEREO_POLARITY_SECOND REG_BIT(18)
|
||||
#define DISP_ALPHA_PREMULTIPLY REG_BIT(16) /* CHV pipe B */
|
||||
#define DISP_ROTATE_180 REG_BIT(15)
|
||||
#define DISP_TRICKLE_FEED_DISABLE REG_BIT(14) /* g4x+ */
|
||||
#define DISP_TILED REG_BIT(10)
|
||||
#define DISP_ASYNC_FLIP REG_BIT(9) /* g4x+ */
|
||||
#define DISP_MIRROR REG_BIT(8) /* CHV pipe B */
|
||||
#define _DSPAADDR 0x70184
|
||||
#define _DSPASTRIDE 0x70188
|
||||
#define _DSPAPOS 0x7018C /* reserved */
|
||||
#define DISP_POS_Y_MASK REG_GENMASK(31, 16)
|
||||
#define DISP_POS_Y(y) REG_FIELD_PREP(DISP_POS_Y_MASK, (y))
|
||||
#define DISP_POS_X_MASK REG_GENMASK(15, 0)
|
||||
#define DISP_POS_X(x) REG_FIELD_PREP(DISP_POS_X_MASK, (x))
|
||||
#define _DSPASIZE 0x70190
|
||||
#define DISP_HEIGHT_MASK REG_GENMASK(31, 16)
|
||||
#define DISP_HEIGHT(h) REG_FIELD_PREP(DISP_HEIGHT_MASK, (h))
|
||||
#define DISP_WIDTH_MASK REG_GENMASK(15, 0)
|
||||
#define DISP_WIDTH(w) REG_FIELD_PREP(DISP_WIDTH_MASK, (w))
|
||||
#define _DSPASURF 0x7019C /* 965+ only */
|
||||
#define DISP_ADDR_MASK REG_GENMASK(31, 12)
|
||||
#define _DSPATILEOFF 0x701A4 /* 965+ only */
|
||||
#define DISP_OFFSET_Y_MASK REG_GENMASK(31, 16)
|
||||
#define DISP_OFFSET_Y(y) REG_FIELD_PREP(DISP_OFFSET_Y_MASK, (y))
|
||||
#define DISP_OFFSET_X_MASK REG_GENMASK(15, 0)
|
||||
#define DISP_OFFSET_X(x) REG_FIELD_PREP(DISP_OFFSET_X_MASK, (x))
|
||||
#define _DSPAOFFSET 0x701A4 /* HSW */
|
||||
#define _DSPASURFLIVE 0x701AC
|
||||
#define _DSPAGAMC 0x701E0
|
||||
|
||||
#define DSPADDR_VLV(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR_VLV)
|
||||
#define DSPCNTR(plane) _MMIO_PIPE2(dev_priv, plane, _DSPACNTR)
|
||||
#define DSPADDR(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR)
|
||||
#define DSPSTRIDE(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASTRIDE)
|
||||
#define DSPPOS(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAPOS)
|
||||
#define DSPSIZE(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASIZE)
|
||||
#define DSPSURF(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASURF)
|
||||
#define DSPTILEOFF(plane) _MMIO_PIPE2(dev_priv, plane, _DSPATILEOFF)
|
||||
#define DSPLINOFF(plane) DSPADDR(plane)
|
||||
#define DSPOFFSET(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAOFFSET)
|
||||
#define DSPSURFLIVE(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASURFLIVE)
|
||||
#define DSPGAMC(plane, i) _MMIO_PIPE2(dev_priv, plane, _DSPAGAMC + (5 - (i)) * 4) /* plane C only, 6 x u0.8 */
|
||||
|
||||
/* CHV pipe B primary plane */
|
||||
#define _PRIMPOS_A 0x60a08
|
||||
#define PRIM_POS_Y_MASK REG_GENMASK(31, 16)
|
||||
#define PRIM_POS_Y(y) REG_FIELD_PREP(PRIM_POS_Y_MASK, (y))
|
||||
#define PRIM_POS_X_MASK REG_GENMASK(15, 0)
|
||||
#define PRIM_POS_X(x) REG_FIELD_PREP(PRIM_POS_X_MASK, (x))
|
||||
#define _PRIMSIZE_A 0x60a0c
|
||||
#define PRIM_HEIGHT_MASK REG_GENMASK(31, 16)
|
||||
#define PRIM_HEIGHT(h) REG_FIELD_PREP(PRIM_HEIGHT_MASK, (h))
|
||||
#define PRIM_WIDTH_MASK REG_GENMASK(15, 0)
|
||||
#define PRIM_WIDTH(w) REG_FIELD_PREP(PRIM_WIDTH_MASK, (w))
|
||||
#define _PRIMCNSTALPHA_A 0x60a10
|
||||
#define PRIM_CONST_ALPHA_ENABLE REG_BIT(31)
|
||||
#define PRIM_CONST_ALPHA_MASK REG_GENMASK(7, 0)
|
||||
#define PRIM_CONST_ALPHA(alpha) REG_FIELD_PREP(PRIM_CONST_ALPHA_MASK, (alpha))
|
||||
|
||||
#define PRIMPOS(plane) _MMIO_TRANS2(dev_priv, plane, _PRIMPOS_A)
|
||||
#define PRIMSIZE(plane) _MMIO_TRANS2(dev_priv, plane, _PRIMSIZE_A)
|
||||
#define PRIMCNSTALPHA(plane) _MMIO_TRANS2(dev_priv, plane, _PRIMCNSTALPHA_A)
|
||||
|
||||
#endif /* __I9XX_PLANE_REGS_H__ */
|
||||
|
|
@ -40,6 +40,7 @@
|
|||
|
||||
#include "i915_config.h"
|
||||
#include "i915_reg.h"
|
||||
#include "i9xx_plane_regs.h"
|
||||
#include "intel_atomic_plane.h"
|
||||
#include "intel_cdclk.h"
|
||||
#include "intel_display_rps.h"
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "i915_reg.h"
|
||||
#include "i9xx_plane_regs.h"
|
||||
#include "intel_color.h"
|
||||
#include "intel_color_regs.h"
|
||||
#include "intel_de.h"
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@
|
|||
#include "i915_reg.h"
|
||||
#include "i915_utils.h"
|
||||
#include "i9xx_plane.h"
|
||||
#include "i9xx_plane_regs.h"
|
||||
#include "i9xx_wm.h"
|
||||
#include "intel_atomic.h"
|
||||
#include "intel_atomic_plane.h"
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
#include "i915_utils.h"
|
||||
#include "i915_vgpu.h"
|
||||
#include "i915_vma.h"
|
||||
#include "i9xx_plane_regs.h"
|
||||
#include "intel_cdclk.h"
|
||||
#include "intel_de.h"
|
||||
#include "intel_display_device.h"
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@
|
|||
#include "i915_pvinfo.h"
|
||||
#include "trace.h"
|
||||
|
||||
#include "display/i9xx_plane_regs.h"
|
||||
#include "display/intel_display.h"
|
||||
#include "display/intel_sprite_regs.h"
|
||||
#include "gem/i915_gem_context.h"
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@
|
|||
#include "gvt.h"
|
||||
|
||||
#include "display/bxt_dpio_phy_regs.h"
|
||||
#include "display/i9xx_plane_regs.h"
|
||||
#include "display/intel_cursor_regs.h"
|
||||
#include "display/intel_display.h"
|
||||
#include "display/intel_dpio_phy.h"
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
#include "i915_pvinfo.h"
|
||||
#include "i915_reg.h"
|
||||
|
||||
#include "display/i9xx_plane_regs.h"
|
||||
#include "display/intel_cursor_regs.h"
|
||||
#include "display/intel_sprite_regs.h"
|
||||
#include "display/skl_universal_plane_regs.h"
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
#include "i915_pvinfo.h"
|
||||
#include "intel_mchbar_regs.h"
|
||||
#include "display/bxt_dpio_phy_regs.h"
|
||||
#include "display/i9xx_plane_regs.h"
|
||||
#include "display/intel_cursor_regs.h"
|
||||
#include "display/intel_display_types.h"
|
||||
#include "display/intel_dmc_regs.h"
|
||||
|
|
|
|||
|
|
@ -2260,75 +2260,7 @@
|
|||
#define PIPE_FRMCOUNT_G4X(pipe) _MMIO_PIPE2(dev_priv, pipe, _PIPEA_FRMCOUNT_G4X)
|
||||
#define PIPE_FLIPCOUNT_G4X(pipe) _MMIO_PIPE2(dev_priv, pipe, _PIPEA_FLIPCOUNT_G4X)
|
||||
|
||||
/* Display A control */
|
||||
#define _DSPAADDR_VLV 0x7017C /* vlv/chv */
|
||||
#define _DSPACNTR 0x70180
|
||||
#define DISP_ENABLE REG_BIT(31)
|
||||
#define DISP_PIPE_GAMMA_ENABLE REG_BIT(30)
|
||||
#define DISP_FORMAT_MASK REG_GENMASK(29, 26)
|
||||
#define DISP_FORMAT_8BPP REG_FIELD_PREP(DISP_FORMAT_MASK, 2)
|
||||
#define DISP_FORMAT_BGRA555 REG_FIELD_PREP(DISP_FORMAT_MASK, 3)
|
||||
#define DISP_FORMAT_BGRX555 REG_FIELD_PREP(DISP_FORMAT_MASK, 4)
|
||||
#define DISP_FORMAT_BGRX565 REG_FIELD_PREP(DISP_FORMAT_MASK, 5)
|
||||
#define DISP_FORMAT_BGRX888 REG_FIELD_PREP(DISP_FORMAT_MASK, 6)
|
||||
#define DISP_FORMAT_BGRA888 REG_FIELD_PREP(DISP_FORMAT_MASK, 7)
|
||||
#define DISP_FORMAT_RGBX101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 8)
|
||||
#define DISP_FORMAT_RGBA101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 9)
|
||||
#define DISP_FORMAT_BGRX101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 10)
|
||||
#define DISP_FORMAT_BGRA101010 REG_FIELD_PREP(DISP_FORMAT_MASK, 11)
|
||||
#define DISP_FORMAT_RGBX161616 REG_FIELD_PREP(DISP_FORMAT_MASK, 12)
|
||||
#define DISP_FORMAT_RGBX888 REG_FIELD_PREP(DISP_FORMAT_MASK, 14)
|
||||
#define DISP_FORMAT_RGBA888 REG_FIELD_PREP(DISP_FORMAT_MASK, 15)
|
||||
#define DISP_STEREO_ENABLE REG_BIT(25)
|
||||
#define DISP_PIPE_CSC_ENABLE REG_BIT(24) /* ilk+ */
|
||||
#define DISP_PIPE_SEL_MASK REG_GENMASK(25, 24)
|
||||
#define DISP_PIPE_SEL(pipe) REG_FIELD_PREP(DISP_PIPE_SEL_MASK, (pipe))
|
||||
#define DISP_SRC_KEY_ENABLE REG_BIT(22)
|
||||
#define DISP_LINE_DOUBLE REG_BIT(20)
|
||||
#define DISP_STEREO_POLARITY_SECOND REG_BIT(18)
|
||||
#define DISP_ALPHA_PREMULTIPLY REG_BIT(16) /* CHV pipe B */
|
||||
#define DISP_ROTATE_180 REG_BIT(15)
|
||||
#define DISP_TRICKLE_FEED_DISABLE REG_BIT(14) /* g4x+ */
|
||||
#define DISP_TILED REG_BIT(10)
|
||||
#define DISP_ASYNC_FLIP REG_BIT(9) /* g4x+ */
|
||||
#define DISP_MIRROR REG_BIT(8) /* CHV pipe B */
|
||||
#define _DSPAADDR 0x70184
|
||||
#define _DSPASTRIDE 0x70188
|
||||
#define _DSPAPOS 0x7018C /* reserved */
|
||||
#define DISP_POS_Y_MASK REG_GENMASK(31, 16)
|
||||
#define DISP_POS_Y(y) REG_FIELD_PREP(DISP_POS_Y_MASK, (y))
|
||||
#define DISP_POS_X_MASK REG_GENMASK(15, 0)
|
||||
#define DISP_POS_X(x) REG_FIELD_PREP(DISP_POS_X_MASK, (x))
|
||||
#define _DSPASIZE 0x70190
|
||||
#define DISP_HEIGHT_MASK REG_GENMASK(31, 16)
|
||||
#define DISP_HEIGHT(h) REG_FIELD_PREP(DISP_HEIGHT_MASK, (h))
|
||||
#define DISP_WIDTH_MASK REG_GENMASK(15, 0)
|
||||
#define DISP_WIDTH(w) REG_FIELD_PREP(DISP_WIDTH_MASK, (w))
|
||||
#define _DSPASURF 0x7019C /* 965+ only */
|
||||
#define DISP_ADDR_MASK REG_GENMASK(31, 12)
|
||||
#define _DSPATILEOFF 0x701A4 /* 965+ only */
|
||||
#define DISP_OFFSET_Y_MASK REG_GENMASK(31, 16)
|
||||
#define DISP_OFFSET_Y(y) REG_FIELD_PREP(DISP_OFFSET_Y_MASK, (y))
|
||||
#define DISP_OFFSET_X_MASK REG_GENMASK(15, 0)
|
||||
#define DISP_OFFSET_X(x) REG_FIELD_PREP(DISP_OFFSET_X_MASK, (x))
|
||||
#define _DSPAOFFSET 0x701A4 /* HSW */
|
||||
#define _DSPASURFLIVE 0x701AC
|
||||
#define _DSPAGAMC 0x701E0
|
||||
|
||||
#define DSPADDR_VLV(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR_VLV)
|
||||
#define DSPCNTR(plane) _MMIO_PIPE2(dev_priv, plane, _DSPACNTR)
|
||||
#define DSPADDR(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAADDR)
|
||||
#define DSPSTRIDE(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASTRIDE)
|
||||
#define DSPPOS(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAPOS)
|
||||
#define DSPSIZE(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASIZE)
|
||||
#define DSPSURF(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASURF)
|
||||
#define DSPTILEOFF(plane) _MMIO_PIPE2(dev_priv, plane, _DSPATILEOFF)
|
||||
#define DSPLINOFF(plane) DSPADDR(plane)
|
||||
#define DSPOFFSET(plane) _MMIO_PIPE2(dev_priv, plane, _DSPAOFFSET)
|
||||
#define DSPSURFLIVE(plane) _MMIO_PIPE2(dev_priv, plane, _DSPASURFLIVE)
|
||||
#define DSPGAMC(plane, i) _MMIO_PIPE2(dev_priv, plane, _DSPAGAMC + (5 - (i)) * 4) /* plane C only, 6 x u0.8 */
|
||||
|
||||
/* CHV pipe B blender and primary plane */
|
||||
/* CHV pipe B blender */
|
||||
#define _CHV_BLEND_A 0x60a00
|
||||
#define CHV_BLEND_MASK REG_GENMASK(31, 30)
|
||||
#define CHV_BLEND_LEGACY REG_FIELD_PREP(CHV_BLEND_MASK, 0)
|
||||
|
|
@ -2338,26 +2270,9 @@
|
|||
#define CHV_CANVAS_RED_MASK REG_GENMASK(29, 20)
|
||||
#define CHV_CANVAS_GREEN_MASK REG_GENMASK(19, 10)
|
||||
#define CHV_CANVAS_BLUE_MASK REG_GENMASK(9, 0)
|
||||
#define _PRIMPOS_A 0x60a08
|
||||
#define PRIM_POS_Y_MASK REG_GENMASK(31, 16)
|
||||
#define PRIM_POS_Y(y) REG_FIELD_PREP(PRIM_POS_Y_MASK, (y))
|
||||
#define PRIM_POS_X_MASK REG_GENMASK(15, 0)
|
||||
#define PRIM_POS_X(x) REG_FIELD_PREP(PRIM_POS_X_MASK, (x))
|
||||
#define _PRIMSIZE_A 0x60a0c
|
||||
#define PRIM_HEIGHT_MASK REG_GENMASK(31, 16)
|
||||
#define PRIM_HEIGHT(h) REG_FIELD_PREP(PRIM_HEIGHT_MASK, (h))
|
||||
#define PRIM_WIDTH_MASK REG_GENMASK(15, 0)
|
||||
#define PRIM_WIDTH(w) REG_FIELD_PREP(PRIM_WIDTH_MASK, (w))
|
||||
#define _PRIMCNSTALPHA_A 0x60a10
|
||||
#define PRIM_CONST_ALPHA_ENABLE REG_BIT(31)
|
||||
#define PRIM_CONST_ALPHA_MASK REG_GENMASK(7, 0)
|
||||
#define PRIM_CONST_ALPHA(alpha) REG_FIELD_PREP(PRIM_CONST_ALPHA_MASK, (alpha))
|
||||
|
||||
#define CHV_BLEND(pipe) _MMIO_TRANS2(dev_priv, pipe, _CHV_BLEND_A)
|
||||
#define CHV_CANVAS(pipe) _MMIO_TRANS2(dev_priv, pipe, _CHV_CANVAS_A)
|
||||
#define PRIMPOS(plane) _MMIO_TRANS2(dev_priv, plane, _PRIMPOS_A)
|
||||
#define PRIMSIZE(plane) _MMIO_TRANS2(dev_priv, plane, _PRIMSIZE_A)
|
||||
#define PRIMCNSTALPHA(plane) _MMIO_TRANS2(dev_priv, plane, _PRIMCNSTALPHA_A)
|
||||
|
||||
/* Display/Sprite base address macros */
|
||||
#define DISP_BASEADDR_MASK (0xfffff000)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
#include "display/i9xx_plane_regs.h"
|
||||
#include "display/intel_de.h"
|
||||
#include "display/intel_display.h"
|
||||
#include "display/intel_display_trace.h"
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "display/bxt_dpio_phy_regs.h"
|
||||
#include "display/i9xx_plane_regs.h"
|
||||
#include "display/intel_audio_regs.h"
|
||||
#include "display/intel_backlight_regs.h"
|
||||
#include "display/intel_color_regs.h"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user