diff mbox series

[1/3] ASoC: hdac_hdmi: report codec link up/down status to bus

Message ID 20190612122258.4363-2-kai.vehmanen@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series ASoC: SOF: fix suspend ordering with runtime idle | expand

Commit Message

Kai Vehmanen June 12, 2019, 12:22 p.m. UTC
Report codec power status to the HDA codec bus from runtime pm
suspend and resume callbacks. This is required to implement
runtime idle logic that relies on 'codec_powered' field of hdac_bus
to be maintained for all codecs.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
---
 sound/soc/codecs/hdac_hdmi.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Takashi Iwai June 12, 2019, 3:04 p.m. UTC | #1
On Wed, 12 Jun 2019 14:22:56 +0200,
Kai Vehmanen wrote:
> 
> Report codec power status to the HDA codec bus from runtime pm
> suspend and resume callbacks. This is required to implement
> runtime idle logic that relies on 'codec_powered' field of hdac_bus
> to be maintained for all codecs.
> 
> Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>

Reviewed-by: Takashi Iwai <tiwai@suse.de>

It's the same behavior as the legacy HD-audio codec, after all.


thanks,

Takashi

> ---
>  sound/soc/codecs/hdac_hdmi.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c
> index 660e0587f3999..01ab7aed315cb 100644
> --- a/sound/soc/codecs/hdac_hdmi.c
> +++ b/sound/soc/codecs/hdac_hdmi.c
> @@ -2090,6 +2090,7 @@ static int hdac_hdmi_runtime_suspend(struct device *dev)
>  		return -EIO;
>  	}
>  
> +	snd_hdac_codec_link_down(hdev);
>  	snd_hdac_ext_bus_link_put(bus, hlink);
>  
>  	snd_hdac_display_power(bus, hdev->addr, false);
> @@ -2116,6 +2117,7 @@ static int hdac_hdmi_runtime_resume(struct device *dev)
>  	}
>  
>  	snd_hdac_ext_bus_link_get(bus, hlink);
> +	snd_hdac_codec_link_up(hdev);
>  
>  	snd_hdac_display_power(bus, hdev->addr, true);
>  
> -- 
> 2.17.1
> 
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> https://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
diff mbox series

Patch

diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c
index 660e0587f3999..01ab7aed315cb 100644
--- a/sound/soc/codecs/hdac_hdmi.c
+++ b/sound/soc/codecs/hdac_hdmi.c
@@ -2090,6 +2090,7 @@  static int hdac_hdmi_runtime_suspend(struct device *dev)
 		return -EIO;
 	}
 
+	snd_hdac_codec_link_down(hdev);
 	snd_hdac_ext_bus_link_put(bus, hlink);
 
 	snd_hdac_display_power(bus, hdev->addr, false);
@@ -2116,6 +2117,7 @@  static int hdac_hdmi_runtime_resume(struct device *dev)
 	}
 
 	snd_hdac_ext_bus_link_get(bus, hlink);
+	snd_hdac_codec_link_up(hdev);
 
 	snd_hdac_display_power(bus, hdev->addr, true);