On Fri, 18 Oct 2024 at 11:42, Balaji Pothunoori (QUIC) <quic_bpothuno@xxxxxxxxxxx> wrote: > > > -----Original Message----- > > From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > > Sent: Friday, October 18, 2024 3:59 AM > > To: Balaji Pothunoori (QUIC) <quic_bpothuno@xxxxxxxxxxx> > > Cc: andersson@xxxxxxxxxx; mathieu.poirier@xxxxxxxxxx; linux-arm- > > msm@xxxxxxxxxxxxxxx; linux-remoteproc@xxxxxxxxxxxxxxx; linux- > > kernel@xxxxxxxxxxxxxxx; ath11k@xxxxxxxxxxxxxxxxxxx; Kalle Valo > > <kvalo@xxxxxxxxxx> > > Subject: Re: [PATCH] remoteproc: qcom_q6v5_pas: disable auto boot for wpss > > > > On Wed, Oct 16, 2024 at 07:24:09PM +0530, Balaji Pothunoori wrote: > > > auto_boot flag ensures to take the firmware and boots it up during the > > > wpss remoteproc start. > > > wpss host driver would like to control the load and unload of the > > > firmware during the load and unload of the driver. > > > Hence, disable the "auto boot" for wpss. > > > > Which driver? > ath11k_ahb.ko > > What is the reason for manual control? > > The board seems to function properly with the ath11k driver, which doesn't > > seem to require manual control. > > > The rproc "atomic_t power" variable is incremented during: > a. WPSS rproc auto boot. > b. AHB power on for ath11k. > > During AHB power off (rmmod ath11k_ahb.ko), rproc_shutdown fails to unload the WPSS firmware because the rproc->power value is '2', causing the atomic_dec_and_test(&rproc->power) condition to fail. > Consequently, during AHB power on (insmod ath11k_ahb.ko), QMI_WLANFW_HOST_CAP_REQ_V01 fails due to the host and firmware QMI states being out of sync. Please move these details to the commit message and add Fixes/cc:stable tags. > > Therefore, this change disables rproc auto boot for WPSS. > > > > > > Signed-off-by: Balaji Pothunoori <quic_bpothuno@xxxxxxxxxxx> > > > --- > > > Cc: ath11k@xxxxxxxxxxxxxxxxxxx > > > Cc: Kalle Valo <kvalo@xxxxxxxxxx> > > > --- > > > drivers/remoteproc/qcom_q6v5_pas.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/remoteproc/qcom_q6v5_pas.c > > > b/drivers/remoteproc/qcom_q6v5_pas.c > > > index ef82835e98a4..05963d7924df 100644 > > > --- a/drivers/remoteproc/qcom_q6v5_pas.c > > > +++ b/drivers/remoteproc/qcom_q6v5_pas.c > > > @@ -1344,7 +1344,7 @@ static const struct adsp_data > > sc7280_wpss_resource = { > > > .crash_reason_smem = 626, > > > .firmware_name = "wpss.mdt", > > > .pas_id = 6, > > > - .auto_boot = true, > > > + .auto_boot = false, > > > .proxy_pd_names = (char*[]){ > > > "cx", > > > "mx", > > > -- > > > 2.34.1 > > > > > > > -- > > With best wishes > > Dmitry > > Regards, > Balaji. -- With best wishes Dmitry