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

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

 



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




[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