summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/firmware.h
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2019-12-16 05:19:22 +0100
committerMichael Ellerman <mpe@ellerman.id.au>2020-01-06 06:25:30 +0100
commit7559d3d295f3365ea7ac0c0274c05e633fe4f594 (patch)
tree261680ff54004ac95174db1fcae5a73669b0f836 /arch/powerpc/include/asm/firmware.h
parentRevert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests" (diff)
downloadlinux-7559d3d295f3365ea7ac0c0274c05e633fe4f594.tar.xz
linux-7559d3d295f3365ea7ac0c0274c05e633fe4f594.zip
powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW
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: 4e8b0cf46b25 ("powerpc/pseries: Add support for dynamic dma windows") Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> Tested-by: Thiago Jung Bauermann <bauerman@linux.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://lore.kernel.org/r/20191216041924.42318-3-aik@ozlabs.ru
Diffstat (limited to 'arch/powerpc/include/asm/firmware.h')
0 files changed, 0 insertions, 0 deletions