public inbox for linux-doc@vger.kernel.org
 help / color / mirror / Atom feed
From: Conor Dooley <conor@kernel.org>
To: Samuel Holland <samuel.holland@sifive.com>
Cc: Charlie Jenkins <charlie@rivosinc.com>,
	linux-riscv@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev,
	linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org,
	Conor Dooley <conor.dooley@microchip.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Jisheng Zhang <jszhang@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
	Jernej Skrabec <jernej.skrabec@gmail.com>,
	Samuel Holland <samuel@sholland.org>,
	Jonathan Corbet <corbet@lwn.net>, Shuah Khan <shuah@kernel.org>,
	Guo Ren <guoren@kernel.org>, Evan Green <evan@rivosinc.com>,
	Andy Chiu <andy.chiu@sifive.com>,
	Jessica Clarke <jrtc27@jrtc27.com>,
	peterlin@andestech.com
Subject: Re: [PATCH v3 03/13] riscv: dts: allwinner: Add xtheadvector to the D1/D1s devicetree
Date: Mon, 1 Jul 2024 17:31:01 +0100	[thread overview]
Message-ID: <20240701-pyromania-spinster-709a6c8cc460@spud> (raw)
In-Reply-To: <7ab7d629-6993-4cad-b5b7-62bddfc74a49@sifive.com>

[-- Attachment #1: Type: text/plain, Size: 3820 bytes --]

On Mon, Jul 01, 2024 at 11:11:55AM -0500, Samuel Holland wrote:
> Hi Conor, Charlie,
> 
> On 2024-07-01 11:07 AM, Conor Dooley wrote:
> > On Mon, Jul 01, 2024 at 10:27:01AM -0500, Samuel Holland wrote:
> >> On 2024-06-19 6:57 PM, Charlie Jenkins wrote:
> >>> The D1/D1s SoCs support xtheadvector so it can be included in the
> >>> devicetree. Also include vlenb for the cpu.
> >>>
> >>> Signed-off-by: Charlie Jenkins <charlie@rivosinc.com>
> >>> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> >>> ---
> >>>  arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi | 3 ++-
> >>
> >> The other C906/C910/C920-based SoCs need devicetree updates as well, although
> >> they don't necessarily need to be part of this series:
> >>
> >>  - sophgo/cv18xx.dtsi
> >>  - sophgo/sg2042-cpus.dtsi
> >>  - thead/th1520.dtsi
> > 
> > Yeah, I think I pointed that out before with the same "escape hatch" of
> > it not needing to be in the same series.
> > 
> >>
> >>>  1 file changed, 2 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi b/arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi
> >>> index 64c3c2e6cbe0..6367112e614a 100644
> >>> --- a/arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi
> >>> +++ b/arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi
> >>> @@ -27,7 +27,8 @@ cpu0: cpu@0 {
> >>>  			riscv,isa = "rv64imafdc";
> >>
> >> The ISA string should be updated to keep it in sync with riscv,isa-extensions.
> > 
> > This probably looks like this cos I said that the kernel shouldn't parse
> > vendor extensions from "riscv,isa". My rationale was that we have
> > basically no control of what a vendor extension means in riscv,isa so 
> > we shouldn't parse them from it (so marginally worse than standard
> > extensions, where it means what the spec says except when it doesn't).
> > 
> > Given how we implement the parsing, it also meant we weren't implying
> > meanings for vendor extensions ACPI-land, where we also can't ensure the
> > meanings or that they remain stable. That change is in a different
> > series:
> > https://patchwork.kernel.org/project/linux-riscv/patch/20240609-support_vendor_extensions-v2-1-9a43f1fdcbb9@rivosinc.com/
> > 
> > Although now that I think about it, this might break xandespmu... I
> > dunno if the Andes guys switched over to using the new property outside
> > of the single dts in the kernel tree using their SoC. We could
> > potentially special-case that extension if they haven't - but my
> > position on this mostly is that if you want to use vendor extensions you
> > should not be using riscv,isa (even if the regex doesn't complain if you
> > add them). I'd like to leave the code in the other patch as-is if we can
> > help it.
> > 
> > I added Yu Chien Peter Lin here, maybe they can let us know what they're
> > doing.
> 
> OK, that makes sense to me. Then please ignore my original comment.

Should the xandespmu thing be an issue, I'd suggest we just do something
like the following, in place of the new switch arm added by Charlie:

diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c
index ec4bff7a827c..bb99b4055ec2 100644
--- a/arch/riscv/kernel/cpufeature.c
+++ b/arch/riscv/kernel/cpufeature.c
@@ -628,6 +628,17 @@ static void __init riscv_parse_isa_string(const char *isa, unsigned long *bitmap
 		if (unlikely(ext_err))
 			continue;
 
+		if (*ext == 'x' && acpi_disabled) {
+			/*
+			 * xandespmu predates this "rule", so special case it for
+			 * hysterical raisins
+			 */
+			if (strncasecmp(ext, "xandespmu", ext_end - ext)) {
+				pr_warn_once("Vendor extensions are ignored in riscv,isa. Use riscv,isa-extensions instead.");
+				break;
+			}
+		}
+
 		match_isa_ext(ext, ext_end, bitmap);
 	}
 }


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  reply	other threads:[~2024-07-01 16:31 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-19 23:57 [PATCH v3 00/13] riscv: Add support for xtheadvector Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 01/13] dt-bindings: riscv: Add xtheadvector ISA extension description Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 02/13] dt-bindings: cpus: add a thead vlen register length property Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 03/13] riscv: dts: allwinner: Add xtheadvector to the D1/D1s devicetree Charlie Jenkins
2024-06-20 10:06   ` Chen-Yu Tsai
2024-07-01 15:27   ` Samuel Holland
2024-07-01 16:07     ` Conor Dooley
2024-07-01 16:11       ` Samuel Holland
2024-07-01 16:31         ` Conor Dooley [this message]
2024-07-02  9:46           ` Yu-Chien Peter Lin
2024-07-02 15:39             ` Conor Dooley
2024-06-19 23:57 ` [PATCH v3 04/13] riscv: Add thead and xtheadvector as a vendor extension Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 05/13] riscv: vector: Use vlenb from DT for thead Charlie Jenkins
2024-07-01 14:06   ` Conor Dooley
2024-07-10  7:11   ` Guo Ren
2024-06-19 23:57 ` [PATCH v3 06/13] RISC-V: define the elements of the VCSR vector CSR Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 07/13] riscv: csr: Add CSR encodings for VCSR_VXRM/VCSR_VXSAT Charlie Jenkins
2024-07-01 15:49   ` Samuel Holland
2024-07-02  5:46     ` Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 08/13] riscv: Add xtheadvector instruction definitions Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 09/13] riscv: vector: Support xtheadvector save/restore Charlie Jenkins
2024-07-01 16:20   ` Samuel Holland
2024-07-02  5:51     ` Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 10/13] riscv: hwprobe: Add thead vendor extension probing Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 11/13] riscv: hwprobe: Document thead vendor extensions and xtheadvector extension Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 12/13] selftests: riscv: Fix vector tests Charlie Jenkins
2024-06-19 23:57 ` [PATCH v3 13/13] selftests: riscv: Support xtheadvector in " Charlie Jenkins

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=20240701-pyromania-spinster-709a6c8cc460@spud \
    --to=conor@kernel.org \
    --cc=andy.chiu@sifive.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=charlie@rivosinc.com \
    --cc=conor.dooley@microchip.com \
    --cc=corbet@lwn.net \
    --cc=devicetree@vger.kernel.org \
    --cc=evan@rivosinc.com \
    --cc=guoren@kernel.org \
    --cc=jernej.skrabec@gmail.com \
    --cc=jrtc27@jrtc27.com \
    --cc=jszhang@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peterlin@andestech.com \
    --cc=robh@kernel.org \
    --cc=samuel.holland@sifive.com \
    --cc=samuel@sholland.org \
    --cc=shuah@kernel.org \
    --cc=wens@csie.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