RE: [PATCH] remoteproc: qcom_q6v5_pas: disable auto boot for wpss

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

 



> -----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.

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.





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux