Thread (37 messages) 37 messages, 3 authors, 2021-08-24

Re: [PATCH v5 01/11] powerpc/pseries/iommu: Replace hard-coded page shift

From: Leonardo Brás <hidden>
Date: 2021-07-19 19:15:32
Also in: lkml

On Mon, 2021-07-19 at 15:48 +0200, Frederic Barrat wrote:

On 16/07/2021 10:27, Leonardo Bras wrote:
quoted
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 <redacted>
Reviewed-by: Alexey Kardashevskiy <redacted>
---
FWIW,
Reviewed-by: Frederic Barrat <redacted>
Thanks!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help