video: tegra: reset hdcp failure count on hotplug
authorJon Mayo <jmayo@nvidia.com>
Wed, 6 Apr 2011 20:20:15 +0000 (13:20 -0700)
committerErik Gilling <konkers@android.com>
Thu, 7 Apr 2011 23:48:57 +0000 (16:48 -0700)
use tegra_nvhdcp_on/tegra_nvhdcp_off in hotplug handler to clean up
state machine.

Change-Id: I62fe503f0628ad4b49d5d7d66fe1702122179877
Signed-off-by: Erik Gilling <konkers@android.com>
drivers/video/tegra/dc/nvhdcp.c

index 2229c6b93ad30d58d488c2f0ee693bd574c94658..faa15c6081fc9c82c93176be1af82e786f0b2b0a 100644 (file)
@@ -1016,20 +1016,6 @@ err:
        return;
 }
 
-void tegra_nvhdcp_set_plug(struct tegra_nvhdcp *nvhdcp, bool hpd)
-{
-       nvhdcp_debug("hdmi hotplug detected (hpd = %d)\n", hpd);
-
-       nvhdcp_set_plugged(nvhdcp, hpd);
-
-       if (hpd) {
-               nvhdcp->fail_count = 0;
-               queue_work(nvhdcp->downstream_wq, &nvhdcp->work);
-       } else {
-               flush_workqueue(nvhdcp->downstream_wq);
-       }
-}
-
 static int tegra_nvhdcp_on(struct tegra_nvhdcp *nvhdcp)
 {
        nvhdcp->state = STATE_UNAUTHENTICATED;
@@ -1050,6 +1036,18 @@ static int tegra_nvhdcp_off(struct tegra_nvhdcp *nvhdcp)
        return 0;
 }
 
+void tegra_nvhdcp_set_plug(struct tegra_nvhdcp *nvhdcp, bool hpd)
+{
+       nvhdcp_debug("hdmi hotplug detected (hpd = %d)\n", hpd);
+
+       if (hpd) {
+               nvhdcp_set_plugged(nvhdcp, true);
+               tegra_nvhdcp_on(nvhdcp);
+       } else {
+               tegra_nvhdcp_off(nvhdcp);
+       }
+}
+
 int tegra_nvhdcp_set_policy(struct tegra_nvhdcp *nvhdcp, int pol)
 {
        if (pol == TEGRA_NVHDCP_POLICY_ALWAYS_ON) {