On Sat, Oct 11, 2025 at 06:51:24PM +0200, Marek Vasut wrote:
> Rework dc_ed_pec_src_sel() to drop ARRAY_SIZE() use and use new sentinel
> trailing entry LINK_ID_LAST to stop iterating over src_sels array instead.
> This allows passing of this array around as OF match data, which will be
> useful when using this pipeline on i.MX95, which has different src_sels
> array.
>
> Signed-off-by: Marek Vasut <[email protected]>
> ---

Reviewed-by: Frank Li <[email protected]>

> Cc: Abel Vesa <[email protected]>
> Cc: Conor Dooley <[email protected]>
> Cc: Fabio Estevam <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>
> Cc: Laurent Pinchart <[email protected]>
> Cc: Liu Ying <[email protected]>
> Cc: Lucas Stach <[email protected]>
> Cc: Peng Fan <[email protected]>
> Cc: Pengutronix Kernel Team <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Shawn Guo <[email protected]>
> Cc: Thomas Zimmermann <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
>  drivers/gpu/drm/imx/dc/dc-ed.c | 7 ++++---
>  drivers/gpu/drm/imx/dc/dc-pe.h | 1 +
>  2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/imx/dc/dc-ed.c b/drivers/gpu/drm/imx/dc/dc-ed.c
> index 9a141c6aa0812..2fdd22a903dec 100644
> --- a/drivers/gpu/drm/imx/dc/dc-ed.c
> +++ b/drivers/gpu/drm/imx/dc/dc-ed.c
> @@ -116,6 +116,7 @@ static const enum dc_link_id src_sels[] = {
>       LINK_ID_LAYERBLEND2_MX8QXP,
>       LINK_ID_LAYERBLEND1_MX8QXP,
>       LINK_ID_LAYERBLEND0_MX8QXP,
> +     LINK_ID_LAST    /* sentinel */
>  };
>
>  static inline void dc_ed_pec_enable_shden(struct dc_ed *ed)
> @@ -141,10 +142,10 @@ static inline void dc_ed_pec_div_reset(struct dc_ed *ed)
>
>  void dc_ed_pec_src_sel(struct dc_ed *ed, enum dc_link_id src)
>  {
> -     int i;
> +     int i = 0;
>
> -     for (i = 0; i < ARRAY_SIZE(src_sels); i++) {
> -             if (src_sels[i] == src) {
> +     while (src_sels[i] != LINK_ID_LAST) {
> +             if (src_sels[i++] == src) {
>                       regmap_write(ed->reg_pec, PIXENGCFG_DYNAMIC, src);
>                       return;
>               }
> diff --git a/drivers/gpu/drm/imx/dc/dc-pe.h b/drivers/gpu/drm/imx/dc/dc-pe.h
> index 866859403a79d..1e1e04cc39d4b 100644
> --- a/drivers/gpu/drm/imx/dc/dc-pe.h
> +++ b/drivers/gpu/drm/imx/dc/dc-pe.h
> @@ -33,6 +33,7 @@ enum dc_link_id {
>       LINK_ID_LAYERBLEND1_MX8QXP      = 0x22,
>       LINK_ID_LAYERBLEND2_MX8QXP      = 0x23,
>       LINK_ID_LAYERBLEND3_MX8QXP      = 0x24,
> +     LINK_ID_LAST                    = 0xffffffff, /* sentinel */
>  };
>
>  enum dc_lb_mode {
> --
> 2.51.0
>

Reply via email to