2022-05-02 23:29:26

by Pierre-Louis Bossart

[permalink] [raw]
Subject: Re: [PATCH] soundwire: qcom: adjust autoenumeration timeout



On 4/29/22 11:09, Srinivas Kandagatla wrote:
> Currently timeout for autoenumeration during probe and bus reset is set to
> 2 secs which is really a big value. This can have an adverse effect on
> boot time if the slave device is not ready/reset.
> This was the case with wcd938x which was not reset yet but we spent 2
> secs waiting in the soundwire controller probe. Reduce this time to
> 1/10 of Hz which should be good enough time to finish autoenumeration
> if any slaves are available on the bus.

Can I ask why this is dependent on a software configuration you have no control on?

Why not simply:

#define TIMEOUT_MS 100

?

>
> Reported-by: Srinivasa Rao Mandadapu <[email protected]>
> Signed-off-by: Srinivas Kandagatla <[email protected]>
> ---
> drivers/soundwire/qcom.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
> index da1ad7ebb1aa..432e5cb9a4d2 100644
> --- a/drivers/soundwire/qcom.c
> +++ b/drivers/soundwire/qcom.c
> @@ -105,7 +105,7 @@
>
> #define SWRM_SPECIAL_CMD_ID 0xF
> #define MAX_FREQ_NUM 1
> -#define TIMEOUT_MS (2 * HZ)
> +#define TIMEOUT_MS (HZ/10)
> #define QCOM_SWRM_MAX_RD_LEN 0x1
> #define QCOM_SDW_MAX_PORTS 14
> #define DEFAULT_CLK_FREQ 9600000


2022-05-03 00:04:36

by Srinivas Kandagatla

[permalink] [raw]
Subject: Re: [PATCH] soundwire: qcom: adjust autoenumeration timeout



On 29/04/2022 17:19, Pierre-Louis Bossart wrote:
>
>
> On 4/29/22 11:09, Srinivas Kandagatla wrote:
>> Currently timeout for autoenumeration during probe and bus reset is set to
>> 2 secs which is really a big value. This can have an adverse effect on
>> boot time if the slave device is not ready/reset.
>> This was the case with wcd938x which was not reset yet but we spent 2
>> secs waiting in the soundwire controller probe. Reduce this time to
>> 1/10 of Hz which should be good enough time to finish autoenumeration
>> if any slaves are available on the bus.
>
> Can I ask why this is dependent on a software configuration you have no control on?
>
> Why not simply:
>
> #define TIMEOUT_MS 100
>
> ?

That will work too.

--srini


>
>>
>> Reported-by: Srinivasa Rao Mandadapu <[email protected]>
>> Signed-off-by: Srinivas Kandagatla <[email protected]>
>> ---
>> drivers/soundwire/qcom.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
>> index da1ad7ebb1aa..432e5cb9a4d2 100644
>> --- a/drivers/soundwire/qcom.c
>> +++ b/drivers/soundwire/qcom.c
>> @@ -105,7 +105,7 @@
>>
>> #define SWRM_SPECIAL_CMD_ID 0xF
>> #define MAX_FREQ_NUM 1
>> -#define TIMEOUT_MS (2 * HZ)
>> +#define TIMEOUT_MS (HZ/10)
>> #define QCOM_SWRM_MAX_RD_LEN 0x1
>> #define QCOM_SDW_MAX_PORTS 14
>> #define DEFAULT_CLK_FREQ 9600000