Don't populate the read-only array clock_div_by_lanes on the stack but
instead it static const. Also makes the object code a little smaller.
Signed-off-by: Colin Ian King <[email protected]>
---
drivers/gpu/drm/bridge/adv7511/adv7533.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c b/drivers/gpu/drm/bridge/adv7511/adv7533.c
index eb7579dec40a..ef6270806d1d 100644
--- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
+++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
@@ -29,7 +29,7 @@ static void adv7511_dsi_config_timing_gen(struct adv7511 *adv)
struct mipi_dsi_device *dsi = adv->dsi;
struct drm_display_mode *mode = &adv->curr_mode;
unsigned int hsw, hfp, hbp, vsw, vfp, vbp;
- u8 clock_div_by_lanes[] = { 6, 4, 3 }; /* 2, 3, 4 lanes */
+ static const u8 clock_div_by_lanes[] = { 6, 4, 3 }; /* 2, 3, 4 lanes */
hsw = mode->hsync_end - mode->hsync_start;
hfp = mode->hsync_start - mode->hdisplay;
--
2.32.0
Hi Colin,
Thank you for the patch.
On Sun, Jan 09, 2022 at 08:41:05PM +0000, Colin Ian King wrote:
> Don't populate the read-only array clock_div_by_lanes on the stack but
> instead it static const. Also makes the object code a little smaller.
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> drivers/gpu/drm/bridge/adv7511/adv7533.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c b/drivers/gpu/drm/bridge/adv7511/adv7533.c
> index eb7579dec40a..ef6270806d1d 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
> @@ -29,7 +29,7 @@ static void adv7511_dsi_config_timing_gen(struct adv7511 *adv)
> struct mipi_dsi_device *dsi = adv->dsi;
> struct drm_display_mode *mode = &adv->curr_mode;
> unsigned int hsw, hfp, hbp, vsw, vfp, vbp;
> - u8 clock_div_by_lanes[] = { 6, 4, 3 }; /* 2, 3, 4 lanes */
> + static const u8 clock_div_by_lanes[] = { 6, 4, 3 }; /* 2, 3, 4 lanes */
It's not mandatory, but I have a tendency to declare static const
variable first before all mutable variables.
>
> hsw = mode->hsync_end - mode->hsync_start;
> hfp = mode->hsync_start - mode->hdisplay;
I wonder if
/* set pixel clock divider mode */
regmap_write(adv->regmap_cec, 0x16, (12 / dsi->lanes) << 3);
would be even better, or if it would be too much black magic. Either
way,
Reviewed-by: Laurent Pinchart <[email protected]>
--
Regards,
Laurent Pinchart
On Sun, 9 Jan 2022 at 23:58, Laurent Pinchart
<[email protected]> wrote:
>
> Hi Colin,
>
> Thank you for the patch.
>
> On Sun, Jan 09, 2022 at 08:41:05PM +0000, Colin Ian King wrote:
> > Don't populate the read-only array clock_div_by_lanes on the stack but
> > instead it static const. Also makes the object code a little smaller.
> >
> > Signed-off-by: Colin Ian King <[email protected]>
> > ---
> > drivers/gpu/drm/bridge/adv7511/adv7533.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c b/drivers/gpu/drm/bridge/adv7511/adv7533.c
> > index eb7579dec40a..ef6270806d1d 100644
> > --- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
> > +++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
> > @@ -29,7 +29,7 @@ static void adv7511_dsi_config_timing_gen(struct adv7511 *adv)
> > struct mipi_dsi_device *dsi = adv->dsi;
> > struct drm_display_mode *mode = &adv->curr_mode;
> > unsigned int hsw, hfp, hbp, vsw, vfp, vbp;
> > - u8 clock_div_by_lanes[] = { 6, 4, 3 }; /* 2, 3, 4 lanes */
> > + static const u8 clock_div_by_lanes[] = { 6, 4, 3 }; /* 2, 3, 4 lanes */
>
> It's not mandatory, but I have a tendency to declare static const
> variable first before all mutable variables.
>
> >
> > hsw = mode->hsync_end - mode->hsync_start;
> > hfp = mode->hsync_start - mode->hdisplay;
>
> I wonder if
>
> /* set pixel clock divider mode */
> regmap_write(adv->regmap_cec, 0x16, (12 / dsi->lanes) << 3);
>
> would be even better, or if it would be too much black magic. Either
> way,
>
> Reviewed-by: Laurent Pinchart <[email protected]>
Applied to drm-misc-next.