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.pinch...@ideasonboard.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reic...@collabora.com>

-- 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@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

Attachment: signature.asc
Description: PGP signature

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to