Re: [PATCH] ALSA: hda: fix snd_hda_bus_reset when single_cmd is not supported
From: soxiebing
Date: Mon Aug 26 2024 - 23:31:19 EST
>On Mon, 26 Aug 2024 11:19:58 +0200,
>soxiebing wrote:
>>
>> >On Wed, 21 Aug 2024 03:42:38 +0200,
>> >soxiebing wrote:
>> >>
>> >> From: songxiebing <songxiebing@xxxxxxxxxx>
>> >>
>> >> When an azx_get_desponse timeout occurs, ensure that bus_reset
>> >> can be used when fallback_to_single_cmd is not supported.
>> >>
>> >> Signed-off-by: songxiebing <songxiebing@xxxxxxxxxx>
>> >
>> >Why do you need to change? Does it fix any real problem you faced?
>>
>> Thanks for reply, i am testing all these days, but the problem is
>> still exists even if using bus reset.
>>
>> The problem i encountered is that hda_call_codec_resume returned
>> timeout of 120 seconds(defined CONFIG_DPM_WATCHDOG)) when doing s4,
>> azx_get_response timeout occured, it is a low probability event.
>>
>> To avoid exceeding 120s, can i change the count value to 3 in
>> hda_set_power_state ?
>
>So the change you suggested isn't for any real "fix" but to allow the
>possible workaround with single_cmd to be applicable somehow in a
>different form. Then we should rather try debugging the original
>issue, instead of change it.
>
>Does the response timeout happen *during* the S4 suspend, or during S4
>resume, or after S4 resume?
>
>To be noted, the behavior you changed is only for the single_cmd
>option is set explicitly, so it's more or less the designed behavior,
>and I don't think it's good to change blindly.
The timeout happen during S4 resume.
In hda_set_power_state function, the count value setting at most 10 times,
i feel like there are a lot of retries, can we change it to 3 times, to avoid
exceeding 120s ?
thanks,
soxiebing