Linux MultiMedia Card development
 help / color / mirror / Atom feed
From: Bjorn Helgaas <helgaas@kernel.org>
To: Kai-Heng Feng <kai.heng.feng@canonical.com>
Cc: adrian.hunter@intel.com, ulf.hansson@linaro.org,
	Victor Shih <victor.shih@genesyslogic.com.tw>,
	Ben Chuang <benchuanggli@gmail.com>,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] mmc: sdhci-pci-gli: GL975x: Mask rootport's replay timer timeout during suspend
Date: Fri, 22 Mar 2024 11:43:11 -0500	[thread overview]
Message-ID: <20240322164311.GA1367151@bhelgaas> (raw)
In-Reply-To: <CAAd53p52fi_wr3Js9Rqct+i1D3rjrnVZ6tBN=uHqThM7UvzXQA@mail.gmail.com>

On Thu, Mar 21, 2024 at 06:05:33PM +0800, Kai-Heng Feng wrote:
> On Sat, Jan 20, 2024 at 6:41 AM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > On Thu, Jan 18, 2024 at 02:40:50PM +0800, Kai-Heng Feng wrote:
> > > On Sat, Jan 13, 2024 at 1:37 AM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > > > On Fri, Jan 12, 2024 at 01:14:42PM +0800, Kai-Heng Feng wrote:
> > > > > On Sat, Jan 6, 2024 at 5:19 AM Bjorn Helgaas <helgaas@kernel.org> wrote:
> > > > > > On Thu, Dec 21, 2023 at 11:21:47AM +0800, Kai-Heng Feng wrote:
> > > > > > > Spamming `lspci -vv` can still observe the replay timer timeout error
> > > > > > > even after commit 015c9cbcf0ad ("mmc: sdhci-pci-gli: GL9750: Mask the
> > > > > > > replay timer timeout of AER"), albeit with a lower reproduce rate.
> > > > > >
> > > > > > I'm not sure what this is telling me.  By "spamming `lspci -vv`, do
> > > > > > you mean that if you run lspci continually, you still see Replay Timer
> > > > > > Timeout logged, e.g.,
> > > > > >
> > > > > >   CESta:        ... Timeout+
> > > > >
> > > > > Yes it's logged and the AER IRQ is raised.
> > > >
> > > > IIUC the AER IRQ is the important thing.
> > > >
> > > > Neither 015c9cbcf0ad nor this patch affects logging in
> > > > PCI_ERR_COR_STATUS, so the lspci output won't change and mentioning it
> > > > here doesn't add useful information.
> > >
> > > You are right. That's just a way to access config space to reproduce
> > > the issue.
> >
> > Oh, I think I completely misunderstood you!  I thought you were saying
> > that suspending the device caused the PCI_ERR_COR_REP_TIMER error, and
> > you happened to see that it was logged when you ran lspci.
> 
> Both running lspci and suspending the device can observe the error,
> because both are accessing the config space.
> 
> > But I guess you mean that running lspci actually *causes* the error?
> > I.e., lspci does a config access while we're suspending the device
> > causes the error, and the config access itself causes the error, which
> > causes the ERR_COR message and ultimately the AER interrupt, and that
> > interrupt prevents the system suspend.
> 
> My point was that any kind of PCI config access can cause the error.
> Using lspci is just make the error more easier to reproduce.
> 
> > If that's the case, I wonder if this is a generic problem that could
> > happen with *any* device, not just GL975x.
> 
> For now, it's just GL975x.
> 
> > What power state do we put the GL975x in during system suspend?
> > D3hot?  D3cold?  Is there anything that prevents config access while
> > we suspend it?
> 
> The target device state is D3hot.
> However, the issue happens when the devices is in D0, when the PCI
> core is saving the device's config space.
> 
> So I think the issue isn't related to the device state.
> 
> > We do have dev->block_cfg_access, and there's a comment that says
> > "we're required to prevent config accesses during D-state
> > transitions," but I don't see it being used during D-state
> > transitions.
> 
> Yes, there isn't any D-state change happens here.

So the timeout happens sometimes on any config accesses to the device,
no matter what the power state is?  If that's the case, why do the
masking in the suspend/resume callbacks?

If it's not related to a power state change, it sounds like something
that should be a quirk or done at probe time.

Bjorn

  reply	other threads:[~2024-03-22 16:43 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-21  3:21 [PATCH v2] mmc: sdhci-pci-gli: GL975x: Mask rootport's replay timer timeout during suspend Kai-Heng Feng
2024-01-03 10:52 ` Ulf Hansson
2024-01-04  4:10   ` Kai-Heng Feng
2024-01-04 19:42     ` Adrian Hunter
2024-01-05 21:19 ` Bjorn Helgaas
2024-01-12  5:14   ` Kai-Heng Feng
2024-01-12 17:37     ` Bjorn Helgaas
2024-01-18  6:40       ` Kai-Heng Feng
2024-01-19 22:40         ` Bjorn Helgaas
2024-03-21 10:05           ` Kai-Heng Feng
2024-03-22 16:43             ` Bjorn Helgaas [this message]
2024-03-25  2:02               ` Kai-Heng Feng
2024-03-25 19:02                 ` Bjorn Helgaas
2024-03-26  1:52                   ` Kai-Heng Feng
2024-03-26 21:19                     ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240322164311.GA1367151@bhelgaas \
    --to=helgaas@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=benchuanggli@gmail.com \
    --cc=kai.heng.feng@canonical.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=victor.shih@genesyslogic.com.tw \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox