# git rev-parse -q --verify 23c216b335d1fbd716076e8263b54a714ea3cf0e^{commit} 23c216b335d1fbd716076e8263b54a714ea3cf0e already have revision, skipping fetch # git checkout -q -f -B kisskb 23c216b335d1fbd716076e8263b54a714ea3cf0e # git clean -qxdf # < git log -1 # commit 23c216b335d1fbd716076e8263b54a714ea3cf0e # Author: Alexey Kardashevskiy # Date: Thu Sep 30 13:44:54 2021 +1000 # # powerpc/iommu: Report the correct most efficient DMA mask for PCI devices # # According to dma-api.rst, the dma_get_required_mask() helper should return # "the mask that the platform requires to operate efficiently". Which in # the case of PPC64 means the bypass mask and not a mask from an IOMMU table # which is shorter and slower to use due to map/unmap operations (especially # expensive on "pseries"). # # However the existing implementation ignores the possibility of bypassing # and returns the IOMMU table mask on the pseries platform which makes some # drivers (mpt3sas is one example) choose 32bit DMA even though bypass is # supported. The powernv platform sort of handles it by having a bigger # default window with a mask >=40 but it only works as drivers choose # 63/64bit if the required mask is >32 which is rather pointless. # # This reintroduces the bypass capability check to let drivers make # a better choice of the DMA mask. # # Fixes: f1565c24b596 ("powerpc: use the generic dma_ops_bypass mode") # Signed-off-by: Alexey Kardashevskiy # Reviewed-by: Christoph Hellwig # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20210930034454.95794-1-aik@ozlabs.ru # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 23c216b335d1fbd716076e8263b54a714ea3cf0e # < make -s -j 48 ARCH=x86 O=/kisskb/build/powerpc-fixes_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # < make -s -j 48 ARCH=x86 O=/kisskb/build/powerpc-fixes_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 48 ARCH=x86 O=/kisskb/build/powerpc-fixes_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 48 ARCH=x86 O=/kisskb/build/powerpc-fixes_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-objdump: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-objdump: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-objdump: mm/kfence/kfence_test.o: File format not recognized /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux-ld: mm/kfence/kfence_test.o: unable to initialize decompress status for section .debug_info mm/kfence/kfence_test.o: file not recognized: File format not recognized make[3]: *** [/kisskb/src/scripts/Makefile.modfinal:59: mm/kfence/kfence_test.ko] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/scripts/Makefile.modpost:140: __modpost] Error 2 make[1]: *** [/kisskb/src/Makefile:1783: modules] Error 2 make: *** [Makefile:219: __sub-make] Error 2 Command 'make -s -j 48 ARCH=x86 O=/kisskb/build/powerpc-fixes_x86-allmodconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/x86_64-linux/bin/x86_64-linux- ' returned non-zero exit status 2 # rm -rf /kisskb/build/powerpc-fixes_x86-allmodconfig_x86_64-gcc8 # Build took: 0:29:13.203336