Re: [PATCH v2 3/4] drm/i915/display: split out intel_fbc_regs.h from i915_reg.h

2024-04-29 Thread Jani Nikula
On Fri, 26 Apr 2024, Ville Syrjälä  wrote:
> On Fri, Apr 26, 2024 at 01:51:36PM +0300, Jani Nikula wrote:
>> Clean up i915_reg.h.
>> 
>> v2: Drop chicken regs and comments (Ville)
>> 
>> Signed-off-by: Jani Nikula 
>
> Reviewed-by: Ville Syrjälä 

Thanks, pushed the lot to din.

BR,
Jani.


-- 
Jani Nikula, Intel


Re: [PATCH v2 3/4] drm/i915/display: split out intel_fbc_regs.h from i915_reg.h

2024-04-26 Thread Ville Syrjälä
On Fri, Apr 26, 2024 at 01:51:36PM +0300, Jani Nikula wrote:
> Clean up i915_reg.h.
> 
> v2: Drop chicken regs and comments (Ville)
> 
> Signed-off-by: Jani Nikula 

Reviewed-by: Ville Syrjälä 

> ---
>  drivers/gpu/drm/i915/display/intel_fbc.c  |   1 +
>  drivers/gpu/drm/i915/display/intel_fbc_regs.h | 120 +
>  drivers/gpu/drm/i915/gt/intel_workarounds.c   |   2 +
>  drivers/gpu/drm/i915/i915_reg.h   | 123 --
>  drivers/gpu/drm/i915/intel_clock_gating.c |   1 +
>  drivers/gpu/drm/i915/intel_gvt_mmio_table.c   |   1 +
>  6 files changed, 125 insertions(+), 123 deletions(-)
>  create mode 100644 drivers/gpu/drm/i915/display/intel_fbc_regs.h
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc.c 
> b/drivers/gpu/drm/i915/display/intel_fbc.c
> index 7c4d2b2bf20b..151dcd0c45b6 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbc.c
> @@ -54,6 +54,7 @@
>  #include "intel_display_trace.h"
>  #include "intel_display_types.h"
>  #include "intel_fbc.h"
> +#include "intel_fbc_regs.h"
>  #include "intel_frontbuffer.h"
>  
>  #define for_each_fbc_id(__dev_priv, __fbc_id) \
> diff --git a/drivers/gpu/drm/i915/display/intel_fbc_regs.h 
> b/drivers/gpu/drm/i915/display/intel_fbc_regs.h
> new file mode 100644
> index ..ae0699c3c2fe
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/display/intel_fbc_regs.h
> @@ -0,0 +1,120 @@
> +/* SPDX-License-Identifier: MIT */
> +/* Copyright © 2024 Intel Corporation */
> +
> +#ifndef __INTEL_FBC_REGS__
> +#define __INTEL_FBC_REGS__
> +
> +#include "intel_display_reg_defs.h"
> +
> +#define FBC_CFB_BASE _MMIO(0x3200) /* 4k page aligned */
> +#define FBC_LL_BASE  _MMIO(0x3204) /* 4k page aligned */
> +#define FBC_CONTROL  _MMIO(0x3208)
> +#define   FBC_CTL_EN REG_BIT(31)
> +#define   FBC_CTL_PERIODIC   REG_BIT(30)
> +#define   FBC_CTL_INTERVAL_MASK  REG_GENMASK(29, 16)
> +#define   FBC_CTL_INTERVAL(x)
> REG_FIELD_PREP(FBC_CTL_INTERVAL_MASK, (x))
> +#define   FBC_CTL_STOP_ON_MODREG_BIT(15)
> +#define   FBC_CTL_UNCOMPRESSIBLE REG_BIT(14) /* i915+ */
> +#define   FBC_CTL_C3_IDLEREG_BIT(13) /* i945gm only */
> +#define   FBC_CTL_STRIDE_MASKREG_GENMASK(12, 5)
> +#define   FBC_CTL_STRIDE(x)  REG_FIELD_PREP(FBC_CTL_STRIDE_MASK, (x))
> +#define   FBC_CTL_FENCENO_MASK   REG_GENMASK(3, 0)
> +#define   FBC_CTL_FENCENO(x) REG_FIELD_PREP(FBC_CTL_FENCENO_MASK, 
> (x))
> +#define FBC_COMMAND  _MMIO(0x320c)
> +#define   FBC_CMD_COMPRESS   REG_BIT(0)
> +#define FBC_STATUS   _MMIO(0x3210)
> +#define   FBC_STAT_COMPRESSING   REG_BIT(31)
> +#define   FBC_STAT_COMPRESSEDREG_BIT(30)
> +#define   FBC_STAT_MODIFIED  REG_BIT(29)
> +#define   FBC_STAT_CURRENT_LINE_MASK REG_GENMASK(10, 0)
> +#define FBC_CONTROL2 _MMIO(0x3214) /* i965gm only */
> +#define   FBC_CTL_FENCE_DBL  REG_BIT(4)
> +#define   FBC_CTL_IDLE_MASK  REG_GENMASK(3, 2)
> +#define   FBC_CTL_IDLE_IMM   REG_FIELD_PREP(FBC_CTL_IDLE_MASK, 0)
> +#define   FBC_CTL_IDLE_FULL  REG_FIELD_PREP(FBC_CTL_IDLE_MASK, 1)
> +#define   FBC_CTL_IDLE_LINE  REG_FIELD_PREP(FBC_CTL_IDLE_MASK, 2)
> +#define   FBC_CTL_IDLE_DEBUG REG_FIELD_PREP(FBC_CTL_IDLE_MASK, 3)
> +#define   FBC_CTL_CPU_FENCE_EN   REG_BIT(1)
> +#define   FBC_CTL_PLANE_MASK REG_GENMASK(1, 0)
> +#define   FBC_CTL_PLANE(i9xx_plane)  REG_FIELD_PREP(FBC_CTL_PLANE_MASK, 
> (i9xx_plane))
> +#define FBC_FENCE_OFF_MMIO(0x3218)  /* i965gm only, BSpec 
> typo has 321Bh */
> +#define FBC_MOD_NUM  _MMIO(0x3220)  /* i965gm only */
> +#define   FBC_MOD_NUM_MASK   REG_GENMASK(31, 1)
> +#define   FBC_MOD_NUM_VALID  REG_BIT(0)
> +#define FBC_TAG(i)   _MMIO(0x3300 + (i) * 4) /* 49 reisters */
> +#define   FBC_TAG_MASK   REG_GENMASK(1, 0) /* 16 tags 
> per register */
> +#define   FBC_TAG_MODIFIED   REG_FIELD_PREP(FBC_TAG_MASK, 0)
> +#define   FBC_TAG_UNCOMPRESSED   REG_FIELD_PREP(FBC_TAG_MASK, 1)
> +#define   FBC_TAG_UNCOMPRESSIBLE REG_FIELD_PREP(FBC_TAG_MASK, 2)
> +#define   FBC_TAG_COMPRESSED REG_FIELD_PREP(FBC_TAG_MASK, 3)
> +
> +#define FBC_LL_SIZE  (1536)
> +
> +#define DPFC_CB_BASE _MMIO(0x3200)
> +#define ILK_DPFC_CB_BASE(fbc_id) _MMIO_PIPE((fbc_id), 0x43200, 0x43240)
> +#define DPFC_CONTROL _MMIO(0x3208)
> +#define ILK_DPFC_CONTROL(fbc_id) _MMIO_PIPE((fbc_id), 0x43208, 0x43248)
> +#define   DPFC_CTL_ENREG_BIT(31)
> +#define   DPFC_CTL_PLANE_MASK_G4XREG_BIT(30) /* g4x-snb */
> +#define   DPFC_CTL_PLANE_G4X(i9xx_plane) 
> REG_FIELD_PREP(DPFC_CTL_PLANE_MASK_G4X, (i9xx_plane))
> +#define   DPFC_CTL_FENCE_EN_G4X