[PATCH] dt-bindings: riscv: Document cbop-block-size
Daniel Henrique Barboza
dbarboza at ventanamicro.com
Sun Oct 29 12:49:30 PDT 2023
On 10/29/23 11:53, Conor Dooley wrote:
> Yo,
>
> On Sun, Oct 29, 2023 at 09:35:00AM -0300, Daniel Henrique Barboza wrote:
>> Following the examples of cbom-block-size and cboz-block-size,
>> cbop-block-size is the cache size of Zicbop (cbo.prefetch) operations.
>> The most common case is to have all cache block sizes to be the same
>> size (e.g. profiles such as rva22u64 mandates a 64 bytes size for all
>> cache operations), but there's no specification requirement for that,
>> and an implementation can have different cache sizes for each operation.
>>
>> Cc: Rob Herring <robh at kernel.org>
>> Cc: Conor Dooley <conor.dooley at microchip.com>
>> Signed-off-by: Daniel Henrique Barboza <dbarboza at ventanamicro.com>
>
> Firstly, odd CC list. Please CC the output of get_maintainer.pl in the
> future.
Ops, my bad
>
> IIRC, I mentioned defining this to Drew when he was add zicboz, but he
> didn't want to add it - although he seems to have asked you to document
> this. Drew, change of heart or am I not remembering correctly?
> I think he cited some interpretation of the spec from Andrei W that
> implied the Zicbop size would be the same as one of the other ones, but
> I cannot find that on lore atm.
The reason why I'm here is because I want to add Zicbop in QEMU riscv,isa.
I'm pushing a rva22u64 profile implementation there and Zicbop is mandatory
for it. In the process I added a riscv,cbop-block-size DT because, well,
if both Zicboz and Zicbom have their respective block-size DTs, then it's
expected that Zicbop also has one. Or so I thought.
Drew then replied in the QEMU ML [1] that riscv,cbop-block-size isn't
documented and we can't add it as it is. So here we are.
If riscv,cbop-block-size isn't needed because Zicbop will use the cache
block size of Zicboz or Zicbom, that works for me too - I'll add a note
in QEMU explaining why there's no riscv,cbop-block-size and everything
is fine. What we can't do is add stuff in the QEMU DT that's neither
documented nor acked in the DT bindings.
Thanks,
Daniel
[1] https://lore.kernel.org/qemu-riscv/20231028-2d6bf00dddc7bc4a25b32663@orel/
>
> If Drew's okay with it, then I am too, so a conditional
> Acked-by: Conor Dooley <conor.dooley at microchip.com>
>
> Cheers,
> Conor.
>
>> ---
>> Documentation/devicetree/bindings/riscv/cpus.yaml | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/riscv/cpus.yaml b/Documentation/devicetree/bindings/riscv/cpus.yaml
>> index 97e8441eda1c..1660b296f7de 100644
>> --- a/Documentation/devicetree/bindings/riscv/cpus.yaml
>> +++ b/Documentation/devicetree/bindings/riscv/cpus.yaml
>> @@ -78,6 +78,11 @@ properties:
>> description:
>> The blocksize in bytes for the Zicbom cache operations.
>>
>> + riscv,cbop-block-size:
>> + $ref: /schemas/types.yaml#/definitions/uint32
>> + description:
>> + The blocksize in bytes for the Zicbop cache operations.
>> +
>> riscv,cboz-block-size:
>> $ref: /schemas/types.yaml#/definitions/uint32
>> description:
>> --
>> 2.41.0
>>
>>
More information about the linux-riscv
mailing list