Subject: Re: [PATCH v8 08/12] iommu/tegra241-cmdqv: Add a helper to quiesce VCMDQs

From: Nicolin Chen <[email-masked]>
Date: Mon, 1 Jun 2026 23:29:40 -0700

On Tue, Jun 02, 2026 at 06:21:45AM +0000, Pranjal Shrivastava wrote:
> On Mon, Jun 01, 2026 at 10:59:33PM -0700, Nicolin Chen wrote:
> > On Tue, Jun 02, 2026 at 03:37:43AM +0000, Pranjal Shrivastava wrote:
> > > On Mon, Jun 01, 2026 at 05:14:24PM -0700, Nicolin Chen wrote:
> > Arguably,
> > 	atomic_or(CMDQ_PROD_STOP_FLAG, &vcmdq->cmdq.q.llq.atomic.prod);
> > could be even stuffed into tegra241_cmdqv_drain_vintf0_lvcmdqs(),
> > where there is a for loop already.
> 
> That would be slow IMO, because we'd set the the STOP_FLAG on ONE queue,
> then wait for it to drain and repeat this pattern for all vCMDQs.
> Ideally, we should set the STOP_FLAG on all vCMDQs first and then wait
> for them to drain.

That sounds plausible. Please leave a note for the double loops.

Nicolin