On 2/9/23 07:13, Srinivas Kandagatla wrote: > Registering controller even before pm runtime is enabled will result > in pm runtime underflow warnings. Fix this by properly moving > the runtime pm enable before registering controller. That seems very odd. The Intel code configures the pm_runtime stuff *after* the call to sdw_bus_master_add(), and we've not seen any underflow warnings? We even configure pm_runtime after starting the bus. Likewise for peripherals the pm_runtime part is enabled after the device is initialized. Not following the problem and suggested solution. > Fixes: 74e79da9fd46 ("soundwire: qcom: add runtime pm support") > Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> > --- > drivers/soundwire/qcom.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/soundwire/qcom.c b/drivers/soundwire/qcom.c > index 9d8ae77bad0a..b2363839624c 100644 > --- a/drivers/soundwire/qcom.c > +++ b/drivers/soundwire/qcom.c > @@ -1417,6 +1417,12 @@ static int qcom_swrm_probe(struct platform_device *pdev) > } > } > > + pm_runtime_set_autosuspend_delay(dev, 3000); > + pm_runtime_use_autosuspend(dev); > + pm_runtime_mark_last_busy(dev); > + pm_runtime_set_active(dev); > + pm_runtime_enable(dev); > + > ret = sdw_bus_master_add(&ctrl->bus, dev, dev->fwnode); > if (ret) { > dev_err(dev, "Failed to register Soundwire controller (%d)\n", > @@ -1435,12 +1441,6 @@ static int qcom_swrm_probe(struct platform_device *pdev) > (ctrl->version >> 24) & 0xff, (ctrl->version >> 16) & 0xff, > ctrl->version & 0xffff); > > - pm_runtime_set_autosuspend_delay(dev, 3000); > - pm_runtime_use_autosuspend(dev); > - pm_runtime_mark_last_busy(dev); > - pm_runtime_set_active(dev); > - pm_runtime_enable(dev); > - > /* Clk stop is not supported on WSA Soundwire masters */ > if (ctrl->version <= 0x01030000) { > ctrl->clock_stop_not_supported = true;