mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-19 22:49:55 +07:00
![]() By default a pseries guest supports a H_PUT_TCE hypercall which maps
a single IOMMU page in a DMA window. Additionally the hypervisor may
support H_PUT_TCE_INDIRECT/H_STUFF_TCE which update multiple TCEs at once;
this is advertised via the device tree /rtas/ibm,hypertas-functions
property which Linux converts to FW_FEATURE_MULTITCE.
FW_FEATURE_MULTITCE is checked when dma_iommu_ops is used; however
the code managing the huge DMA window (DDW) ignores it and calls
H_PUT_TCE_INDIRECT even if it is explicitly disabled via
the "multitce=off" kernel command line parameter.
This adds FW_FEATURE_MULTITCE checking to the DDW code path.
This changes tce_build_pSeriesLP to take liobn and page size as
the huge window does not have iommu_table descriptor which usually
the place to store these numbers.
Fixes:
|
||
---|---|---|
.. | ||
4xx | ||
8xx | ||
40x | ||
44x | ||
52xx | ||
82xx | ||
83xx | ||
85xx | ||
86xx | ||
512x | ||
amigaone | ||
cell | ||
chrp | ||
embedded6xx | ||
maple | ||
pasemi | ||
powermac | ||
powernv | ||
ps3 | ||
pseries | ||
fsl_uli1575.c | ||
Kconfig | ||
Kconfig.cputype | ||
Makefile |