lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <870f33ca-2704-4e21-92f7-1e8f3150bc8a@kalrayinc.com>
Date: Wed, 4 Sep 2024 17:37:30 +0200
From: Yann Sionneau <ysionneau@...rayinc.com>
To: Rob Herring <robh@...nel.org>
Cc: linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
 Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
 <conor+dt@...nel.org>, Jonathan Borne <jborne@...rayinc.com>, Julian Vetter
 <jvetter@...rayinc.com>, Jules Maselbas <jmaselbas@...v.net>,
 devicetree@...r.kernel.org
Subject: Re: [RFC PATCH v3 07/37] dt-bindings: Add binding for
 kalray,coolidge-ipi-ctrl

Hello Rob,

On 22/07/2024 22:50, Rob Herring wrote:
> On Mon, Jul 22, 2024 at 11:41:18AM +0200, ysionneau@...rayinc.com wrote:
>> From: Yann Sionneau <ysionneau@...rayinc.com>
>>
>> Add binding for Kalray Coolidge IPI controller.
>>
>> Co-developed-by: Jules Maselbas <jmaselbas@...v.net>
>> Signed-off-by: Jules Maselbas <jmaselbas@...v.net>
>> Signed-off-by: Yann Sionneau <ysionneau@...rayinc.com>
>> ---
>>
>> Notes:
>>
>> V2 -> V3:
>> - fixed bindings to adhere to dt-schema
>> - moved to interrupt-controller directory, like the related driver
>> ---
>>  .../kalray,coolidge-ipi-ctrl.yaml             | 79 +++++++++++++++++++
>>  1 file changed, 79 insertions(+)
>>  create mode 100644 Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-ipi-ctrl.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-ipi-ctrl.yaml b/Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-ipi-ctrl.yaml
>> new file mode 100644
>> index 0000000000000..91e3afe4f1ca5
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/interrupt-controller/kalray,coolidge-ipi-ctrl.yaml
>> [...]
>> +
>> +description: |
>> +  The Inter-Processor Interrupt Controller (IPI) provides a fast synchronization
>> +  mechanism to the software. It exposes eight independent set of registers that
>> +  can be use to notify each processor in the cluster.
>> +  A set of registers contains two 32-bit registers:
>> +    - 17-bit interrupt control, one bit per core, raise an interrupt on write
>> +    - 17-bit mask, one per core, to enable interrupts
>> +
>> +  Bit at offsets 0 to 15 selects cores in the cluster, respectively PE0 to PE15,
>> +  while bit at offset 16 is for the cluster Resource Manager (RM) core.
>> +
>> +  The eight output interrupts are connected to each processor core interrupt
>> +  controller (intc).
> It says there are 16 interrupt outputs below...

In reality, the ipi-ctrl hw can generate 8 interrupts per core, and there are 16 PE (Processing Element) cores and 1 RM (Resource Manager) core.

But, so far, our kernel port only uses 1 interrupt per core (for IPI) and only for the 16 PE (the RM does not run Linux).

Should we describe in the yaml all the hw can do?

Or only what we do use?

>
>> [...]
>> +
>> +  interrupts-extended:
>> +    maxItems: 16
>> +    description: |
>> +      Specifies the interrupt line the IPI controller will raise on the core INTC.
>> +
>> + [...]
>> +
>> +examples:
>> +  - |
>> +    ipi: inter-processor-interrupt@...000 {
>> +        compatible = "kalray,coolidge-ipi-ctrl";
>> +        reg = <0x00 0xad0000 0x00 0x1000>;
>> +        #interrupt-cells = <0>;
>> +        interrupt-controller;
>> +        interrupts-extended = <&core_intc0 24>,
>> +                              <&core_intc1 24>,
>> +                              <&core_intc2 24>,
>> +                              <&core_intc3 24>,
>> +                              <&core_intc4 24>,
>> +                              <&core_intc5 24>,
>> +                              <&core_intc6 24>,
>> +                              <&core_intc7 24>,
>> +                              <&core_intc8 24>,
>> +                              <&core_intc9 24>,
>> +                              <&core_intc10 24>,
>> +                              <&core_intc11 24>,
>> +                              <&core_intc12 24>,
>> +                              <&core_intc13 24>,
>> +                              <&core_intc14 24>,
>> +                              <&core_intc15 24>;
>> +    };
>> +
>> +...

Thanks for your review!

Regards,

-- 

Yann






Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ