[PATCH 27/29] drm/omap: Store pixel clock instead of full mode in DPI and SDI encoders
Sebastian Reichel
sebastian.reichel at collabora.com
Sun Dec 9 22:27:21 UTC 2018
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 at ideasonboard.com>
> ---
Reviewed-by: Sebastian Reichel <sebastian.reichel at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20181209/d2a94ff2/attachment.sig>
More information about the dri-devel
mailing list