[PATCH] ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine transitions

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Wed Nov 16 15:14:48 CET 2022



On 11/16/22 03:03, shumingf at realtek.com wrote:
> From: Shuming Fan <shumingf at realtek.com>
> 
> Due to the hardware behavior, it takes some time for CBJ detection/impedance sensing/de-bounce.
> The ClockStop_NotFinished flag will be raised until these functions are completed.

That's fine.

> In ClockStopMode0 mode case, the SdW controller might check this flag from D3 to D0 when the
> jack detection interrupt happened.

That's more confusing. The clock stop sequence is only used in
transitions from D0 to D3. The timeout is only meant to signal how long
the controller driver needs to check the device is ready before stopping
the clock. The resume operation does not require any interaction between
controller and device drivers.

Is this an inversion in the wording, or a requirement for the controller
driver to do something during the resume sequence from D3 to D0?


> Signed-off-by: Shuming Fan <shumingf at realtek.com>
> ---
>  sound/soc/codecs/rt711-sdca-sdw.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/soc/codecs/rt711-sdca-sdw.c b/sound/soc/codecs/rt711-sdca-sdw.c
> index 4120842fe699..88a8392a58ed 100644
> --- a/sound/soc/codecs/rt711-sdca-sdw.c
> +++ b/sound/soc/codecs/rt711-sdca-sdw.c
> @@ -230,7 +230,7 @@ static int rt711_sdca_read_prop(struct sdw_slave *slave)
>  	}
>  
>  	/* set the timeout values */
> -	prop->clk_stop_timeout = 20;
> +	prop->clk_stop_timeout = 700;
>  
>  	/* wake-up event */
>  	prop->wake_capable = 1;


More information about the Alsa-devel mailing list