[PATCH v3 01/13] drm: xlnx: Store base pointers in zynqmp_disp directly

Tomi Valkeinen tomi.valkeinen at ideasonboard.com
Tue Apr 23 12:16:25 UTC 2024


On 22/04/2024 21:45, Sean Anderson wrote:
> The blend, avbuf, and audio members of zynqmp_disp are anonymous structs
> with only one member each. This is rather pointless, so move the members
> up a level.
> 
> Signed-off-by: Sean Anderson <sean.anderson at linux.dev>
> ---
> 
> Changes in v3:
> - New

I would have renamed the fields to, e.g., "blend_base", but it doesn't 
really matter as they are accessed only in a couple of places.

Reviewed-by: Tomi Valkeinen <tomi.valkeinen at ideasonboard.com>

  Tomi

>   drivers/gpu/drm/xlnx/zynqmp_disp.c | 44 +++++++++++++-----------------
>   1 file changed, 19 insertions(+), 25 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c
> index 407bc07cec69..94a3ac046373 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c
> @@ -128,24 +128,18 @@ struct zynqmp_disp_layer {
>    * struct zynqmp_disp - Display controller
>    * @dev: Device structure
>    * @dpsub: Display subsystem
> - * @blend.base: Register I/O base address for the blender
> - * @avbuf.base: Register I/O base address for the audio/video buffer manager
> - * @audio.base: Registers I/O base address for the audio mixer
> + * @blend: Register I/O base address for the blender
> + * @avbuf: Register I/O base address for the audio/video buffer manager
> + * @audio: Registers I/O base address for the audio mixer
>    * @layers: Layers (planes)
>    */
>   struct zynqmp_disp {
>   	struct device *dev;
>   	struct zynqmp_dpsub *dpsub;
>   
> -	struct {
> -		void __iomem *base;
> -	} blend;
> -	struct {
> -		void __iomem *base;
> -	} avbuf;
> -	struct {
> -		void __iomem *base;
> -	} audio;
> +	void __iomem *blend;
> +	void __iomem *avbuf;
> +	void __iomem *audio;
>   
>   	struct zynqmp_disp_layer layers[ZYNQMP_DPSUB_NUM_LAYERS];
>   };
> @@ -356,12 +350,12 @@ static const struct zynqmp_disp_format avbuf_gfx_fmts[] = {
>   
>   static u32 zynqmp_disp_avbuf_read(struct zynqmp_disp *disp, int reg)
>   {
> -	return readl(disp->avbuf.base + reg);
> +	return readl(disp->avbuf + reg);
>   }
>   
>   static void zynqmp_disp_avbuf_write(struct zynqmp_disp *disp, int reg, u32 val)
>   {
> -	writel(val, disp->avbuf.base + reg);
> +	writel(val, disp->avbuf + reg);
>   }
>   
>   static bool zynqmp_disp_layer_is_video(const struct zynqmp_disp_layer *layer)
> @@ -587,7 +581,7 @@ static void zynqmp_disp_avbuf_disable(struct zynqmp_disp *disp)
>   
>   static void zynqmp_disp_blend_write(struct zynqmp_disp *disp, int reg, u32 val)
>   {
> -	writel(val, disp->blend.base + reg);
> +	writel(val, disp->blend + reg);
>   }
>   
>   /*
> @@ -813,7 +807,7 @@ static void zynqmp_disp_blend_layer_disable(struct zynqmp_disp *disp,
>   
>   static void zynqmp_disp_audio_write(struct zynqmp_disp *disp, int reg, u32 val)
>   {
> -	writel(val, disp->audio.base + reg);
> +	writel(val, disp->audio + reg);
>   }
>   
>   /**
> @@ -1237,21 +1231,21 @@ int zynqmp_disp_probe(struct zynqmp_dpsub *dpsub)
>   	disp->dev = &pdev->dev;
>   	disp->dpsub = dpsub;
>   
> -	disp->blend.base = devm_platform_ioremap_resource_byname(pdev, "blend");
> -	if (IS_ERR(disp->blend.base)) {
> -		ret = PTR_ERR(disp->blend.base);
> +	disp->blend = devm_platform_ioremap_resource_byname(pdev, "blend");
> +	if (IS_ERR(disp->blend)) {
> +		ret = PTR_ERR(disp->blend);
>   		goto error;
>   	}
>   
> -	disp->avbuf.base = devm_platform_ioremap_resource_byname(pdev, "av_buf");
> -	if (IS_ERR(disp->avbuf.base)) {
> -		ret = PTR_ERR(disp->avbuf.base);
> +	disp->avbuf = devm_platform_ioremap_resource_byname(pdev, "av_buf");
> +	if (IS_ERR(disp->avbuf)) {
> +		ret = PTR_ERR(disp->avbuf);
>   		goto error;
>   	}
>   
> -	disp->audio.base = devm_platform_ioremap_resource_byname(pdev, "aud");
> -	if (IS_ERR(disp->audio.base)) {
> -		ret = PTR_ERR(disp->audio.base);
> +	disp->audio = devm_platform_ioremap_resource_byname(pdev, "aud");
> +	if (IS_ERR(disp->audio)) {
> +		ret = PTR_ERR(disp->audio);
>   		goto error;
>   	}
>   



More information about the dri-devel mailing list