tegra: video: dc: Fix no audio after res. change
Sumit Bhattacharya [Fri, 22 Jul 2011 11:09:37 +0000 (16:09 +0530)]
Avoid reseting eld_retrieved flag during tegra_dc_hdmi_disable(). It
will ensure if tegra_dc_hdmi_disable() is called due to resolution
change, cached eld data is used. It will be reset to zero if during
hotplug HDMI driver fails to get valid eld data.

Bug 854284

Original-Change-Id: I08c8f48eded0c6a469faf63d601f28627a71602f
Reviewed-on: http://git-master/r/42599
Tested-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-by: Scott Peterson <speterson@nvidia.com>

Rebase-Id: Rb9636052979360707443ecc151a758f574b03a21

drivers/video/tegra/dc/hdmi.c

index 528a14b..39b3379 100644 (file)
@@ -746,6 +746,7 @@ static bool tegra_dc_hdmi_detect(struct tegra_dc *dc)
        return true;
 
 fail:
+       hdmi->eld_retrieved = false;
        tegra_nvhdcp_set_plug(hdmi->nvhdcp, 0);
        return false;
 }
@@ -1603,7 +1604,6 @@ static void tegra_dc_hdmi_disable(struct tegra_dc *dc)
 #if !defined(CONFIG_ARCH_TEGRA_2x_SOC)
        tegra_hdmi_writel(hdmi, 0, HDMI_NV_PDISP_SOR_AUDIO_HDA_PRESENSE_0);
 #endif
-       hdmi->eld_retrieved = false;
        tegra_periph_reset_assert(hdmi->clk);
        hdmi->clk_enabled = false;
        clk_disable(hdmi->clk);