Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
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


  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