From: Gregory CLEMENT <gregory.clement@bootlin.com>
To: Rob Herring <robh@kernel.org>
Cc: "Aleksandar Rikalo" <arikalo@gmail.com>,
"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
"Jiaxun Yang" <jiaxun.yang@flygoat.com>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/5] dt-bindings: mips: mips-cm: Add a new compatible string for EyeQ6
Date: Fri, 17 Jan 2025 10:46:00 +0100 [thread overview]
Message-ID: <87a5bpwz6v.fsf@BLaptop.bootlin.com> (raw)
In-Reply-To: <20250116153637.GA2567996-robh@kernel.org>
Hello Rob,
> On Thu, Jan 16, 2025 at 11:59:20AM +0100, Gregory CLEMENT wrote:
>> The CM3.5 used on EyeQ6 reports that Hardware Cache Initialization is
>> complete, but in reality it's not the case. It also incorrectly
>> indicates that Hardware Cache Initialization is supported. This new
>> compatible string allows warning about this broken feature that cannot
>> be detected at runtime.
>>
>> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
>> ---
>> .../devicetree/bindings/mips/mti,mips-cm.yaml | 24 ++++++++++++++++++++--
>> 1 file changed, 22 insertions(+), 2 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml
>> index 9f500804737d23e19f50a9326168686c05d3a54e..4713673f0cfc7785bb183917ee382a815ebfe9e1 100644
>> --- a/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml
>> +++ b/Documentation/devicetree/bindings/mips/mti,mips-cm.yaml
>> @@ -14,7 +14,12 @@ maintainers:
>>
>> properties:
>> compatible:
>> - const: mti,mips-cm
>> + oneOf:
>> + - const: mti,mips-cm
>> + - const: mti,eyeq6-cm
>
> Being a mobileye device, the vendor prefix should be mobileye.
I chose mti because actually this block is part of the I6500 and
provided as is by MIPS.
>
>> + description:
>> + On EyeQ6 the HCI (Hardware Cache Initialization) information for
>> + the L2 cache in multi-cluster configuration is broken.
>>
>> reg:
>> description:
>> @@ -25,14 +30,29 @@ properties:
>>
>> required:
>> - compatible
>> - - reg
>>
>> additionalProperties: false
>>
>> +if:
>> + properties:
>> + compatible:
>> + contains:
>> + const: mti,eyeq6-cm
>> +then:
>> + properties:
>> + reg: false
>> +else:
>> + required:
>> + - reg
>
> How does one access this block with no registers? Is this some subset of
> a larger block? If so, need to define that block first.
CM stands for Coherence Manager. This component is mandatory when you
want to do SMP across MIPS core. This is part of the MIPS architecture,
and the address of the CM is provided by the Coprocessor 0.
"CP0 is incorporated on the CPU chip and supports the virtual memory
system and exception handling. CP0 is also referred to as the System
Control Coprocessor."
So to summarize, in a functional system, this information doesn't have
to be exposed through the device tree, as it is available at runtime
from any MIPS CPU.
>
> These 2 blocks don't look related and the only property shared is
> 'compatible'. This should be a separate doc.
As mentioned in the cover letter, I reused the work from Jiaxun, who
needed to deal with bogus CM but in a different way. In his use case,
the issue with the CM was that the address in CP0 was wrong. In my case,
this address is correct; it is only one piece of information reported by
the CM that is wrong. I don't mind creating a separate doc if you
still think it is the right thing to do.
Gregory
>
> Rob
--
Grégory CLEMENT, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2025-01-17 9:46 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-16 10:59 [PATCH v2 0/5] MIPS: Allow using multi-cluster with a broken HCI Gregory CLEMENT
2025-01-16 10:59 ` [PATCH v2 1/5] dt-bindings: mips: Document mti,mips-cm Gregory CLEMENT
2025-01-16 15:31 ` Rob Herring
2025-01-20 15:01 ` Gregory CLEMENT
2025-01-16 10:59 ` [PATCH v2 2/5] dt-bindings: mips: mips-cm: Add a new compatible string for EyeQ6 Gregory CLEMENT
2025-01-16 15:36 ` Rob Herring
2025-01-17 9:46 ` Gregory CLEMENT [this message]
2025-01-17 10:43 ` Jiaxun Yang
2025-01-18 14:41 ` Krzysztof Kozlowski
2025-01-16 10:59 ` [PATCH v2 3/5] MIPS: cm: Detect CM quirks from device tree Gregory CLEMENT
2025-01-16 10:59 ` [PATCH v2 4/5] MIPS: CPS: Support broken HCI for multicluster Gregory CLEMENT
2025-01-16 10:59 ` [PATCH v2 5/5] MIPS: mobileye: dts: eyeq6h: Enable cluster support Gregory CLEMENT
2025-01-16 11:34 ` Jiaxun Yang
2025-01-16 12:39 ` Gregory CLEMENT
2025-01-16 14:14 ` Jiaxun Yang
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=87a5bpwz6v.fsf@BLaptop.bootlin.com \
--to=gregory.clement@bootlin.com \
--cc=arikalo@gmail.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jiaxun.yang@flygoat.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=robh@kernel.org \
--cc=tawfik.bayouk@mobileye.com \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tsbogend@alpha.franken.de \
--cc=vladimir.kondratiev@mobileye.com \
/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;
as well as URLs for NNTP newsgroup(s).