[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 1/2] ARM: ITS: implement quirks and add support for Renesas Gen4 ITS
On Wed, 15 Jan 2025, Mykyta Poturai wrote: > From: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx> > > There are number of ITS implementations exist which are different from > the base one which have number of functionalities defined as is > "IMPLEMENTATION DEFINED", e.g. there may exist differences in cacheability, > shareability and memory requirements and others. This requires > appropriate handling of such HW requirements which are implemented as > ITS quirks: GITS_IIDR (ITS Implementer Identification Register) is used to > differentiate the ITS implementations and select appropriate set of > quirks if any. > > As an example of such ITSes add quirk implementation for Renesas Gen4 ITS: > - add possibility to override default cacheability and shareability > settings used for ITS memory allocations; > - change relevant memory allocations to alloc_xenheap_pages which allows > to specify memory access flags, free_xenheap_pages is used to free; > - add quirks validation to ensure that all ITSes share the same quirks > in case of multiple ITSes are present in the system; > > The Gen4 ITS memory requirements are not covered in any errata as of yet, > but observed behavior suggests that they are indeed required. > > The idea of the quirk implementation is inspired by the Linux kernel ITS > quirk implementation [1]. > > Changelog: > v2 -> v3: > - added missing memset; > v1 -> v2: > - switched to using alloc_xenheap_pages/free_xenheap_pages for ITS memory > allocations; > - updated declaration of its_quirk_flags; > - added quirks validation to ensure that all ITSes share the same quirks; > - removed unnecessary vITS changes; > > > Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx> > Signed-off-by: Mykyta Poturai <mykyta_poturai@xxxxxxxx> > > [1] > https://elixir.bootlin.com/linux/v5.16.1/source/drivers/irqchip/irq-gic-v3-its.c Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |