diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-10-31 10:41:57 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-11-18 07:32:28 -0500 |
commit | 688af02d22c11a077532d6437e4afc7bdc972f82 (patch) | |
tree | d241479783178b85d67abb350ba053a99355115a | |
parent | ada9443ff407f83a96abc15ea44a106250dd23f2 (diff) |
OMAPDSS: pass pck to dss fck clock calc
We need the required pixel clock rate when calculating the dss fclk on
SoCs that have a dedicated DSS PLL.
This patch changes the code to pass the pck to the calc functions. The
pck rate is taken into use in the next patch.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r-- | drivers/video/omap2/dss/dpi.c | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss.c | 3 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss.h | 3 | ||||
-rw-r--r-- | drivers/video/omap2/dss/sdi.c | 2 |
4 files changed, 6 insertions, 4 deletions
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c index 16acdddc94e3..ae1c8b9d39ca 100644 --- a/drivers/video/omap2/dss/dpi.c +++ b/drivers/video/omap2/dss/dpi.c | |||
@@ -236,7 +236,7 @@ static bool dpi_dss_clk_calc(unsigned long pck, struct dpi_clk_calc_ctx *ctx) | |||
236 | ctx->pck_min = 0; | 236 | ctx->pck_min = 0; |
237 | ctx->pck_max = pck + 1000 * i * i * i; | 237 | ctx->pck_max = pck + 1000 * i * i * i; |
238 | 238 | ||
239 | ok = dss_div_calc(ctx->pck_min, dpi_calc_dss_cb, ctx); | 239 | ok = dss_div_calc(pck, ctx->pck_min, dpi_calc_dss_cb, ctx); |
240 | if (ok) | 240 | if (ok) |
241 | return ok; | 241 | return ok; |
242 | } | 242 | } |
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c index 7af97199c905..08c58ebe219c 100644 --- a/drivers/video/omap2/dss/dss.c +++ b/drivers/video/omap2/dss/dss.c | |||
@@ -436,7 +436,8 @@ enum omap_dss_clk_source dss_get_lcd_clk_source(enum omap_channel channel) | |||
436 | } | 436 | } |
437 | } | 437 | } |
438 | 438 | ||
439 | bool dss_div_calc(unsigned long fck_min, dss_div_calc_func func, void *data) | 439 | bool dss_div_calc(unsigned long pck, unsigned long fck_min, |
440 | dss_div_calc_func func, void *data) | ||
440 | { | 441 | { |
441 | int fckd, fckd_start, fckd_stop; | 442 | int fckd, fckd_start, fckd_stop; |
442 | unsigned long fck; | 443 | unsigned long fck; |
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h index 6fc786fddbcb..2acc6615b984 100644 --- a/drivers/video/omap2/dss/dss.h +++ b/drivers/video/omap2/dss/dss.h | |||
@@ -245,7 +245,8 @@ void dss_set_dac_pwrdn_bgz(bool enable); | |||
245 | int dss_set_fck_rate(unsigned long rate); | 245 | int dss_set_fck_rate(unsigned long rate); |
246 | 246 | ||
247 | typedef bool (*dss_div_calc_func)(unsigned long fck, void *data); | 247 | typedef bool (*dss_div_calc_func)(unsigned long fck, void *data); |
248 | bool dss_div_calc(unsigned long fck_min, dss_div_calc_func func, void *data); | 248 | bool dss_div_calc(unsigned long pck, unsigned long fck_min, |
249 | dss_div_calc_func func, void *data); | ||
249 | 250 | ||
250 | /* SDI */ | 251 | /* SDI */ |
251 | int sdi_init_platform_driver(void) __init; | 252 | int sdi_init_platform_driver(void) __init; |
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c index 221fd34c42ff..3bf47c92aedf 100644 --- a/drivers/video/omap2/dss/sdi.c +++ b/drivers/video/omap2/dss/sdi.c | |||
@@ -97,7 +97,7 @@ static int sdi_calc_clock_div(unsigned long pclk, | |||
97 | ctx.pck_min = 0; | 97 | ctx.pck_min = 0; |
98 | ctx.pck_max = pclk + 1000 * i * i * i; | 98 | ctx.pck_max = pclk + 1000 * i * i * i; |
99 | 99 | ||
100 | ok = dss_div_calc(ctx.pck_min, dpi_calc_dss_cb, &ctx); | 100 | ok = dss_div_calc(pclk, ctx.pck_min, dpi_calc_dss_cb, &ctx); |
101 | if (ok) { | 101 | if (ok) { |
102 | *fck = ctx.fck; | 102 | *fck = ctx.fck; |
103 | *dispc_cinfo = ctx.dispc_cinfo; | 103 | *dispc_cinfo = ctx.dispc_cinfo; |