aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dss.c
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2011-03-02 01:27:25 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-03-11 08:46:27 -0500
commit067a57e48e302863eb2d5ac0900ae9ae65dbc8c3 (patch)
tree7118ff6757fcd6358547a24b9d2c5d09ba43a868 /drivers/video/omap2/dss/dss.c
parent88134fa138b90518819b750891ffecc13f5f4886 (diff)
OMAP2PLUS: DSS2: Use dss features to get clock source names of current OMAP
Clock source names vary across OMAP2/3 and OMAP4, the clock source enum names have been made generic in the driver, but for purposes of debugging and dumping clock sources, it is better to preserve the actual TRM name of the clock. Introduce a dss feature function 'dss_feat_get_clk_source_name()' which returns a string with the TRM clock name for the current OMAP in use. The OMAP specific name is printed along the generic name within brackets. Signed-off-by: Archit Taneja <archit@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/dss.c')
-rw-r--r--drivers/video/omap2/dss/dss.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
index 998c188c8823..d049598bb412 100644
--- a/drivers/video/omap2/dss/dss.c
+++ b/drivers/video/omap2/dss/dss.c
@@ -81,6 +81,12 @@ static struct {
81 u32 ctx[DSS_SZ_REGS / sizeof(u32)]; 81 u32 ctx[DSS_SZ_REGS / sizeof(u32)];
82} dss; 82} dss;
83 83
84static const struct dss_clk_source_name dss_generic_clk_source_names[] = {
85 { DSS_CLK_SRC_DSI_PLL_HSDIV_DISPC, "DSI_PLL_HSDIV_DISPC" },
86 { DSS_CLK_SRC_DSI_PLL_HSDIV_DSI, "DSI_PLL_HSDIV_DSI" },
87 { DSS_CLK_SRC_FCK, "DSS_FCK" },
88};
89
84static void dss_clk_enable_all_no_ctx(void); 90static void dss_clk_enable_all_no_ctx(void);
85static void dss_clk_disable_all_no_ctx(void); 91static void dss_clk_disable_all_no_ctx(void);
86static void dss_clk_enable_no_ctx(enum dss_clock clks); 92static void dss_clk_enable_no_ctx(enum dss_clock clks);
@@ -223,6 +229,11 @@ void dss_sdi_disable(void)
223 REG_FLD_MOD(DSS_PLL_CONTROL, 0, 18, 18); /* SDI_PLL_SYSRESET */ 229 REG_FLD_MOD(DSS_PLL_CONTROL, 0, 18, 18); /* SDI_PLL_SYSRESET */
224} 230}
225 231
232const char *dss_get_generic_clk_source_name(enum dss_clk_source clk_src)
233{
234 return dss_generic_clk_source_names[clk_src].clksrc_name;
235}
236
226void dss_dump_clocks(struct seq_file *s) 237void dss_dump_clocks(struct seq_file *s)
227{ 238{
228 unsigned long dpll4_ck_rate; 239 unsigned long dpll4_ck_rate;
@@ -238,12 +249,16 @@ void dss_dump_clocks(struct seq_file *s)
238 seq_printf(s, "dpll4_ck %lu\n", dpll4_ck_rate); 249 seq_printf(s, "dpll4_ck %lu\n", dpll4_ck_rate);
239 250
240 if (cpu_is_omap3630()) 251 if (cpu_is_omap3630())
241 seq_printf(s, "dss1_alwon_fclk = %lu / %lu = %lu\n", 252 seq_printf(s, "%s (%s) = %lu / %lu = %lu\n",
253 dss_get_generic_clk_source_name(DSS_CLK_SRC_FCK),
254 dss_feat_get_clk_source_name(DSS_CLK_SRC_FCK),
242 dpll4_ck_rate, 255 dpll4_ck_rate,
243 dpll4_ck_rate / dpll4_m4_ck_rate, 256 dpll4_ck_rate / dpll4_m4_ck_rate,
244 dss_clk_get_rate(DSS_CLK_FCK)); 257 dss_clk_get_rate(DSS_CLK_FCK));
245 else 258 else
246 seq_printf(s, "dss1_alwon_fclk = %lu / %lu * 2 = %lu\n", 259 seq_printf(s, "%s (%s) = %lu / %lu * 2 = %lu\n",
260 dss_get_generic_clk_source_name(DSS_CLK_SRC_FCK),
261 dss_feat_get_clk_source_name(DSS_CLK_SRC_FCK),
247 dpll4_ck_rate, 262 dpll4_ck_rate,
248 dpll4_ck_rate / dpll4_m4_ck_rate, 263 dpll4_ck_rate / dpll4_m4_ck_rate,
249 dss_clk_get_rate(DSS_CLK_FCK)); 264 dss_clk_get_rate(DSS_CLK_FCK));