[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 00/10] Add support for Renesas R-Car S4 IPMMU and other misc changes
- To: Julien Grall <julien@xxxxxxx>
- From: Oleksandr Tyshchenko <olekstysh@xxxxxxxxx>
- Date: Wed, 26 Jan 2022 18:28:22 +0200
- Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Paul Durrant <paul@xxxxxxx>, Rahul Singh <rahul.singh@xxxxxxx>, Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
- Delivery-date: Wed, 26 Jan 2022 16:28:38 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Hi Oleksandr,
Hi Julien,
[Sorry for the possible format issues]
On 27/11/2021 17:51, Oleksandr Tyshchenko wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
>
> The R-Car S4 is an automotive System-on-Chip (SoC) for Car Server/Communication
> Gateway and is one of the first products in Renesas’ 4th-generation R-Car Family.
>
> The integrated IOMMU HW is also VMSA-compatible and supports stage 2 translation
> table format, therefore can be used with current R-Car Gen3 driver with slight
> modifications.
>
> In the context of Xen driver the main differences between Gen3 and S4 are
> the following:
> - HW capacity was enlarged to support up to 16 IPMMU contexts (sets of page table)
> and up to 64 micro-TLBs per IPMMU device
> - the memory mapped registers have different bases and offset
>
> The first part (commits #1-6) is a non-verbatim port of Linux upstream commits
> needed to add support for S4 series easily (prereq work).
> The second part (commits #7-8) is based on the code from the Renesas BSP and
> actually introduces support for R-Car S4 IPMMU.
> The third part (commits #9-10) is misc changes I have locally.
>
> The patch series is based on 4.16.0-rc4 branch and also available at [1].
>
> Tested on Renesas Salvator-X board with H3 ES3.0 SoC (Gen3) and Renesas Spider
> board with S4 SoC.
>
> [1] https://github.com/otyshchenko1/xen/commits/s4_ipmmu_ml1
>
> Oleksandr Tyshchenko (10):
> iommu/ipmmu-vmsa: Remove all unused register definitions
> iommu/ipmmu-vmsa: Add helper functions for MMU "context" registers
> iommu/ipmmu-vmsa: Add helper functions for "uTLB" registers
> iommu/ipmmu-vmsa: Add light version of Linux's ipmmu_features
> iommu/ipmmu-vmsa: Calculate context registers' offset instead of a
> macro
> iommu/ipmmu-vmsa: Add utlb_offset_base
> iommu/ipmmu-vmsa: Add Renesas R8A779F0 (R-Car S4) support
> iommu/ipmmu-vmsa: Set IPMMU bit IMSCTLR_USE_SECGRP to 0
> iommu/ipmmu-vmsa: Use refcount for the micro-TLBs
> iommu/arm: Remove code duplication in all IOMMU drivers
Skimming through the series, it looks like patch #1 - #6 are fully
acked. The rest would need a respin.
Can I commit the first part (i.e. #1 - #6)?
Please note, this is V1. But V2 [1] was pushed a couple of weeks ago and all patches are already reviewed)
Cheers,
>
> xen/drivers/passthrough/Kconfig | 6 +-
> xen/drivers/passthrough/arm/iommu.c | 7 +
> xen/drivers/passthrough/arm/ipmmu-vmsa.c | 278 +++++++++++++++++++------------
> xen/drivers/passthrough/arm/smmu-v3.c | 10 --
> xen/drivers/passthrough/arm/smmu.c | 10 --
> 5 files changed, 178 insertions(+), 133 deletions(-)
>
--
Julien Grall
--
|