]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/omapdrm/dss/dpi.c
drm/omap: Store pixel clock instead of full mode in DPI and SDI encoders
[linux.git] / drivers / gpu / drm / omapdrm / dss / dpi.c
index 0cb3cb72f15f274123e40f0ed6b34d8df783afd7..295bc3eeea8070f628b758b763d8c70b79741a53 100644 (file)
@@ -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);
 }