Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Pranjal Shrivastava <praan@google.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: iommu@lists.linux.dev, Will Deacon <will@kernel.org>,
	Joerg Roedel <joro@8bytes.org>,
	Robin Murphy <robin.murphy@arm.com>,
	Mostafa Saleh <smostafa@google.com>,
	Nicolin Chen <nicolinc@nvidia.com>,
	Daniel Mentz <danielmentz@google.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v9 09/12] iommu/arm-smmu-v3: Implement pm_runtime & system sleep ops
Date: Wed, 26 Aug 2026 14:17:42 +0000	[thread overview]
Message-ID: <ao71hvT6ENJf6kSy@google.com> (raw)
In-Reply-To: <20260826134757.GK3325090@nvidia.com>

On Wed, Aug 26, 2026 at 10:47:57AM -0300, Jason Gunthorpe wrote:
> On Wed, Aug 26, 2026 at 11:51:47AM +0000, Pranjal Shrivastava wrote:
> > On Tue, Aug 25, 2026 at 05:17:01PM -0300, Jason Gunthorpe wrote:
> > > On Tue, Aug 25, 2026 at 06:53:59PM +0000, Pranjal Shrivastava wrote:
> > > 
> > > > > I agree.. I think there are only two options?
> > > > >  1) After GBPA=Abort ATS requests are blocked, so you could full
> > > > >     invalidate all the device ATC's and now it is safe to ignore
> > > > >     ATC_INV
> > > > >  2) Just don't perform suspend once ATS is activated
> > > > 
> > > > This is a little tricky, I'm leaning towards 1) since edge devices can
> > > > have ATS enabled
> > > 
> > > Oh really? Surprising..
> > > 
> > > > However, the EP might've entered it's low power state by the time we 
> > > > reach smmu's suspend. I'm not sure if we should be waking up the EP for
> > > > ATC INV All (or if it would even wake up in such a case?)
> > > 
> > > Is its power down explicit? Could the PM stuff trigger wiping the ATC
> > > and blocking DMA for a single device before allowing it to power down?
> > > 
> > 
> > The power down is explicit, due to devlinks, the PCIe driver's suspend
> > op (runtime / system) is called before the SMMU's suspend. I'm relying
> > on PCIe driver's op to clear ATC and everything else before powering down 
> 
> So maybe everything is OK and it just need some commenting to define
> this split up?
> 

Yes, we can add a comment and a small dev_warn when ATS is enabled with
rpm clearly mentioning the reason for any unwanted aliasing (if observed)

> IIRC there is a PCI spec thing that says the ATC is cleared on certain
> config cycles?
> 

Yes, IRC, D3Cold would clear everything anyway, and D3Hot -> D0 with
soft-reset also lands in uninitialized. I'd have to check for D3Hot ->
D0 without soft-reset. However, for this discussion I think we agree
hhat it's not the IOMMU's responsibility to handle the PCIe ATC state.

Thanks,
Praan


  reply	other threads:[~2026-08-26 14:18 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-28 21:09 [PATCH v9 00/12] iommu/arm-smmu-v3: Implement Runtime/System Sleep ops Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 01/12] iommu/arm-smmu-v3: Refactor arm_smmu_setup_irqs Pranjal Shrivastava
2026-08-25 16:36   ` Jason Gunthorpe
2026-08-25 17:35     ` Pranjal Shrivastava
2026-08-25 18:47       ` Nicolin Chen
2026-08-25 19:01         ` Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 02/12] iommu/arm-smmu-v3: Add a helper to drain cmd queues Pranjal Shrivastava
2026-08-25 16:36   ` Jason Gunthorpe
2026-08-25 17:37     ` Pranjal Shrivastava
2026-08-25 18:20       ` Nicolin Chen
2026-08-25 18:57         ` Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 03/12] iommu/tegra241-cmdqv: Add a helper to drain VCMDQs Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 04/12] iommu/tegra241-cmdqv: Restore PROD and CONS after resume Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 05/12] iommu/arm-smmu-v3: Cache and restore MSI config Pranjal Shrivastava
2026-08-25 16:36   ` Jason Gunthorpe
2026-08-25 18:01     ` Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 06/12] iommu/arm-smmu-v3: Handle gerror during suspend Pranjal Shrivastava
2026-08-25 16:36   ` Jason Gunthorpe
2026-08-25 18:06     ` Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 07/12] iommu/arm-smmu-v3: Add CMDQ_PROD_STOP_FLAG to gate CMDQ submissions Pranjal Shrivastava
2026-08-25 16:36   ` Jason Gunthorpe
2026-08-25 18:38     ` Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 08/12] iommu/tegra241-cmdqv: Add a helper to quiesce VCMDQs Pranjal Shrivastava
2026-08-25 16:36   ` Jason Gunthorpe
2026-08-25 18:46     ` Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 09/12] iommu/arm-smmu-v3: Implement pm_runtime & system sleep ops Pranjal Shrivastava
2026-08-25 16:36   ` Jason Gunthorpe
2026-08-25 18:53     ` Pranjal Shrivastava
2026-08-25 20:17       ` Jason Gunthorpe
2026-08-26 11:51         ` Pranjal Shrivastava
2026-08-26 13:47           ` Jason Gunthorpe
2026-08-26 14:17             ` Pranjal Shrivastava [this message]
2026-07-28 21:09 ` [PATCH v9 10/12] iommu/arm-smmu-v3: Enable pm_runtime and setup devlinks Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 11/12] iommu/arm-smmu-v3: Invoke pm_runtime before hw access Pranjal Shrivastava
2026-07-28 21:09 ` [PATCH v9 12/12] iommu/arm-smmu-v3: Add KUnit unit tests for Runtime PM Pranjal Shrivastava
2026-08-25 13:33 ` [PATCH v9 00/12] iommu/arm-smmu-v3: Implement Runtime/System Sleep ops Jason Gunthorpe
2026-08-25 18:50   ` Pranjal Shrivastava
2026-08-25 20:14     ` Jason Gunthorpe
2026-08-26 11:55       ` Pranjal Shrivastava

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=ao71hvT6ENJf6kSy@google.com \
    --to=praan@google.com \
    --cc=danielmentz@google.com \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=nicolinc@nvidia.com \
    --cc=robin.murphy@arm.com \
    --cc=smostafa@google.com \
    --cc=will@kernel.org \
    /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