Hi, On Wed, Dec 05, 2018 at 05:00:20PM +0200, Laurent Pinchart wrote: > The DPI and SDI encoders store the full videomode upon mode set, to only > use the value of the pixel clock when enabling the encoder. This wastes > memory. Store the pixel clock value only. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> -- Sebastian > drivers/gpu/drm/omapdrm/dss/dpi.c | 9 ++++----- > drivers/gpu/drm/omapdrm/dss/sdi.c | 6 +++--- > 2 files changed, 7 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c > index 0cb3cb72f15f..295bc3eeea80 100644 > --- a/drivers/gpu/drm/omapdrm/dss/dpi.c > +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c > @@ -47,8 +47,8 @@ struct dpi_data { > > struct mutex lock; > > - struct videomode vm; > struct dss_lcd_mgr_config mgr_config; > + unsigned long pixelclock; > int data_lines; > > struct omap_dss_device output; > @@ -347,16 +347,15 @@ static int dpi_set_dispc_clk(struct dpi_data *dpi, unsigned long pck_req, > > static int dpi_set_mode(struct dpi_data *dpi) > { > - const struct videomode *vm = &dpi->vm; > int lck_div = 0, pck_div = 0; > unsigned long fck = 0; > int r = 0; > > if (dpi->pll) > r = dpi_set_pll_clk(dpi, dpi->output.dispc_channel, > - vm->pixelclock, &fck, &lck_div, &pck_div); > + dpi->pixelclock, &fck, &lck_div, &pck_div); > else > - r = dpi_set_dispc_clk(dpi, vm->pixelclock, &fck, > + r = dpi_set_dispc_clk(dpi, dpi->pixelclock, &fck, > &lck_div, &pck_div); > if (r) > return r; > @@ -467,7 +466,7 @@ static void dpi_set_timings(struct omap_dss_device *dssdev, > > mutex_lock(&dpi->lock); > > - drm_display_mode_to_videomode(mode, &dpi->vm); > + dpi->pixelclock = mode->clock * 1000; > > mutex_unlock(&dpi->lock); > } > diff --git a/drivers/gpu/drm/omapdrm/dss/sdi.c b/drivers/gpu/drm/omapdrm/dss/sdi.c > index f096a7f77e5f..38b0bf19538d 100644 > --- a/drivers/gpu/drm/omapdrm/dss/sdi.c > +++ b/drivers/gpu/drm/omapdrm/dss/sdi.c > @@ -37,7 +37,7 @@ struct sdi_device { > struct regulator *vdds_sdi_reg; > > struct dss_lcd_mgr_config mgr_config; > - struct videomode vm; > + unsigned long pixelclock; > int datapairs; > > struct omap_dss_device output; > @@ -144,7 +144,7 @@ static void sdi_display_enable(struct omap_dss_device *dssdev) > if (r) > goto err_get_dispc; > > - r = sdi_calc_clock_div(sdi, sdi->vm.pixelclock, &fck, &dispc_cinfo); > + r = sdi_calc_clock_div(sdi, sdi->pixelclock, &fck, &dispc_cinfo); > if (r) > goto err_calc_clock_div; > > @@ -210,7 +210,7 @@ static void sdi_set_timings(struct omap_dss_device *dssdev, > { > struct sdi_device *sdi = dssdev_to_sdi(dssdev); > > - drm_display_mode_to_videomode(mode, &sdi->vm); > + sdi->pixelclock = mode->clock * 1000; > } > > static int sdi_check_timings(struct omap_dss_device *dssdev, > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel