DSS2: Add function to get DSS logic clock rate
authorTomi Valkeinen <tomi.valkeinen@nokia.com>
Thu, 2 Apr 2009 13:48:41 +0000 (16:48 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Fri, 1 May 2009 16:44:59 +0000 (19:44 +0300)
drivers/video/omap2/dss/dispc.c
drivers/video/omap2/dss/dss.h

index 2480a03..1bc23f7 100644 (file)
@@ -1850,6 +1850,21 @@ unsigned long dispc_fclk_rate(void)
        return r;
 }
 
        return r;
 }
 
+unsigned long dispc_lclk_rate(void)
+{
+       int lcd;
+       unsigned long r;
+       u32 l;
+
+       l = dispc_read_reg(DISPC_DIVISOR);
+
+       lcd = FLD_GET(l, 23, 16);
+
+       r = dispc_fclk_rate();
+
+       return r / lcd;
+}
+
 unsigned long dispc_pclk_rate(void)
 {
        int lcd, pcd;
 unsigned long dispc_pclk_rate(void)
 {
        int lcd, pcd;
index bac5ece..0be42b6 100644 (file)
@@ -294,6 +294,7 @@ bool dispc_trans_key_enabled(enum omap_channel ch);
 
 void dispc_set_lcd_timings(struct omap_video_timings *timings);
 unsigned long dispc_fclk_rate(void);
 
 void dispc_set_lcd_timings(struct omap_video_timings *timings);
 unsigned long dispc_fclk_rate(void);
+unsigned long dispc_lclk_rate(void);
 unsigned long dispc_pclk_rate(void);
 void dispc_set_pol_freq(struct omap_panel *panel);
 void find_lck_pck_divs(bool is_tft, unsigned long req_pck, unsigned long fck,
 unsigned long dispc_pclk_rate(void);
 void dispc_set_pol_freq(struct omap_panel *panel);
 void find_lck_pck_divs(bool is_tft, unsigned long req_pck, unsigned long fck,