[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAPDyKFqecH=AsvtN+JMxdk6pY2dntWUrhUWF6LEq_DLCcPe6pw@mail.gmail.com>
Date: Fri, 6 Mar 2020 11:07:41 +0100
From: Ulf Hansson <ulf.hansson@...aro.org>
To: Stephen Boyd <swboyd@...omium.org>,
Shaik Sajida Bhanu <sbhanu@...eaurora.org>
Cc: Adrian Hunter <adrian.hunter@...el.com>,
Rob Herring <robh+dt@...nel.org>,
Matthias Kaehlcke <mka@...omium.org>,
Asutosh Das <asutoshd@...eaurora.org>,
Sahitya Tummala <stummala@...eaurora.org>,
Sayali Lokhande <sayalil@...eaurora.org>, cang@...eaurora.org,
Veerabhadrarao Badiganti <vbadigan@...eaurora.org>,
Ram Prakash Gupta <rampraka@...eaurora.org>,
"linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
DTML <devicetree@...r.kernel.org>,
Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>
Subject: Re: [PATCH V4] mmc: sdhci-msm: Update system suspend/resume callbacks
of sdhci-msm platform driver
On Wed, 4 Mar 2020 at 17:46, Stephen Boyd <swboyd@...omium.org> wrote:
>
> Quoting Ulf Hansson (2020-03-04 07:34:29)
> > On Thu, 20 Feb 2020 at 07:45, Shaik Sajida Bhanu <sbhanu@...eaurora.org> wrote:
> > >
> > > The existing suspend/resume callbacks of sdhci-msm driver are just
> > > gating/un-gating the clocks. During suspend cycle more can be done
> > > like disabling controller, disabling card detection, enabling wake-up events.
> > >
> > > So updating the system pm callbacks for performing these extra
> > > actions besides controlling the clocks.
> > >
> > > Signed-off-by: Shaik Sajida Bhanu <sbhanu@...eaurora.org>
> > > Reviewed-by: Stephen Boyd <swboyd@...omium.org>
> > > ---
> > > Changes since V3:
> > > Invoking sdhci & cqhci resume if sdhci_host_suspend fails.
> > > Removed condition check before invoking cqhci_resume since its a dummy function.
> > >
> > > Changes since V2:
> > > Removed disabling/enabling pwr-irq from system pm ops.
> > >
> > > Changes since V1:
> > > Invoking pm_runtime_force_suspend/resume instead of
> > > sdhci_msm_runtime_suepend/resume.
> > > diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c
> > > index 3955fa5d..3559b50 100644
> > > --- a/drivers/mmc/host/sdhci-msm.c
> > > +++ b/drivers/mmc/host/sdhci-msm.c
> > > @@ -2159,9 +2159,52 @@ static __maybe_unused int sdhci_msm_runtime_resume(struct device *dev)
> [...]
> > > +
> > > + ret = sdhci_suspend_host(host);
> > > + if (ret)
> > > + goto resume_cqhci;
> >
> > sdhci_suspend_host() can't be called on a device that has been runtime
> > suspended, as that would lead to accessing device registers when
> > clocks/PM domains are gated.
> >
> > Depending on how the corresponding cqhci device is managed from a
> > runtime PM point of view, it could also be problematic to call
> > cqhci_suspend().
>
> There seems to be another patch floating around here[1] that is an
> attempt at a fix to this patch. They should probably be combined so that
> it's not confusing what's going on.
Yeah, it would be easier if these are discussed together.
>
> >
> > > +
> > > + ret = pm_runtime_force_suspend(dev);
> >
> > It looks to me that perhaps you could make use of solely
> > pm_runtime_force_suspend(), then just skip calling
> > sdhci_suspend|resume_host() altogether. Do you think that could work?
>
> Does that do all the things the commit text mentions is desired for
> system suspend?
No. :-)
But why is system wakeup needed for an eMMC card?
>
> > > like disabling controller, disabling card detection, enabling wake-up events.
>
> [1] https://lore.kernel.org/linux-arm-msm/1583322863-21790-1-git-send-email-vbadigan@codeaurora.org/
Kind regards
Uffe
Powered by blists - more mailing lists