All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <andersson@kernel.org>
To: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,
	 Will Deacon <will@kernel.org>,
	Robin Murphy <robin.murphy@arm.com>,
	 Joerg Roedel <joro@8bytes.org>, Rob Herring <robh@kernel.org>,
	 Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	 Konrad Dybcio <konradybcio@kernel.org>,
	Rob Clark <robin.clark@oss.qualcomm.com>,
	 linux-arm-kernel@lists.infradead.org, iommu@lists.linux.dev,
	devicetree@vger.kernel.org,  linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org
Subject: Re: [PATCH v3 3/6] arm64: dts: qcom: kodiak: Add GEM_NOC interconnect for adreno SMMU
Date: Wed, 8 Jul 2026 10:26:03 -0500	[thread overview]
Message-ID: <ak5qkRKk2eHHLYmo@baldur> (raw)
In-Reply-To: <4e5a3d82-b946-4490-885a-ea7061939c32@oss.qualcomm.com>

On Wed, Jul 08, 2026 at 03:31:07PM +0530, Bibek Kumar Patro wrote:
> 
> 
> On 7/7/2026 10:14 PM, Dmitry Baryshkov wrote:
> > On Tue, Jul 07, 2026 at 06:37:24PM +0530, Bibek Kumar Patro wrote:
> > > 
> > > 
> > > On 7/6/2026 11:12 PM, Dmitry Baryshkov wrote:
> > > > On Mon, Jul 06, 2026 at 10:26:36PM +0530, Bibek Kumar Patro wrote:
> > > > > On Kodiak platforms, the Adreno SMMU requires a bandwidth vote on
> > > > > the GEM_NOC path (MASTER_GPU_TCU -> SLAVE_EBI1) before its registers
> > > > > are accessible. Without this vote, the SMMU may become unreachable,
> > > > > leading to intermittent probe failures and runtime issues.
> > > > > 
> > > > > Add the required interconnect to ensure reliable register access.
> > > > > 
> > > > > Signed-off-by: Bibek Kumar Patro <bibek.patro@oss.qualcomm.com>
> > > > > ---
> > > > >    arch/arm64/boot/dts/qcom/kodiak.dtsi | 2 ++
> > > > >    1 file changed, 2 insertions(+)
> > > > > 
> > > > > diff --git a/arch/arm64/boot/dts/qcom/kodiak.dtsi b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> > > > > index 90e50c245c0c..721526f023dd 100644
> > > > > --- a/arch/arm64/boot/dts/qcom/kodiak.dtsi
> > > > > +++ b/arch/arm64/boot/dts/qcom/kodiak.dtsi
> > > > > @@ -3389,6 +3389,8 @@ adreno_smmu: iommu@3da0000 {
> > > > >    			power-domains = <&gpucc GPU_CC_CX_GDSC>;
> > > > >    			dma-coherent;
> > > > > +			interconnects = <&gem_noc MASTER_GPU_TCU QCOM_ICC_TAG_ALWAYS
> > > > > +					 &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
> > > > 
> > > > Why is it ALWAYS? Would it be better to declare it as ACTIVE_ONLY and
> > > 
> > > Added QCOM_ICC_TAG_ALWAYS, to hold the vote in SLEEP bucket as well
> > > preventing gem_noc going to sleep when icc_set_bw is being called.
> > 
> > _why_?
> > 
> 
> Now when i think of where we implemented the hooks, ALWAYS is not needed. We
> should keep it ACTIVE_ONLY since we are already voting it
> back in resume pah. I'll fix it in next revision.
> 

The path is between the SMMU and DDR, so clearly it has to do with the
TCU's ability to fetch things from DDR.

ACTIVE_ONLY states that the vote should only be applied when the
application subsystem (CPUSS) is not in low-power mode (CPU is active).

So, are you saying that in all cases that cpuidle might select such
low-power state the GPU TCU is "stopped", and does not need to perform
any memory transactions?


To me these two are orthogonal and TAG_ALWAYS is logically correct, but
perhaps there's some practical dependency that I'm missing?

Regards,
Bjorn

> > > 
> > > > then drop the extra suspend/resume play?
> > > 
> > > Not sure if I understood it correctly.
> > > Did you mean the extra suspend/resume play in arm_smmu_runtime_suspend
> > > or in arm_smmu_device_shutdown() path?
> > 
> > runtime_suspend/resume. I might be incorrect here, but I think it is
> > exactly what you need.
> > 
> 
> Yes, I think we should go with the ACTIVE_ONLY flag and we would need
> this voting in suspend resume path (For the same reason mentioned in commit
> description and cover letter of the series).
> 
> ALWAYS would avoid the need for this handling, it would keep the vote active
> unnecessarily, but still that would have been nondeterministic.
> 
> Thanks & regards,
> Bibek
> 
> > > 
> > > Thanks & regards,
> > > Bibek
> > > 
> > > > 
> > > > >    		};
> > > > >    		gfx_0_tbu: tbu@3dd9000 {
> > > > > 
> > > > > -- 
> > > > > 2.34.1
> > > > > 
> > > > 
> > > 
> > 
> 

  reply	other threads:[~2026-07-08 15:26 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-06 16:56 [PATCH v3 0/6] iommu/arm-smmu: Add interconnect bandwidth voting support Bibek Kumar Patro
2026-07-06 16:56 ` [PATCH v3 1/6] dt-bindings: iommu: arm,smmu: Document interconnects property Bibek Kumar Patro
2026-07-06 17:39   ` Dmitry Baryshkov
2026-07-07 12:36     ` Bibek Kumar Patro
2026-07-07 16:42       ` Dmitry Baryshkov
2026-07-08 14:52         ` Bibek Kumar Patro
2026-07-08 15:18           ` Bjorn Andersson
2026-07-06 16:56 ` [PATCH v3 2/6] iommu/arm-smmu: Add interconnect bandwidth voting support Bibek Kumar Patro
2026-07-06 17:09   ` sashiko-bot
2026-07-06 17:40   ` Dmitry Baryshkov
2026-07-07 12:43     ` Bibek Kumar Patro
2026-07-06 16:56 ` [PATCH v3 3/6] arm64: dts: qcom: kodiak: Add GEM_NOC interconnect for adreno SMMU Bibek Kumar Patro
2026-07-06 17:42   ` Dmitry Baryshkov
2026-07-07 13:07     ` Bibek Kumar Patro
2026-07-07 16:44       ` Dmitry Baryshkov
2026-07-08 10:01         ` Bibek Kumar Patro
2026-07-08 15:26           ` Bjorn Andersson [this message]
2026-07-06 16:56 ` [PATCH v3 4/6] arm64: dts: qcom: lemans: " Bibek Kumar Patro
2026-07-06 16:56 ` [PATCH v3 5/6] arm64: dts: qcom: monaco: " Bibek Kumar Patro
2026-07-06 16:56 ` [PATCH v3 6/6] arm64: dts: qcom: talos: " Bibek Kumar Patro

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=ak5qkRKk2eHHLYmo@baldur \
    --to=andersson@kernel.org \
    --cc=bibek.patro@oss.qualcomm.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@oss.qualcomm.com \
    --cc=iommu@lists.linux.dev \
    --cc=joro@8bytes.org \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=robin.clark@oss.qualcomm.com \
    --cc=robin.murphy@arm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.