aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2013-11-01 05:26:43 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-11-18 07:32:25 -0500
commit6e555e2752ea284bda55b0ee477a512e1525b84a (patch)
tree5bdc8a51e572c2463622d59e92c632c7a338ebc1 /drivers/video
parent5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff)
OMAPDSS: fix omap2 dss fck handling
The driver considers OMAP2 DSS's functional clock as a fixed clock. However, it can be changed, but the possible dividers are not continuous which is why it was just handled as a fixed clock. As a partial fix, this patch changes the code to handle the continous part of the dividers, from 1 to 6. This let's us handle the OMAP2 fck the same way as fcks on other OMAPs. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/dss/dss.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index bd01608e67e2..e59577a2c41c 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -484,11 +484,6 @@ bool dss_div_calc(unsigned long fck_min, dss_div_calc_func func, void *data)
484 unsigned m; 484 unsigned m;
485 485
486 if (dss.dpll4_m4_ck == NULL) { 486 if (dss.dpll4_m4_ck == NULL) {
487 /*
488 * TODO: dss1_fclk can be changed on OMAP2, but the available
489 * dividers are not continuous. We just use the pre-set rate for
490 * now.
491 */
492 fck = clk_get_rate(dss.dss_clk); 487 fck = clk_get_rate(dss.dss_clk);
493 fckd = 1; 488 fckd = 1;
494 return func(fckd, fck, data); 489 return func(fckd, fck, data);
@@ -761,9 +756,13 @@ void dss_debug_dump_clocks(struct seq_file *s)
761#endif 756#endif
762 757
763static const struct dss_features omap24xx_dss_feats __initconst = { 758static const struct dss_features omap24xx_dss_feats __initconst = {
764 .fck_div_max = 16, 759 /*
760 * fck div max is really 16, but the divider range has gaps. The range
761 * from 1 to 6 has no gaps, so let's use that as a max.
762 */
763 .fck_div_max = 6,
765 .dss_fck_multiplier = 2, 764 .dss_fck_multiplier = 2,
766 .clk_name = NULL, 765 .clk_name = "dss1_fck",
767 .dpi_select_source = &dss_dpi_select_source_omap2_omap3, 766 .dpi_select_source = &dss_dpi_select_source_omap2_omap3,
768}; 767};
769 768