video: tegra: don't enable display when mode is invalid
authorErik Gilling <konkers@android.com>
Tue, 19 Oct 2010 21:48:26 +0000 (14:48 -0700)
committerErik Gilling <konkers@android.com>
Thu, 21 Oct 2010 01:21:33 +0000 (18:21 -0700)
Change-Id: I84a494f7c125ceadbe39a681a8ed7cfa244a6a2b
Signed-off-by: Erik Gilling <konkers@android.com>
drivers/video/tegra/dc/dc.c

index bea8080b7d1525c90ab3fcf1be35abf94a71c5e5..ac8497fe9061075b33405e9dc9f3201f234197a2 100644 (file)
@@ -818,8 +818,11 @@ static void tegra_dc_init(struct tegra_dc *dc)
                tegra_dc_program_mode(dc, &dc->mode);
 }
 
-static void _tegra_dc_enable(struct tegra_dc *dc)
+static bool _tegra_dc_enable(struct tegra_dc *dc)
 {
+       if (dc->mode.pclk == 0)
+               return false;
+
        tegra_dc_io_start(dc);
 
        if (dc->out && dc->out->enable)
@@ -837,16 +840,16 @@ static void _tegra_dc_enable(struct tegra_dc *dc)
 
        /* force a full blending update */
        dc->blend.z[0] = -1;
+
+       return true;
 }
 
 void tegra_dc_enable(struct tegra_dc *dc)
 {
        mutex_lock(&dc->lock);
 
-       if (!dc->enabled) {
-               _tegra_dc_enable(dc);
-               dc->enabled = true;
-       }
+       if (!dc->enabled)
+               dc->enabled = _tegra_dc_enable(dc);
 
        mutex_unlock(&dc->lock);
 }