All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jernej Škrabec" <jernej.skrabec@gmail.com>
To: Chen-Yu Tsai <wens@csie.org>, Maxime Ripard <mripard@kernel.org>,
	Samuel Holland <samuel@sholland.org>
Cc: Samuel Holland <samuel@sholland.org>,
	Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev
Subject: Re: [PATCH v3 10/14] drm/sun4i: csc: Add support for the new MMIO layout
Date: Sun, 24 Apr 2022 22:02:09 +0200	[thread overview]
Message-ID: <1814351.tdWV9SEqCh@kista> (raw)
In-Reply-To: <20220424162633.12369-11-samuel@sholland.org>

Dne nedelja, 24. april 2022 ob 18:26:28 CEST je Samuel Holland napisal(a):
> D1 changes the MMIO offsets for the CSC blocks in the first mixer. The
> mixers' ccsc property is used as an index into the ccsc_base array. Use
> an enumeration to describe this index, and add the new set of offsets.
> 
> Signed-off-by: Samuel Holland <samuel@sholland.org>

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej Skrabec

> ---
> 
> (no changes since v2)
> 
> Changes in v2:
>  - Use an enumeration for the ccsc value.
> 
>  drivers/gpu/drm/sun4i/sun8i_csc.c   |  7 ++++---
>  drivers/gpu/drm/sun4i/sun8i_csc.h   |  1 +
>  drivers/gpu/drm/sun4i/sun8i_mixer.c | 18 +++++++++---------
>  drivers/gpu/drm/sun4i/sun8i_mixer.h | 14 ++++++++++----
>  4 files changed, 24 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.c b/drivers/gpu/drm/sun4i/
sun8i_csc.c
> index 9bd62de0c288..58480d8e4f70 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_csc.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_csc.c
> @@ -8,9 +8,10 @@
>  #include "sun8i_csc.h"
>  #include "sun8i_mixer.h"
>  
> -static const u32 ccsc_base[2][2] = {
> -	{CCSC00_OFFSET, CCSC01_OFFSET},
> -	{CCSC10_OFFSET, CCSC11_OFFSET},
> +static const u32 ccsc_base[][2] = {
> +	[CCSC_MIXER0_LAYOUT]	= {CCSC00_OFFSET, CCSC01_OFFSET},
> +	[CCSC_MIXER1_LAYOUT]	= {CCSC10_OFFSET, CCSC11_OFFSET},
> +	[CCSC_D1_MIXER0_LAYOUT]	= {CCSC00_OFFSET, 
CCSC01_D1_OFFSET},
>  };
>  
>  /*
> diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.h b/drivers/gpu/drm/sun4i/
sun8i_csc.h
> index 022cafa6c06c..828b86fd0cab 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_csc.h
> +++ b/drivers/gpu/drm/sun4i/sun8i_csc.h
> @@ -13,6 +13,7 @@ struct sun8i_mixer;
>  /* VI channel CSC units offsets */
>  #define CCSC00_OFFSET 0xAA050
>  #define CCSC01_OFFSET 0xFA050
> +#define CCSC01_D1_OFFSET 0xFA000
>  #define CCSC10_OFFSET 0xA0000
>  #define CCSC11_OFFSET 0xF0000
>  
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/
sun8i_mixer.c
> index 6b1711a9a71f..4ce593c99807 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> @@ -564,7 +564,7 @@ static int sun8i_mixer_remove(struct platform_device 
*pdev)
>  }
>  
>  static const struct sun8i_mixer_cfg sun8i_a83t_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
>  	.ui_num		= 3,
> @@ -572,7 +572,7 @@ static const struct sun8i_mixer_cfg 
sun8i_a83t_mixer0_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_a83t_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
>  	.ui_num		= 1,
> @@ -580,7 +580,7 @@ static const struct sun8i_mixer_cfg 
sun8i_a83t_mixer1_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 432000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
> @@ -589,7 +589,7 @@ static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg 
= {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
> @@ -598,7 +598,7 @@ static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg 
= {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_r40_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
> @@ -611,12 +611,12 @@ static const struct sun8i_mixer_cfg 
sun8i_v3s_mixer_cfg = {
>  	.ui_num = 1,
>  	.scaler_mask = 0x3,
>  	.scanline_yuv = 2048,
> -	.ccsc = 0,
> +	.ccsc = CCSC_MIXER0_LAYOUT,
>  	.mod_rate = 150000000,
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_a64_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 4096,
> @@ -625,7 +625,7 @@ static const struct sun8i_mixer_cfg 
sun50i_a64_mixer0_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_a64_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
> @@ -634,7 +634,7 @@ static const struct sun8i_mixer_cfg 
sun50i_a64_mixer1_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_h6_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.is_de3		= true,
>  	.mod_rate	= 600000000,
>  	.scaler_mask	= 0xf,
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h b/drivers/gpu/drm/sun4i/
sun8i_mixer.h
> index 5b3fbee18671..85c94884fb9a 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.h
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h
> @@ -141,6 +141,15 @@
>  #define SUN50I_MIXER_CDC0_EN			0xd0000
>  #define SUN50I_MIXER_CDC1_EN			0xd8000
>  
> +enum {
> +	/* First mixer or second mixer with VEP support. */
> +	CCSC_MIXER0_LAYOUT,
> +	/* Second mixer without VEP support. */
> +	CCSC_MIXER1_LAYOUT,
> +	/* First mixer with the MMIO layout found in the D1 SoC. */
> +	CCSC_D1_MIXER0_LAYOUT,
> +};
> +
>  /**
>   * struct sun8i_mixer_cfg - mixer HW configuration
>   * @vi_num: number of VI channels
> @@ -149,10 +158,7 @@
>   *	First, scaler supports for VI channels is defined and after that, 
scaler
>   *	support for UI channels. For example, if mixer has 2 VI channels 
without
>   *	scaler and 2 UI channels with scaler, bitmask would be 0xC.
> - * @ccsc: select set of CCSC base addresses
> - *	Set value to 0 if this is first mixer or second mixer with VEP 
support.
> - *	Set value to 1 if this is second mixer without VEP support. Other 
values
> - *	are invalid.
> + * @ccsc: select set of CCSC base addresses from the enumeration above.
>   * @mod_rate: module clock rate that needs to be set in order to have
>   *	a functional block.
>   * @is_de3: true, if this is next gen display engine 3.0, false otherwise.
> -- 
> 2.35.1
> 
> 



WARNING: multiple messages have this Message-ID (diff)
From: "Jernej Škrabec" <jernej.skrabec@gmail.com>
To: Chen-Yu Tsai <wens@csie.org>, Maxime Ripard <mripard@kernel.org>,
	Samuel Holland <samuel@sholland.org>
Cc: Samuel Holland <samuel@sholland.org>,
	Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev
Subject: Re: [PATCH v3 10/14] drm/sun4i: csc: Add support for the new MMIO layout
Date: Sun, 24 Apr 2022 22:02:09 +0200	[thread overview]
Message-ID: <1814351.tdWV9SEqCh@kista> (raw)
In-Reply-To: <20220424162633.12369-11-samuel@sholland.org>

Dne nedelja, 24. april 2022 ob 18:26:28 CEST je Samuel Holland napisal(a):
> D1 changes the MMIO offsets for the CSC blocks in the first mixer. The
> mixers' ccsc property is used as an index into the ccsc_base array. Use
> an enumeration to describe this index, and add the new set of offsets.
> 
> Signed-off-by: Samuel Holland <samuel@sholland.org>

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej Skrabec

> ---
> 
> (no changes since v2)
> 
> Changes in v2:
>  - Use an enumeration for the ccsc value.
> 
>  drivers/gpu/drm/sun4i/sun8i_csc.c   |  7 ++++---
>  drivers/gpu/drm/sun4i/sun8i_csc.h   |  1 +
>  drivers/gpu/drm/sun4i/sun8i_mixer.c | 18 +++++++++---------
>  drivers/gpu/drm/sun4i/sun8i_mixer.h | 14 ++++++++++----
>  4 files changed, 24 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.c b/drivers/gpu/drm/sun4i/
sun8i_csc.c
> index 9bd62de0c288..58480d8e4f70 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_csc.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_csc.c
> @@ -8,9 +8,10 @@
>  #include "sun8i_csc.h"
>  #include "sun8i_mixer.h"
>  
> -static const u32 ccsc_base[2][2] = {
> -	{CCSC00_OFFSET, CCSC01_OFFSET},
> -	{CCSC10_OFFSET, CCSC11_OFFSET},
> +static const u32 ccsc_base[][2] = {
> +	[CCSC_MIXER0_LAYOUT]	= {CCSC00_OFFSET, CCSC01_OFFSET},
> +	[CCSC_MIXER1_LAYOUT]	= {CCSC10_OFFSET, CCSC11_OFFSET},
> +	[CCSC_D1_MIXER0_LAYOUT]	= {CCSC00_OFFSET, 
CCSC01_D1_OFFSET},
>  };
>  
>  /*
> diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.h b/drivers/gpu/drm/sun4i/
sun8i_csc.h
> index 022cafa6c06c..828b86fd0cab 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_csc.h
> +++ b/drivers/gpu/drm/sun4i/sun8i_csc.h
> @@ -13,6 +13,7 @@ struct sun8i_mixer;
>  /* VI channel CSC units offsets */
>  #define CCSC00_OFFSET 0xAA050
>  #define CCSC01_OFFSET 0xFA050
> +#define CCSC01_D1_OFFSET 0xFA000
>  #define CCSC10_OFFSET 0xA0000
>  #define CCSC11_OFFSET 0xF0000
>  
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/
sun8i_mixer.c
> index 6b1711a9a71f..4ce593c99807 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> @@ -564,7 +564,7 @@ static int sun8i_mixer_remove(struct platform_device 
*pdev)
>  }
>  
>  static const struct sun8i_mixer_cfg sun8i_a83t_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
>  	.ui_num		= 3,
> @@ -572,7 +572,7 @@ static const struct sun8i_mixer_cfg 
sun8i_a83t_mixer0_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_a83t_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
>  	.ui_num		= 1,
> @@ -580,7 +580,7 @@ static const struct sun8i_mixer_cfg 
sun8i_a83t_mixer1_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 432000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
> @@ -589,7 +589,7 @@ static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg 
= {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
> @@ -598,7 +598,7 @@ static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg 
= {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_r40_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
> @@ -611,12 +611,12 @@ static const struct sun8i_mixer_cfg 
sun8i_v3s_mixer_cfg = {
>  	.ui_num = 1,
>  	.scaler_mask = 0x3,
>  	.scanline_yuv = 2048,
> -	.ccsc = 0,
> +	.ccsc = CCSC_MIXER0_LAYOUT,
>  	.mod_rate = 150000000,
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_a64_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 4096,
> @@ -625,7 +625,7 @@ static const struct sun8i_mixer_cfg 
sun50i_a64_mixer0_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_a64_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
> @@ -634,7 +634,7 @@ static const struct sun8i_mixer_cfg 
sun50i_a64_mixer1_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_h6_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.is_de3		= true,
>  	.mod_rate	= 600000000,
>  	.scaler_mask	= 0xf,
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h b/drivers/gpu/drm/sun4i/
sun8i_mixer.h
> index 5b3fbee18671..85c94884fb9a 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.h
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h
> @@ -141,6 +141,15 @@
>  #define SUN50I_MIXER_CDC0_EN			0xd0000
>  #define SUN50I_MIXER_CDC1_EN			0xd8000
>  
> +enum {
> +	/* First mixer or second mixer with VEP support. */
> +	CCSC_MIXER0_LAYOUT,
> +	/* Second mixer without VEP support. */
> +	CCSC_MIXER1_LAYOUT,
> +	/* First mixer with the MMIO layout found in the D1 SoC. */
> +	CCSC_D1_MIXER0_LAYOUT,
> +};
> +
>  /**
>   * struct sun8i_mixer_cfg - mixer HW configuration
>   * @vi_num: number of VI channels
> @@ -149,10 +158,7 @@
>   *	First, scaler supports for VI channels is defined and after that, 
scaler
>   *	support for UI channels. For example, if mixer has 2 VI channels 
without
>   *	scaler and 2 UI channels with scaler, bitmask would be 0xC.
> - * @ccsc: select set of CCSC base addresses
> - *	Set value to 0 if this is first mixer or second mixer with VEP 
support.
> - *	Set value to 1 if this is second mixer without VEP support. Other 
values
> - *	are invalid.
> + * @ccsc: select set of CCSC base addresses from the enumeration above.
>   * @mod_rate: module clock rate that needs to be set in order to have
>   *	a functional block.
>   * @is_de3: true, if this is next gen display engine 3.0, false otherwise.
> -- 
> 2.35.1
> 
> 



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: "Jernej Škrabec" <jernej.skrabec@gmail.com>
To: Chen-Yu Tsai <wens@csie.org>, Maxime Ripard <mripard@kernel.org>,
	Samuel Holland <samuel@sholland.org>
Cc: devicetree@vger.kernel.org, Samuel Holland <samuel@sholland.org>,
	David Airlie <airlied@linux.ie>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	linux-sunxi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v3 10/14] drm/sun4i: csc: Add support for the new MMIO layout
Date: Sun, 24 Apr 2022 22:02:09 +0200	[thread overview]
Message-ID: <1814351.tdWV9SEqCh@kista> (raw)
In-Reply-To: <20220424162633.12369-11-samuel@sholland.org>

Dne nedelja, 24. april 2022 ob 18:26:28 CEST je Samuel Holland napisal(a):
> D1 changes the MMIO offsets for the CSC blocks in the first mixer. The
> mixers' ccsc property is used as an index into the ccsc_base array. Use
> an enumeration to describe this index, and add the new set of offsets.
> 
> Signed-off-by: Samuel Holland <samuel@sholland.org>

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej Skrabec

> ---
> 
> (no changes since v2)
> 
> Changes in v2:
>  - Use an enumeration for the ccsc value.
> 
>  drivers/gpu/drm/sun4i/sun8i_csc.c   |  7 ++++---
>  drivers/gpu/drm/sun4i/sun8i_csc.h   |  1 +
>  drivers/gpu/drm/sun4i/sun8i_mixer.c | 18 +++++++++---------
>  drivers/gpu/drm/sun4i/sun8i_mixer.h | 14 ++++++++++----
>  4 files changed, 24 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.c b/drivers/gpu/drm/sun4i/
sun8i_csc.c
> index 9bd62de0c288..58480d8e4f70 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_csc.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_csc.c
> @@ -8,9 +8,10 @@
>  #include "sun8i_csc.h"
>  #include "sun8i_mixer.h"
>  
> -static const u32 ccsc_base[2][2] = {
> -	{CCSC00_OFFSET, CCSC01_OFFSET},
> -	{CCSC10_OFFSET, CCSC11_OFFSET},
> +static const u32 ccsc_base[][2] = {
> +	[CCSC_MIXER0_LAYOUT]	= {CCSC00_OFFSET, CCSC01_OFFSET},
> +	[CCSC_MIXER1_LAYOUT]	= {CCSC10_OFFSET, CCSC11_OFFSET},
> +	[CCSC_D1_MIXER0_LAYOUT]	= {CCSC00_OFFSET, 
CCSC01_D1_OFFSET},
>  };
>  
>  /*
> diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.h b/drivers/gpu/drm/sun4i/
sun8i_csc.h
> index 022cafa6c06c..828b86fd0cab 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_csc.h
> +++ b/drivers/gpu/drm/sun4i/sun8i_csc.h
> @@ -13,6 +13,7 @@ struct sun8i_mixer;
>  /* VI channel CSC units offsets */
>  #define CCSC00_OFFSET 0xAA050
>  #define CCSC01_OFFSET 0xFA050
> +#define CCSC01_D1_OFFSET 0xFA000
>  #define CCSC10_OFFSET 0xA0000
>  #define CCSC11_OFFSET 0xF0000
>  
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/
sun8i_mixer.c
> index 6b1711a9a71f..4ce593c99807 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> @@ -564,7 +564,7 @@ static int sun8i_mixer_remove(struct platform_device 
*pdev)
>  }
>  
>  static const struct sun8i_mixer_cfg sun8i_a83t_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
>  	.ui_num		= 3,
> @@ -572,7 +572,7 @@ static const struct sun8i_mixer_cfg 
sun8i_a83t_mixer0_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_a83t_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
>  	.ui_num		= 1,
> @@ -580,7 +580,7 @@ static const struct sun8i_mixer_cfg 
sun8i_a83t_mixer1_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 432000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
> @@ -589,7 +589,7 @@ static const struct sun8i_mixer_cfg sun8i_h3_mixer0_cfg 
= {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 2048,
> @@ -598,7 +598,7 @@ static const struct sun8i_mixer_cfg sun8i_r40_mixer0_cfg 
= {
>  };
>  
>  static const struct sun8i_mixer_cfg sun8i_r40_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
> @@ -611,12 +611,12 @@ static const struct sun8i_mixer_cfg 
sun8i_v3s_mixer_cfg = {
>  	.ui_num = 1,
>  	.scaler_mask = 0x3,
>  	.scanline_yuv = 2048,
> -	.ccsc = 0,
> +	.ccsc = CCSC_MIXER0_LAYOUT,
>  	.mod_rate = 150000000,
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_a64_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0xf,
>  	.scanline_yuv	= 4096,
> @@ -625,7 +625,7 @@ static const struct sun8i_mixer_cfg 
sun50i_a64_mixer0_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_a64_mixer1_cfg = {
> -	.ccsc		= 1,
> +	.ccsc		= CCSC_MIXER1_LAYOUT,
>  	.mod_rate	= 297000000,
>  	.scaler_mask	= 0x3,
>  	.scanline_yuv	= 2048,
> @@ -634,7 +634,7 @@ static const struct sun8i_mixer_cfg 
sun50i_a64_mixer1_cfg = {
>  };
>  
>  static const struct sun8i_mixer_cfg sun50i_h6_mixer0_cfg = {
> -	.ccsc		= 0,
> +	.ccsc		= CCSC_MIXER0_LAYOUT,
>  	.is_de3		= true,
>  	.mod_rate	= 600000000,
>  	.scaler_mask	= 0xf,
> diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h b/drivers/gpu/drm/sun4i/
sun8i_mixer.h
> index 5b3fbee18671..85c94884fb9a 100644
> --- a/drivers/gpu/drm/sun4i/sun8i_mixer.h
> +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.h
> @@ -141,6 +141,15 @@
>  #define SUN50I_MIXER_CDC0_EN			0xd0000
>  #define SUN50I_MIXER_CDC1_EN			0xd8000
>  
> +enum {
> +	/* First mixer or second mixer with VEP support. */
> +	CCSC_MIXER0_LAYOUT,
> +	/* Second mixer without VEP support. */
> +	CCSC_MIXER1_LAYOUT,
> +	/* First mixer with the MMIO layout found in the D1 SoC. */
> +	CCSC_D1_MIXER0_LAYOUT,
> +};
> +
>  /**
>   * struct sun8i_mixer_cfg - mixer HW configuration
>   * @vi_num: number of VI channels
> @@ -149,10 +158,7 @@
>   *	First, scaler supports for VI channels is defined and after that, 
scaler
>   *	support for UI channels. For example, if mixer has 2 VI channels 
without
>   *	scaler and 2 UI channels with scaler, bitmask would be 0xC.
> - * @ccsc: select set of CCSC base addresses
> - *	Set value to 0 if this is first mixer or second mixer with VEP 
support.
> - *	Set value to 1 if this is second mixer without VEP support. Other 
values
> - *	are invalid.
> + * @ccsc: select set of CCSC base addresses from the enumeration above.
>   * @mod_rate: module clock rate that needs to be set in order to have
>   *	a functional block.
>   * @is_de3: true, if this is next gen display engine 3.0, false otherwise.
> -- 
> 2.35.1
> 
> 



  reply	other threads:[~2022-04-24 20:02 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-24 16:26 [PATCH v3 00/14] drm/sun4i: Allwinner D1 Display Engine 2.0 Support Samuel Holland
2022-04-24 16:26 ` Samuel Holland
2022-04-24 16:26 ` Samuel Holland
2022-04-24 16:26 ` [PATCH v3 01/14] dt-bindings: display: Separate clock item lists by compatible Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 02/14] dt-bindings: display: Add D1 display engine compatibles Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 03/14] drm/sun4i: Remove obsolete references to PHYS_OFFSET Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 04/14] drm/sun4i: hdmi: Use more portable I/O helpers Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 19:59   ` Jernej Škrabec
2022-04-24 19:59     ` Jernej Škrabec
2022-04-24 19:59     ` Jernej Škrabec
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 05/14] drm/sun4i: Allow building the driver on RISC-V Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 06/14] sun4i/drm: engine: Add mode_set callback Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 07/14] sun4i/drm: backend: use mode_set engine callback Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 08/14] sun4i/drm: sun8i: " Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 09/14] drm/sun4i: Allow VI layers to be primary planes Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 20:01   ` Jernej Škrabec
2022-04-24 20:01     ` Jernej Škrabec
2022-04-24 20:01     ` Jernej Škrabec
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 10/14] drm/sun4i: csc: Add support for the new MMIO layout Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 20:02   ` Jernej Škrabec [this message]
2022-04-24 20:02     ` Jernej Škrabec
2022-04-24 20:02     ` Jernej Škrabec
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 11/14] drm/sun4i: Add support for D1 mixers Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 12/14] drm/sun4i: Add support for D1 TCON TOP Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 20:06   ` Jernej Škrabec
2022-04-24 20:06     ` Jernej Škrabec
2022-04-24 20:06     ` Jernej Škrabec
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 13/14] drm/sun4i: Add support for D1 TCONs Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 20:08   ` Jernej Škrabec
2022-04-24 20:08     ` Jernej Škrabec
2022-04-24 20:08     ` Jernej Škrabec
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-24 16:26 ` [PATCH v3 14/14] drm/sun4i: Add compatible for D1 display engine Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-24 16:26   ` Samuel Holland
2022-04-26 12:41   ` (subset) " Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard
2022-04-26 12:41     ` Maxime Ripard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1814351.tdWV9SEqCh@kista \
    --to=jernej.skrabec@gmail.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=mripard@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=samuel@sholland.org \
    --cc=wens@csie.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.