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 >
