From: Conor Dooley <conor@kernel.org>
To: Anup Patel <anup@brainfault.org>
Cc: Anup Patel <apatel@ventanamicro.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Thomas Gleixner <tglx@linutronix.de>,
Marc Zyngier <maz@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Atish Patra <atishp@atishpatra.org>,
Alistair Francis <Alistair.Francis@wdc.com>,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v2 1/9] RISC-V: Add AIA related CSR defines
Date: Tue, 17 Jan 2023 20:42:03 +0000 [thread overview]
Message-ID: <Y8cIG6gKSlkTh5AF@spud> (raw)
In-Reply-To: <CAAhSdy2YKJfuxhBmsx9v-OMyxKQjys+J-z_ZqoPJF7q=YrE4Zw@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 2636 bytes --]
Hey Anup,
I thought I had already replied here but clearly not, sorry!
On Mon, Jan 09, 2023 at 10:39:08AM +0530, Anup Patel wrote:
> On Thu, Jan 5, 2023 at 4:37 AM Conor Dooley <conor@kernel.org> wrote:
> > On Tue, Jan 03, 2023 at 07:44:01PM +0530, Anup Patel wrote:
> > > +/* AIA CSR bits */
> > > +#define TOPI_IID_SHIFT 16
> > > +#define TOPI_IID_MASK 0xfff
While I think of it, it'd be worth noting that these are generic across
all of topi, mtopi etc. Initially I thought that this mask was wrong as
the topi section says:
bits 25:16 Interrupt identity (source number)
bits 7:0 Interrupt priority
> > > +#define TOPI_IPRIO_MASK 0xff
> > > +#define TOPI_IPRIO_BITS 8
> > > +
> > > +#define TOPEI_ID_SHIFT 16
> > > +#define TOPEI_ID_MASK 0x7ff
> > > +#define TOPEI_PRIO_MASK 0x7ff
> > > +
> > > +#define ISELECT_IPRIO0 0x30
> > > +#define ISELECT_IPRIO15 0x3f
> > > +#define ISELECT_MASK 0x1ff
> > > +
> > > +#define HVICTL_VTI 0x40000000
> > > +#define HVICTL_IID 0x0fff0000
> > > +#define HVICTL_IID_SHIFT 16
> > > +#define HVICTL_IPRIOM 0x00000100
> > > +#define HVICTL_IPRIO 0x000000ff
> >
> > Why not name these as masks, like you did for the other masks?
> > Also, the mask/shift defines appear inconsistent. TOPI_IID_MASK is
> > intended to be used post-shift AFAICT, but HVICTL_IID_SHIFT is intended
> > to be used *pre*-shift.
> > Some consistency in naming and function would be great.
>
> The following convention is being followed in asm/csr.h for defining
> MASK of any XYZ field in ABC CSR:
> 1. ABC_XYZ : This name is used for MASK which is intended
> to be used before SHIFT
> 2. ABC_XYZ_MASK: This name is used for MASK which is
> intended to be used after SHIFT
Which makes sense in theory.
> The existing defines for [M|S]STATUS, HSTATUS, SATP, and xENVCFG
> follows the above convention. The only outlier is HGATPx_VMID_MASK
> define which I will fix in my next KVM RISC-V series.
Yup, it is liable to end up like that.
> I don't see how any of the AIA CSR defines are violating the above
> convention.
What I was advocating for was picking one style and sticking to it.
These copy-paste from docs things are tedious and error prone to review,
and I don't think having multiple styles is helpful.
Tedious as it was, I did check all the numbers though, so in that
respect:
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Thanks,
Conor.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #2: Type: text/plain, Size: 161 bytes --]
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: Conor Dooley <conor@kernel.org>
To: Anup Patel <anup@brainfault.org>
Cc: Anup Patel <apatel@ventanamicro.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Paul Walmsley <paul.walmsley@sifive.com>,
Thomas Gleixner <tglx@linutronix.de>,
Marc Zyngier <maz@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Atish Patra <atishp@atishpatra.org>,
Alistair Francis <Alistair.Francis@wdc.com>,
linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v2 1/9] RISC-V: Add AIA related CSR defines
Date: Tue, 17 Jan 2023 20:42:03 +0000 [thread overview]
Message-ID: <Y8cIG6gKSlkTh5AF@spud> (raw)
In-Reply-To: <CAAhSdy2YKJfuxhBmsx9v-OMyxKQjys+J-z_ZqoPJF7q=YrE4Zw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2636 bytes --]
Hey Anup,
I thought I had already replied here but clearly not, sorry!
On Mon, Jan 09, 2023 at 10:39:08AM +0530, Anup Patel wrote:
> On Thu, Jan 5, 2023 at 4:37 AM Conor Dooley <conor@kernel.org> wrote:
> > On Tue, Jan 03, 2023 at 07:44:01PM +0530, Anup Patel wrote:
> > > +/* AIA CSR bits */
> > > +#define TOPI_IID_SHIFT 16
> > > +#define TOPI_IID_MASK 0xfff
While I think of it, it'd be worth noting that these are generic across
all of topi, mtopi etc. Initially I thought that this mask was wrong as
the topi section says:
bits 25:16 Interrupt identity (source number)
bits 7:0 Interrupt priority
> > > +#define TOPI_IPRIO_MASK 0xff
> > > +#define TOPI_IPRIO_BITS 8
> > > +
> > > +#define TOPEI_ID_SHIFT 16
> > > +#define TOPEI_ID_MASK 0x7ff
> > > +#define TOPEI_PRIO_MASK 0x7ff
> > > +
> > > +#define ISELECT_IPRIO0 0x30
> > > +#define ISELECT_IPRIO15 0x3f
> > > +#define ISELECT_MASK 0x1ff
> > > +
> > > +#define HVICTL_VTI 0x40000000
> > > +#define HVICTL_IID 0x0fff0000
> > > +#define HVICTL_IID_SHIFT 16
> > > +#define HVICTL_IPRIOM 0x00000100
> > > +#define HVICTL_IPRIO 0x000000ff
> >
> > Why not name these as masks, like you did for the other masks?
> > Also, the mask/shift defines appear inconsistent. TOPI_IID_MASK is
> > intended to be used post-shift AFAICT, but HVICTL_IID_SHIFT is intended
> > to be used *pre*-shift.
> > Some consistency in naming and function would be great.
>
> The following convention is being followed in asm/csr.h for defining
> MASK of any XYZ field in ABC CSR:
> 1. ABC_XYZ : This name is used for MASK which is intended
> to be used before SHIFT
> 2. ABC_XYZ_MASK: This name is used for MASK which is
> intended to be used after SHIFT
Which makes sense in theory.
> The existing defines for [M|S]STATUS, HSTATUS, SATP, and xENVCFG
> follows the above convention. The only outlier is HGATPx_VMID_MASK
> define which I will fix in my next KVM RISC-V series.
Yup, it is liable to end up like that.
> I don't see how any of the AIA CSR defines are violating the above
> convention.
What I was advocating for was picking one style and sticking to it.
These copy-paste from docs things are tedious and error prone to review,
and I don't think having multiple styles is helpful.
Tedious as it was, I did check all the numbers though, so in that
respect:
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Thanks,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2023-01-17 20:42 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-03 14:14 [PATCH v2 0/9] Linux RISC-V AIA Support Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-03 14:14 ` [PATCH v2 1/9] RISC-V: Add AIA related CSR defines Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-04 23:07 ` Conor Dooley
2023-01-04 23:07 ` Conor Dooley
2023-01-09 5:09 ` Anup Patel
2023-01-09 5:09 ` Anup Patel
2023-01-17 20:42 ` Conor Dooley [this message]
2023-01-17 20:42 ` Conor Dooley
2023-01-27 11:58 ` Anup Patel
2023-01-27 11:58 ` Anup Patel
2023-01-27 14:20 ` Conor Dooley
2023-01-27 14:20 ` Conor Dooley
2023-01-03 14:14 ` [PATCH v2 2/9] RISC-V: Detect AIA CSRs from ISA string Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-03 14:14 ` [PATCH v2 3/9] irqchip/riscv-intc: Add support for RISC-V AIA Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-13 9:39 ` Marc Zyngier
2023-01-13 9:39 ` Marc Zyngier
2023-01-03 14:14 ` [PATCH v2 4/9] dt-bindings: interrupt-controller: Add RISC-V incoming MSI controller Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-04 23:21 ` Conor Dooley
2023-01-04 23:21 ` Conor Dooley
2023-02-20 3:15 ` Anup Patel
2023-02-20 3:15 ` Anup Patel
2023-01-12 20:49 ` Rob Herring
2023-01-12 20:49 ` Rob Herring
2023-02-20 3:20 ` Anup Patel
2023-02-20 3:20 ` Anup Patel
2023-02-19 11:17 ` Vivian Wang
2023-02-19 11:17 ` Vivian Wang
2023-02-20 3:31 ` Anup Patel
2023-02-20 3:31 ` Anup Patel
2023-01-03 14:14 ` [PATCH v2 5/9] irqchip: Add RISC-V incoming MSI controller driver Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-13 10:10 ` Marc Zyngier
2023-01-13 10:10 ` Marc Zyngier
2023-05-01 8:28 ` Anup Patel
2023-05-01 8:28 ` Anup Patel
2023-05-01 8:44 ` Marc Zyngier
2023-05-01 8:44 ` Marc Zyngier
[not found] ` <CAPqJEFqhd-=-RYepKqnco7HySoxk7AhEctL+vzNozMSWe0mv7A@mail.gmail.com>
[not found] ` <CABvJ_xhcuC92A_oo1mWQoRvtRzE8XXx9bbXKs7N7wKm0=Z3_Cw@mail.gmail.com>
2023-01-18 3:49 ` Fwd: " Vincent Chen
2023-01-18 3:49 ` Vincent Chen
2023-01-18 4:20 ` Anup Patel
2023-01-18 4:20 ` Anup Patel
2023-01-03 14:14 ` [PATCH v2 6/9] dt-bindings: interrupt-controller: Add RISC-V advanced PLIC Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-04 22:16 ` Conor Dooley
2023-01-04 22:16 ` Conor Dooley
2023-02-20 4:36 ` Anup Patel
2023-02-20 4:36 ` Anup Patel
2023-02-20 10:32 ` Conor Dooley
2023-02-20 10:32 ` Conor Dooley
2023-02-20 10:56 ` Conor Dooley
2023-02-20 10:56 ` Conor Dooley
2023-01-12 21:02 ` Rob Herring
2023-01-12 21:02 ` Rob Herring
2023-02-19 11:48 ` Vivian Wang
2023-02-19 11:48 ` Vivian Wang
2023-02-20 5:09 ` Anup Patel
2023-02-20 5:09 ` Anup Patel
2023-01-03 14:14 ` [PATCH v2 7/9] irqchip: Add RISC-V advanced PLIC driver Anup Patel
2023-01-03 14:14 ` Anup Patel
[not found] ` <CAPqJEFpmAvWiOdackxYwSPBfjo4DnTHXrXVSCC4snMn8tnZXPw@mail.gmail.com>
[not found] ` <CABvJ_xhjMa8xTsO-Qa23TOqxPpYxyBYSfV6TmKney-Gp3oi8cA@mail.gmail.com>
2023-01-17 7:09 ` Fwd: " Vincent Chen
2023-01-17 7:09 ` Vincent Chen
2023-01-18 4:37 ` Anup Patel
2023-01-18 4:37 ` Anup Patel
2023-01-03 14:14 ` [PATCH v2 8/9] RISC-V: Select APLIC and IMSIC drivers Anup Patel
2023-01-03 14:14 ` Anup Patel
2023-01-03 14:14 ` [PATCH v2 9/9] MAINTAINERS: Add entry for RISC-V AIA drivers Anup Patel
2023-01-03 14:14 ` Anup Patel
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=Y8cIG6gKSlkTh5AF@spud \
--to=conor@kernel.org \
--cc=Alistair.Francis@wdc.com \
--cc=anup@brainfault.org \
--cc=apatel@ventanamicro.com \
--cc=atishp@atishpatra.org \
--cc=devicetree@vger.kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=maz@kernel.org \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=robh+dt@kernel.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.