Re: [PATCH v5 01/11] powerpc/pseries/iommu: Replace hard-coded page shift
From: Leonardo Brás
Date: Mon Jul 19 2021 - 15:35:00 EST
On Mon, 2021-07-19 at 15:48 +0200, Frederic Barrat wrote:
> On 16/07/2021 10:27, Leonardo Bras wrote:
> > Some functions assume IOMMU page size can only be 4K (pageshift ==
> > 12).
> > Update them to accept any page size passed, so we can use 64K
> > pages.
> > In the process, some defines like TCE_SHIFT were made obsolete, and
> > then
> > removed.
> > IODA3 Revision 3.0_prd1 (OpenPowerFoundation), Figures 3.4 and 3.5
> > show
> > a RPN of 52-bit, and considers a 12-bit pageshift, so there should
> > be
> > no need of using TCE_RPN_MASK, which masks out any bit after 40 in
> > rpn.
> > It's usage removed from tce_build_pSeries(), tce_build_pSeriesLP(),
> > and
> > tce_buildmulti_pSeriesLP().
> > Most places had a tbl struct, so using tbl->it_page_shift was
> > simple.
> > tce_free_pSeriesLP() was a special case, since callers not always
> > have a
> > tbl struct, so adding a tceshift parameter seems the right thing to
> > do.
> > Signed-off-by: Leonardo Bras <leobras.c@xxxxxxxxx>
> > Reviewed-by: Alexey Kardashevskiy <aik@xxxxxxxxx>
> > ---
> Reviewed-by: Frederic Barrat <fbarrat@xxxxxxxxxxxxx>