mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 05:06:41 +07:00
powerpc/powernv: Use it_page_shift in TCE build
This makes use of iommu_table::it_page_shift instead of TCE_SHIFT and TCE_RPN_SHIFT hardcoded values. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
b0376c9b08
commit
bc32057ed5
@ -564,10 +564,11 @@ static int pnv_tce_build(struct iommu_table *tbl, long index, long npages,
|
||||
proto_tce |= TCE_PCI_WRITE;
|
||||
|
||||
tces = tcep = ((__be64 *)tbl->it_base) + index - tbl->it_offset;
|
||||
rpn = __pa(uaddr) >> TCE_SHIFT;
|
||||
rpn = __pa(uaddr) >> tbl->it_page_shift;
|
||||
|
||||
while (npages--)
|
||||
*(tcep++) = cpu_to_be64(proto_tce | (rpn++ << TCE_RPN_SHIFT));
|
||||
*(tcep++) = cpu_to_be64(proto_tce |
|
||||
(rpn++ << tbl->it_page_shift));
|
||||
|
||||
/* Some implementations won't cache invalid TCEs and thus may not
|
||||
* need that flush. We'll probably turn it_type into a bit mask
|
||||
|
Loading…
Reference in New Issue
Block a user