From: Ramesh Babu <ramesh.b...@intel.com>

The display power reference count is decremented with the first
explicit call to pm_runtime_suspend. Otherwise the display power
reference count is balanced with runtime resume/suspend. Rest
of the time it is kept off.

Signed-off-by: Ramesh Babu <ramesh.babu at intel.com>
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty at intel.com>
Signed-off-by: Vinod Koul <vinod.koul at intel.com>
---
 sound/soc/codecs/hdac_hdmi.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c
index 73f5612..fb43461 100644
--- a/sound/soc/codecs/hdac_hdmi.c
+++ b/sound/soc/codecs/hdac_hdmi.c
@@ -1236,6 +1236,18 @@ static int hdac_hdmi_dev_probe(struct hdac_ext_device 
*edev)
        INIT_LIST_HEAD(&hdmi_priv->pin_list);
        INIT_LIST_HEAD(&hdmi_priv->cvt_list);

+       /*
+        * Turned off in the runtime_suspend during the first explicit
+        * pm_runtime_suspend call.
+        */
+       ret = snd_hdac_display_power(edev->hdac.bus, true);
+       if (ret < 0) {
+               dev_err(&edev->hdac.dev,
+                       "Cannot turn on display power on i915 err: %d\n",
+                       ret);
+               return ret;
+       }
+
        ret = hdac_hdmi_parse_and_map_nid(edev, &hdmi_dais, &num_dais);
        if (ret < 0) {
                dev_err(&codec->dev, "Failed in parse and map nid with err: 
%d\n", ret);
-- 
1.9.1

Reply via email to