OSDN Git Service

OMAP: DSS2: HDMI: use default dividers
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Mon, 22 Aug 2011 10:02:52 +0000 (13:02 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 12 Mar 2012 17:32:58 +0000 (10:32 -0700)
commit 8d88767a4377171752c22ac39bcb2b505eb751da upstream.

Use default regn and regm2 dividers in the hdmi driver if the board file
does not define them.

Cc: Mythri P K <mythripk@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/arm/mach-omap2/board-4430sdp.c
drivers/video/omap2/dss/hdmi.c

index 63de2d3..f515fa2 100644 (file)
@@ -617,15 +617,6 @@ static struct omap_dss_device sdp4430_hdmi_device = {
        .name = "hdmi",
        .driver_name = "hdmi_panel",
        .type = OMAP_DISPLAY_TYPE_HDMI,
-       .clocks = {
-               .dispc  = {
-                       .dispc_fclk_src = OMAP_DSS_CLK_SRC_FCK,
-               },
-               .hdmi   = {
-                       .regn   = 15,
-                       .regm2  = 1,
-               },
-       },
        .platform_enable = sdp4430_panel_enable_hdmi,
        .platform_disable = sdp4430_panel_disable_hdmi,
        .channel = OMAP_DSS_CHANNEL_DIGIT,
index b0555f4..f3369cf 100644 (file)
@@ -40,6 +40,9 @@
 #include "hdmi.h"
 #include "dss_features.h"
 
+#define HDMI_DEFAULT_REGN 15
+#define HDMI_DEFAULT_REGM2 1
+
 static struct {
        struct mutex lock;
        struct omap_display_platform_data *pdata;
@@ -1069,7 +1072,11 @@ static void hdmi_compute_pll(struct omap_dss_device *dssdev, int phy,
         * Input clock is predivided by N + 1
         * out put of which is reference clk
         */
-       pi->regn = dssdev->clocks.hdmi.regn;
+       if (dssdev->clocks.hdmi.regn == 0)
+               pi->regn = HDMI_DEFAULT_REGN;
+       else
+               pi->regn = dssdev->clocks.hdmi.regn;
+
        refclk = clkin / (pi->regn + 1);
 
        /*
@@ -1077,7 +1084,11 @@ static void hdmi_compute_pll(struct omap_dss_device *dssdev, int phy,
         * Multiplying by 100 to avoid fractional part removal
         */
        pi->regm = (phy * 100 / (refclk)) / 100;
-       pi->regm2 = dssdev->clocks.hdmi.regm2;
+
+       if (dssdev->clocks.hdmi.regm2 == 0)
+               pi->regm2 = HDMI_DEFAULT_REGM2;
+       else
+               pi->regm2 = dssdev->clocks.hdmi.regm2;
 
        /*
         * fractional multiplier is remainder of the difference between