[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aM0LZVudBKjWuVrT@willie-the-truck>
Date: Fri, 19 Sep 2025 08:51:01 +0100
From: Will Deacon <will@...nel.org>
To: Stephan Gerhold <stephan.gerhold@...aro.org>
Cc: Robin Murphy <robin.murphy@....com>, Joerg Roedel <joro@...tes.org>,
Rob Clark <robin.clark@....qualcomm.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Johan Hovold <johan@...nel.org>,
Bjorn Andersson <andersson@...nel.org>, iommu@...ts.linux.dev,
linux-arm-msm@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iommu/arm-smmu-qcom: Enable use of all SMR groups when
running bare-metal
On Wed, Sep 17, 2025 at 09:16:46PM +0200, Stephan Gerhold wrote:
> I realize it is weird to allow non-architectural features like this, but
> I haven't found any indication that the additional SMRs work any
> different from the standard ones. The SMMU spec seems to reserve space
> for up to 256 SMRs in the address space and the register bits, as if it
> was intended to be extended like this later. That's also why it works
> correctly without any changes in arm-smmu.c: the bit masks used there
> already allow up to 256 SMRs.
>
> What do you think?
Although it's all pretty ugly, I think we really only have two choices:
- Teach the core driver code about all this and use an rmr-like scheme
to leave the upper SMRs in bypass
- Hack it in the impl code as per your patch
The latter option is probably the most pragmatic (especially considering
the need to handle the virtualised case differently) but I'd like to see
what Robin thinks.
Will
Powered by blists - more mailing lists