[PATCH v2] lib: utils/irqchip: Automatically delegate T-HEAD PLIC access

Guo Ren guoren at linux.alibaba.com
Sun Nov 7 22:29:02 PST 2021



On 2021/11/4 下午10:36, Anup Patel wrote:
> On Thu, Nov 4, 2021 at 7:54 PM Peter Korsgaard <peter at korsgaard.com> wrote:
>>>>>>> "Anup" == Anup Patel <anup at brainfault.org> writes:
>> Hi,
>>
>>   > On Mon, Oct 18, 2021 at 11:04 AM Samuel Holland <samuel at sholland.org> wrote:
>>   >>
>>   >> 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.
>>   >>
>>   >> Signed-off-by: Samuel Holland <samuel at sholland.org>
>>   >>
>>   >> ---
>>   >>
>>   >> Changes in v2:
>>   >> - Use the thead,c900-plic compatible instead of the D1 compatible.
>>   >> - Also apply this change to other T-HEAD device tree examples.
>>   >> - Remove the plic-delegate code from the thead,reset-sample driver.
>>   >> - Drop the return value from thead_plic_plat_init().
>>
>>   > Looks good to me.
>>
>>   > Reviewed-by: Anup Patel <anup.patel at wdc.com>
>>
>>   > Applied this patch to the riscv/opensbi repo.
>>
>> ..
>>
>>   >> static const struct fdt_match irqchip_plic_match[] = {
>>   >> { .compatible = "riscv,plic0" },
>>   >> { .compatible = "sifive,plic-1.0.0" },
>>   >> +       { .compatible = "thead,c900-plic",
>>   >> +         .data = thead_plic_plat_init },
>>   >> { },
>>   >> };
>>
>> Sorry, old thread but I just noticed now that the thead,c900-plic
>> compatible should ideally have been before the sifive one, so DTBs with
>> both compatibles behave correctly (drivers are matched according to the
>> order of the driver compatible, NOT the order of the compatible in the
>> DTB).
> Based on discussions on LKML, the T-HEAD PLIC is not compliant with
> RISC-V PLIC (and SiFive PLIC) so SiFive compatible string should not
> be used for any T-HEAD C9xx based board.
>
> @Guo Ren I see that you have dropped the DT bindings patch in your
> recent patch. You need to include the DT bindings patch in your kernel
> series.
Okay
>
> Regards,
> Anup
>
>> --
>> Bye, Peter Korsgaard
>>
>> --
>> opensbi mailing list
>> opensbi at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/opensbi




More information about the opensbi mailing list