Re: [PATCH v2] soundwire: qcom: remove redundant wait for completion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 25/02/2022 15:43, Pierre-Louis Bossart wrote:


On 2/25/22 08:45, Srinivas Kandagatla wrote:


On 25/02/2022 14:44, Srinivasa Rao Mandadapu wrote:
Remove wait_for_completion_timeout from soundwire probe as it seems
unnecessary and device enumeration is anyway not happening here,
hence this api is blocking till it completes max wait time.
Also, as device enumeration event is dependent on wcd938x probe to be
completed, its of no use waiting here.
Waiting here increasing the boot time almost 4 seconds and impacting
other modules like touch screen.

Fixes: 06dd96738d618 ("soundwire: qcom: wait for enumeration to be
complete in probe")

Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@xxxxxxxxxxx>

LGTM,

Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>

I don't get the idea, sorry.

If you look at the code, these are the cases where this 'struct
completion' is used

	struct completion enumeration;
	complete(&ctrl->enumeration);
	/* Enable Auto enumeration */
	init_completion(&ctrl->enumeration);
	wait_for_completion_timeout(&ctrl->enumeration,


so if you remove the wait_for_completeion, then you might just as well
remove the whole thing and revert 06dd96738d618

what am I missing?
Yes, that makes more sense to revert it, as it is the only user of this completion. We could add it back when we really need this again in pm runtime setup if required.

--srini


---
   drivers/soundwire/qcom.c | 2 --
   1 file changed, 2 deletions(-)

diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c
index 5481341..9a32a24 100644
--- a/drivers/soundwire/qcom.c
+++ b/drivers/soundwire/qcom.c
@@ -1309,8 +1309,6 @@ static int qcom_swrm_probe(struct
platform_device *pdev)
       }
         qcom_swrm_init(ctrl);
-    wait_for_completion_timeout(&ctrl->enumeration,
-                    msecs_to_jiffies(TIMEOUT_MS));
       ret = qcom_swrm_register_dais(ctrl);
       if (ret)
           goto err_master_add;



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux