Message ID | 20220130135634.1213301-1-guoren@kernel.org |
---|---|
Headers | show |
Series | Add thead,c900-plic support | expand |
On 1/30/22 7:56 AM, guoren@kernel.org wrote: > From: Guo Ren <guoren@linux.alibaba.com> > > The thead,c900-plic has been used in opensbi to distinguish > PLIC [1]. Although PLICs have the same behaviors in Linux, > they are different hardware with some custom initializing in > firmware(opensbi). > > Qute opensbi patch commit-msg by Samuel: > > The T-HEAD PLIC implementation requires setting a delegation bit > to allow access from S-mode. Now that the T-HEAD PLIC has its own > compatible string, set this bit automatically from the PLIC driver, > instead of reaching into the PLIC's MMIO space from another driver. > > [1]: https://github.com/riscv-software-src/opensbi/commit/78c2b19218bd62653b9fb31623a42ced45f38ea6 > > Signed-off-by: Guo Ren <guoren@linux.alibaba.com> > Cc: Anup Patel <anup@brainfault.org> > Cc: Marc Zyngier <maz@kernel.org> > Cc: Palmer Dabbelt <palmer@dabbelt.com> > Cc: Samuel Holland <samuel@sholland.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > --- > drivers/irqchip/irq-sifive-plic.c | 1 + > 1 file changed, 1 insertion(+) Tested-by: Samuel Holland <samuel@sholland.org>
Hi Marc, On Wed, Feb 2, 2022 at 12:42 PM Samuel Holland <samuel@sholland.org> wrote: > > On 1/30/22 7:56 AM, guoren@kernel.org wrote: > > From: Guo Ren <guoren@linux.alibaba.com> > > > > The thead,c900-plic has been used in opensbi to distinguish > > PLIC [1]. Although PLICs have the same behaviors in Linux, > > they are different hardware with some custom initializing in > > firmware(opensbi). > > > > Qute opensbi patch commit-msg by Samuel: > > > > The T-HEAD PLIC implementation requires setting a delegation bit > > to allow access from S-mode. Now that the T-HEAD PLIC has its own > > compatible string, set this bit automatically from the PLIC driver, > > instead of reaching into the PLIC's MMIO space from another driver. > > > > [1]: https://github.com/riscv-software-src/opensbi/commit/78c2b19218bd62653b9fb31623a42ced45f38ea6 > > > > Signed-off-by: Guo Ren <guoren@linux.alibaba.com> > > Cc: Anup Patel <anup@brainfault.org> > > Cc: Marc Zyngier <maz@kernel.org> > > Cc: Palmer Dabbelt <palmer@dabbelt.com> > > Cc: Samuel Holland <samuel@sholland.org> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > --- > > drivers/irqchip/irq-sifive-plic.c | 1 + > > 1 file changed, 1 insertion(+) > > Tested-by: Samuel Holland <samuel@sholland.org> ping... gently. Any problem with the above patch? -- Best Regards Guo Ren ML: https://lore.kernel.org/linux-csky/
From: Guo Ren <guoren@linux.alibaba.com> Add the compatible string "thead,c900-plic" to the riscv plic bindings to support allwinner d1 SOC which contains c906 core. Changes since V7: - Remove /proc/interrupts display part modification Changes since V6: - Modify sifive,plic-1.0.0.yaml comment - Remove vendor-prefixes patch which has been merged - Only put dt naming distinguish in sifive-plic.c Changes since V5: - Move back to mask/unmask - Fixup the problem in eoi callback - Remove allwinner,sun20i-d1 IRQCHIP_DECLARE - Rewrite comment log - Add DT list - Fixup compatible string - Remove allwinner-d1 compatible - make dt_binding_check - Add T-head vendor-prefixes Changes since V4: - Update description in errata style - Update enum suggested by Anup, Heiko, Samuel - Update comment by Anup - Add cover-letter Changes since V3: - Rename "c9xx" to "c900" - Add thead,c900-plic in the description section - Add sifive_plic_chip and thead_plic_chip for difference Changes since V2: - Add a separate compatible string "thead,c9xx-plic" - set irq_mask/unmask of "plic_chip" to NULL and point irq_enable/disable of "plic_chip" to plic_irq_mask/unmask - Add a detailed comment block in plic_init() about the differences in Claim/Completion process of RISC-V PLIC and C9xx PLIC. Guo Ren (2): dt-bindings: update riscv plic compatible string irqchip/sifive-plic: Fixup thead,c900-plic DT parse missing .../sifive,plic-1.0.0.yaml | 21 +++++++++++++------ drivers/irqchip/irq-sifive-plic.c | 1 + 2 files changed, 16 insertions(+), 6 deletions(-)