From: "Bence Csókás" <bence.csokas@arm.com>
To: Andre Przywara <andre.przywara@arm.com>,
Srirangan Madhavan <smadhavan@nvidia.com>,
mark.rutland@arm.com, lpieralisi@kernel.org,
sudeep.holla@kernel.org, conor@kernel.org, jic23@kernel.org
Cc: catalin.marinas@arm.com, will@kernel.org,
aneesh.kumar@kernel.org, Souvik.Chakravarty@arm.com,
treding@nvidia.com, jonathanh@nvidia.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org
Subject: Re: [PATCH v4 2/2] cache: add SMCCC-backed cache invalidate provider
Date: Thu, 15 Oct 2026 09:43:52 +0200 [thread overview]
Message-ID: <c0c04151-1ba9-473c-86a4-e066d6881858@arm.com> (raw)
In-Reply-To: <23e9b66f-083a-4a77-8214-25f30c08057a@arm.com>
Hi,
On 2026. 10. 14. 17:38, Andre Przywara wrote:
>> +static int smccc_cache_probe(struct arm_smccc_device *sdev)
>> +{
>> + struct arm_smccc_res res = {};
>> + struct smccc_cache *cache;
>> + int ret;
>> +
>> + arm_smccc_1_1_invoke(sdev->func_id, &res);
>
> I think you should provide the explicit function ID name here, and not
> rely on which function exactly is used to probe for the interface's
> existence.
I thought that was the point of the matcher, that you could in theory
assign the same probe handler to any function ID? For example if there's
some FW that implements this (or a compatible) function, but at a
different ID, you would only update the match table? At least that's how
most subsystems (I2C, PCI, USB) do it.
>> + if ((s32)res.a0)
>> + return -ENODEV;
>> +
>> + cache = cache_coherency_ops_instance_alloc(&smccc_cache_ops,
>> + struct smccc_cache, cci);
>> + if (!cache)
>> + return -ENOMEM;
>> +
>> + mutex_init(&cache->lock);
>> + cache->latency_us = lower_32_bits(res.a2);
>> + cache->rate_limit = res.a3;
>
> According to the spec you would need lower_32_bits() for a3 as well - if
> we are going to use this value. But I don't think we need to, see above.
Where does it say that? My copy of DEN 0028 1.7 H, released 2026/Jul/24,
only says the following:
X3 (uint64_t attr_2)
Rate Limit: The maximum number of SMCCCC_ARCH_CLEAN_INV_MEMREGION
calls allowed per second. If set to 0, it indicates that this field is
not reported by the implementation.
See my second-to-last comment on v2 of this patch:
https://lore.kernel.org/lkml/591e7ac9-310e-40f4-ab22-161d6ea8f487@arm.com/
Maybe I have an outdated copy already? ;_;
Bence
next prev parent reply other threads:[~2026-10-15 7:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-13 7:02 [PATCH v4 0/2] Add SMCCC cache clean/invalidate provider Srirangan Madhavan
2026-10-13 7:02 ` [PATCH v4 1/2] arm64: smccc: add cache clean/invalidate IDs and return codes Srirangan Madhavan
2026-10-13 7:02 ` [PATCH v4 2/2] cache: add SMCCC-backed cache invalidate provider Srirangan Madhavan
2026-10-14 15:38 ` Andre Przywara
2026-10-15 7:43 ` Bence Csókás [this message]
2026-10-15 10:03 ` Andre Przywara
2026-10-15 18:30 ` Jonathan Cameron
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=c0c04151-1ba9-473c-86a4-e066d6881858@arm.com \
--to=bence.csokas@arm.com \
--cc=Souvik.Chakravarty@arm.com \
--cc=andre.przywara@arm.com \
--cc=aneesh.kumar@kernel.org \
--cc=catalin.marinas@arm.com \
--cc=conor@kernel.org \
--cc=jic23@kernel.org \
--cc=jonathanh@nvidia.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=smadhavan@nvidia.com \
--cc=sudeep.holla@kernel.org \
--cc=treding@nvidia.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