ALSA: hda/hdmi: Don't skip notification handling during PM operation
[ Upstream commit5226c7b978
] The HDMI driver skips the notification handling from the graphics driver when the codec driver is being in the PM operation. This behavior was introduced by the commiteb399d3c99
("ALSA: hda - Skip ELD notification during PM process"). This skip may cause a problem, as we may miss the ELD update when the connection/disconnection happens right at the runtime-PM operation of the audio codec. Although this workaround was valid at that time, it's no longer true; the fix was required just because the ELD update procedure needed to wake up the audio codec, which had lead to a runtime-resume during a runtime-suspend. Meanwhile, the ELD update procedure doesn't need a codec wake up any longer since the commit788d441a16
("ALSA: hda - Use component ops for i915 HDMI/DP audio jack handling"); i.e. there is no much reason for skipping the notification. Let's drop those checks for addressing the missing notification. Fixes:788d441a16
("ALSA: hda - Use component ops for i915 HDMI/DP audio jack handling") Reported-by: Brent Lu <brent.lu@intel.com> Link: https://lore.kernel.org/r/20220927135807.4097052-1-brent.lu@intel.com Link: https://lore.kernel.org/r/20221001074809.7461-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Родитель
cc756b79a5
Коммит
10df962300
|
@ -2685,9 +2685,6 @@ static void generic_acomp_pin_eld_notify(void *audio_ptr, int port, int dev_id)
|
|||
*/
|
||||
if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND)
|
||||
return;
|
||||
/* ditto during suspend/resume process itself */
|
||||
if (snd_hdac_is_in_pm(&codec->core))
|
||||
return;
|
||||
|
||||
check_presence_and_report(codec, pin_nid, dev_id);
|
||||
}
|
||||
|
@ -2871,9 +2868,6 @@ static void intel_pin_eld_notify(void *audio_ptr, int port, int pipe)
|
|||
*/
|
||||
if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND)
|
||||
return;
|
||||
/* ditto during suspend/resume process itself */
|
||||
if (snd_hdac_is_in_pm(&codec->core))
|
||||
return;
|
||||
|
||||
snd_hdac_i915_set_bclk(&codec->bus->core);
|
||||
check_presence_and_report(codec, pin_nid, dev_id);
|
||||
|
|
Загрузка…
Ссылка в новой задаче