From: Bibek Kumar Patro <quic_bibekkum@quicinc.com>
To: Will Deacon <will@kernel.org>
Cc: <robdclark@gmail.com>, <robin.murphy@arm.com>, <joro@8bytes.org>,
<jgg@ziepe.ca>, <jsnitsel@redhat.com>, <robh@kernel.org>,
<krzysztof.kozlowski@linaro.org>, <quic_c_gdjako@quicinc.com>,
<dmitry.baryshkov@linaro.org>, <konrad.dybcio@linaro.org>,
<iommu@lists.linux.dev>, <linux-arm-msm@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v14 5/6] iommu/arm-smmu: add ACTLR data and support for SC7280
Date: Mon, 26 Aug 2024 16:33:24 +0530 [thread overview]
Message-ID: <3ae75a75-1717-40b6-9149-bc3673d520d6@quicinc.com> (raw)
In-Reply-To: <20240823155918.GD525@willie-the-truck>
On 8/23/2024 9:29 PM, Will Deacon wrote:
> On Fri, Aug 16, 2024 at 11:12:58PM +0530, Bibek Kumar Patro wrote:
>> Add ACTLR data table for SC7280 along with support for
>> same including SC7280 specific implementation operations.
>>
>> Signed-off-by: Bibek Kumar Patro <quic_bibekkum@quicinc.com>
>> ---
>> drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 58 +++++++++++++++++++++-
>> 1 file changed, 57 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
>> index dc143b250704..a776c7906c76 100644
>> --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
>> +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c
>> @@ -31,6 +31,55 @@
>> #define PREFETCH_MODERATE (2 << PREFETCH_SHIFT)
>> #define PREFETCH_DEEP (3 << PREFETCH_SHIFT)
>>
>> +static const struct actlr_config sc7280_apps_actlr_cfg[] = {
>> + { 0x0800, 0x04e0, PREFETCH_DEFAULT | CMTLB },
>> + { 0x0900, 0x0402, PREFETCH_SHALLOW | CPRE | CMTLB },
>> + { 0x0901, 0x0000, PREFETCH_SHALLOW | CPRE | CMTLB },
>> + { 0x0d01, 0x0000, PREFETCH_SHALLOW | CPRE | CMTLB },
>> + { 0x1181, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1182, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1183, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1184, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1185, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1186, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1187, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1188, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x1189, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x118b, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x118c, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x118d, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x118e, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x118f, 0x0420, PREFETCH_DEEP | CPRE | CMTLB },
>> + { 0x2000, 0x0020, PREFETCH_DEFAULT | CMTLB },
>> + { 0x2040, 0x0000, PREFETCH_DEFAULT | CMTLB },
>> + { 0x2062, 0x0000, PREFETCH_DEFAULT | CMTLB },
>> + { 0x2080, 0x0020, PREFETCH_DEFAULT | CMTLB },
>> + { 0x20c0, 0x0020, PREFETCH_DEFAULT | CMTLB },
>> + { 0x2100, 0x0020, PREFETCH_DEFAULT | CMTLB },
>> + { 0x2140, 0x0000, PREFETCH_DEFAULT | CMTLB },
>> + { 0x2180, 0x0020, PREFETCH_SHALLOW | CPRE | CMTLB },
>> + { 0x2181, 0x0004, PREFETCH_SHALLOW | CPRE | CMTLB },
>> + { 0x2183, 0x0000, PREFETCH_SHALLOW | CPRE | CMTLB },
>> + { 0x2184, 0x0020, PREFETCH_SHALLOW | CPRE | CMTLB },
>> + { 0x2187, 0x0000, PREFETCH_SHALLOW | CPRE | CMTLB },
>> +};
>> +
>> +static const struct actlr_config sc7280_gfx_actlr_cfg[] = {
>> + { 0x0000, 0x07ff, PREFETCH_DEEP | CPRE | CMTLB },
>> +};
>
> It's Will "stuck record" Deacon here again to say that I don't think
> this data belongs in the driver.
>
Hi Will,
It will be difficult to reach a consensus here, with Robin and the DT
folks okay to keep it in the driver, while you believe it doesn't belong
there.
Robin, Rob, could you please share your thoughts on concluding the
placement of this prefetch data?
As discussed earlier [1], the prefetch value for each client doesn’t
define the hardware topology and is implementation-defined register
writes used by the software driver.
We're okay with either approach, but these points [2] also raised in the
RFC led us to believe that switching from DT to the driver is the
right approach.
[1]:https://lore.kernel.org/all/2b0d8c5b-7e79-41ff-bc57-003d1b947c16@quicinc.com/
[2]:https://lore.kernel.org/all/a01e7e60-6ead-4a9e-ba90-22a8a6bbd03f@quicinc.com/
> Have a great weekend!
>
> Will
next prev parent reply other threads:[~2024-08-26 11:06 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-16 17:42 [PATCH v14 0/6] iommu/arm-smmu: introduction of ACTLR implementation for Qualcomm SoCs Bibek Kumar Patro
2024-08-16 17:42 ` [PATCH v14 1/6] iommu/arm-smmu: re-enable context caching in smmu reset operation Bibek Kumar Patro
2024-08-30 12:53 ` Robin Murphy
2024-09-03 12:59 ` Bibek Kumar Patro
2024-08-16 17:42 ` [PATCH v14 2/6] iommu/arm-smmu: refactor qcom_smmu structure to include single pointer Bibek Kumar Patro
2024-08-16 17:42 ` [PATCH v14 3/6] iommu/arm-smmu: introduction of ACTLR for custom prefetcher settings Bibek Kumar Patro
2024-08-16 17:42 ` [PATCH v14 4/6] iommu/arm-smmu: add ACTLR data and support for SM8550 Bibek Kumar Patro
2024-08-16 17:42 ` [PATCH v14 5/6] iommu/arm-smmu: add ACTLR data and support for SC7280 Bibek Kumar Patro
2024-08-23 15:59 ` Will Deacon
2024-08-26 11:03 ` Bibek Kumar Patro [this message]
2024-08-27 12:47 ` Will Deacon
2024-08-30 10:00 ` Bibek Kumar Patro
2024-08-30 12:31 ` Robin Murphy
2024-09-03 12:59 ` Bibek Kumar Patro
2024-09-03 13:13 ` Dmitry Baryshkov
2024-09-20 19:58 ` Bibek Kumar Patro
2024-08-16 17:42 ` [PATCH v14 6/6] iommu/arm-smmu: add support for PRR bit setup Bibek Kumar Patro
2024-08-22 22:37 ` kernel test robot
2024-08-26 9:10 ` 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=3ae75a75-1717-40b6-9149-bc3673d520d6@quicinc.com \
--to=quic_bibekkum@quicinc.com \
--cc=dmitry.baryshkov@linaro.org \
--cc=iommu@lists.linux.dev \
--cc=jgg@ziepe.ca \
--cc=joro@8bytes.org \
--cc=jsnitsel@redhat.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=quic_c_gdjako@quicinc.com \
--cc=robdclark@gmail.com \
--cc=robh@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox