[PATCH v9 12/32] drm: msm: fix common struct sg_table related issues
kernel test robot
lkp at intel.com
Wed Aug 26 13:26:32 UTC 2020
Hi Marek,
I love your patch! Yet something to improve:
[auto build test ERROR on linuxtv-media/master]
[also build test ERROR on drm-intel/for-linux-next linus/master v5.9-rc2 next-20200826]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Marek-Szyprowski/DRM-fix-struct-sg_table-nents-vs-orig_nents-misuse/20200826-143908
base: git://linuxtv.org/media_tree.git master
config: arm64-randconfig-r002-20200826 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 7cfcecece0e0430937cf529ce74d3a071a4dedc6)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All errors (new ones prefixed by >>):
aarch64-linux-gnu-ld: warning: -z norelro ignored
aarch64-linux-gnu-ld: fs/orangefs/orangefs-debugfs.o: in function `orangefs_debug_read':
fs/orangefs/orangefs-debugfs.c:375: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: security/apparmor/lsm.o: in function `param_get_mode':
security/apparmor/lsm.c:1559: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: security/apparmor/lsm.o: in function `param_get_audit':
security/apparmor/lsm.c:1530: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: crypto/async_tx/async_tx.o: in function `async_tx_channel_switch':
crypto/async_tx/async_tx.c:118: undefined reference to `dma_wait_for_async_tx'
aarch64-linux-gnu-ld: crypto/async_tx/async_tx.o: in function `async_tx_quiesce':
crypto/async_tx/async_tx.c:270: undefined reference to `dma_wait_for_async_tx'
aarch64-linux-gnu-ld: crypto/async_tx/async_tx.c:270: undefined reference to `dma_wait_for_async_tx'
aarch64-linux-gnu-ld: crypto/async_tx/async_memcpy.o: in function `async_memcpy':
crypto/async_tx/async_memcpy.c:43: undefined reference to `dmaengine_get_unmap_data'
aarch64-linux-gnu-ld: crypto/async_tx/async_memcpy.c:89: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: crypto/async_tx/async_xor.o: in function `async_xor':
crypto/async_tx/async_xor.c:172: undefined reference to `dmaengine_get_unmap_data'
aarch64-linux-gnu-ld: crypto/async_tx/async_xor.c:199: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: crypto/async_tx/async_xor.c:199: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: crypto/async_tx/async_xor.c:196: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: crypto/async_tx/async_xor.o: in function `async_xor_val':
crypto/async_tx/async_xor.c:268: undefined reference to `dmaengine_get_unmap_data'
aarch64-linux-gnu-ld: crypto/async_tx/async_xor.c:324: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: crypto/async_tx/async_pq.o: in function `async_gen_syndrome':
crypto/async_tx/async_pq.c:176: undefined reference to `dmaengine_get_unmap_data'
aarch64-linux-gnu-ld: crypto/async_tx/async_pq.c:233: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: crypto/async_tx/async_pq.c:229: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: crypto/async_tx/async_pq.o: in function `async_syndrome_val':
crypto/async_tx/async_pq.c:295: undefined reference to `dmaengine_get_unmap_data'
aarch64-linux-gnu-ld: crypto/async_tx/async_pq.c:412: undefined reference to `dmaengine_unmap_put'
aarch64-linux-gnu-ld: drivers/xen/sys-hypervisor.o: in function `buildid_show':
drivers/xen/sys-hypervisor.c:375: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.o: in function `tty_line_name':
drivers/tty/tty_io.c:1139: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.c:1139: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.c:1139: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.o: in function `dsi_dma_workaround_write':
drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.o: in function `vc4_dsi_host_transfer':
drivers/gpu/drm/vc4/vc4_dsi.c:564: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.o: in function `dsi_dma_workaround_write':
drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.o:drivers/gpu/drm/vc4/vc4_dsi.c:581: more undefined references to `dma_sync_wait' follow
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.o: in function `vc4_dsi_bind':
drivers/gpu/drm/vc4/vc4_dsi.c:1512: undefined reference to `dma_request_chan_by_mask'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.o: in function `dsi_dma_workaround_write':
drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.c:581: undefined reference to `dma_sync_wait'
aarch64-linux-gnu-ld: drivers/gpu/drm/vc4/vc4_dsi.o:drivers/gpu/drm/vc4/vc4_dsi.c:581: more undefined references to `dma_sync_wait' follow
aarch64-linux-gnu-ld: drivers/gpu/drm/msm/msm_gpummu.o: in function `msm_gpummu_map':
>> drivers/gpu/drm/msm/msm_gpummu.c:44: undefined reference to `__compiletime_assert_413'
aarch64-linux-gnu-ld: drivers/gpu/drm/xlnx/zynqmp_disp.o: in function `zynqmp_disp_layer_release_dma':
drivers/gpu/drm/xlnx/zynqmp_disp.c:1287: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/gpu/drm/xlnx/zynqmp_disp.c:1287: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/scsi/scsi_transport_sas.o: in function `get_sas_device_type_names':
drivers/scsi/scsi_transport_sas.c:131: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/scsi/scsi_transport_sas.o: in function `get_sas_linkspeed_names':
drivers/scsi/scsi_transport_sas.c:158: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/scsi/scsi_transport_sas.c:158: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/scsi/scsi_transport_sas.c:158: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/scsi/scsi_transport_sas.c:158: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/scsi/scsi_transport_sas.o:drivers/scsi/scsi_transport_sas.c:158: more undefined references to `stpcpy' follow
aarch64-linux-gnu-ld: drivers/spi/spi-bcm2835.o: in function `bcm2835_dma_init':
drivers/spi/spi-bcm2835.c:907: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-bcm2835.c:914: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-bcm2835.o: in function `dmaengine_desc_set_reuse':
include/linux/dmaengine.h:1537: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1537: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1537: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1537: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1537: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: drivers/spi/spi-bcm2835.o: in function `bcm2835_dma_release':
drivers/spi/spi-bcm2835.c:867: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-bcm2835.c:884: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-fsl-dspi.o: in function `dspi_request_dma':
drivers/spi/spi-fsl-dspi.c:506: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-fsl-dspi.c:513: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-fsl-dspi.c:572: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-fsl-dspi.c:574: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-fsl-dspi.o: in function `dspi_release_dma':
drivers/spi/spi-fsl-dspi.c:593: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-fsl-dspi.c:599: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `dma_request_slave_channel_compat':
include/linux/dmaengine.h:1587: undefined reference to `dma_request_slave_channel'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1587: undefined reference to `dma_request_slave_channel'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1594: undefined reference to `__dma_request_channel'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1594: undefined reference to `__dma_request_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_setup':
drivers/spi/spi-pxa2xx-dma.c:209: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function `pxa2xx_spi_dma_release':
drivers/spi/spi-pxa2xx-dma.c:223: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.c:228: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.o: in function `spi_qup_init_dma':
drivers/spi/spi-qup.c:935: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.c:939: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.c:973: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.o: in function `spi_qup_release_dma':
drivers/spi/spi-qup.c:921: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.c:923: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.o: in function `spi_qup_init_dma':
drivers/spi/spi-qup.c:971: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.o: in function `spi_qup_release_dma':
drivers/spi/spi-qup.c:921: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-qup.o:drivers/spi/spi-qup.c:923: more undefined references to `dma_release_channel' follow
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_probe':
drivers/spi/spi-rockchip.c:748: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:759: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:788: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:785: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_remove':
drivers/spi/spi-rockchip.c:816: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:818: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rspi.o: in function `rspi_request_dma':
drivers/spi/spi-rspi.c:1135: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rspi.o:drivers/spi/spi-rspi.c:1148: more undefined references to `dma_release_channel' follow
aarch64-linux-gnu-ld: drivers/spi/spi-rspi.o: in function `dma_request_slave_channel_compat':
include/linux/dmaengine.h:1587: undefined reference to `dma_request_slave_channel'
aarch64-linux-gnu-ld: include/linux/dmaengine.h:1594: undefined reference to `__dma_request_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rspi.o: in function `rspi_request_dma_chan':
drivers/spi/spi-rspi.c:1102: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_probe':
drivers/spi/spi-uniphier.c:716: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:725: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:734: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:743: undefined reference to `dma_get_slave_caps'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function `uniphier_spi_remove':
drivers/spi/spi-uniphier.c:773: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:775: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/slimbus/qcom-ngd-ctrl.o: in function `qcom_slim_ngd_exit_dma':
drivers/slimbus/qcom-ngd-ctrl.c:1051: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/slimbus/qcom-ngd-ctrl.c:1056: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/slimbus/qcom-ngd-ctrl.o: in function `qcom_slim_ngd_init_rx_msgq':
drivers/slimbus/qcom-ngd-ctrl.c:669: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/slimbus/qcom-ngd-ctrl.c:697: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/slimbus/qcom-ngd-ctrl.o: in function `qcom_slim_ngd_init_tx_msgq':
drivers/slimbus/qcom-ngd-ctrl.c:708: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/slimbus/qcom-ngd-ctrl.c:732: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.o: in function `sh_mobile_i2c_release_dma':
drivers/i2c/busses/i2c-sh_mobile.c:783: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.c:788: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.c:783: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.c:788: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.o: in function `sh_mobile_i2c_request_dma_chan':
drivers/i2c/busses/i2c-sh_mobile.c:483: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.c:483: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.c:503: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/i2c/busses/i2c-sh_mobile.c:503: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/md/raid5.o: in function `raid5d':
drivers/md/raid5.c:6367: undefined reference to `dma_issue_pending_all'
aarch64-linux-gnu-ld: drivers/md/raid5.o: in function `raid5_do_work':
drivers/md/raid5.c:6280: undefined reference to `dma_issue_pending_all'
# https://github.com/0day-ci/linux/commit/ea1faf41c87f65cbbd61c902b1c773a681347a34
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Marek-Szyprowski/DRM-fix-struct-sg_table-nents-vs-orig_nents-misuse/20200826-143908
git checkout ea1faf41c87f65cbbd61c902b1c773a681347a34
vim +44 drivers/gpu/drm/msm/msm_gpummu.c
27
28 static int msm_gpummu_map(struct msm_mmu *mmu, uint64_t iova,
29 struct sg_table *sgt, size_t len, int prot)
30 {
31 struct msm_gpummu *gpummu = to_msm_gpummu(mmu);
32 unsigned idx = (iova - GPUMMU_VA_START) / GPUMMU_PAGE_SIZE;
33 struct sg_dma_page_iter dma_iter;
34 unsigned prot_bits = 0;
35
36 if (prot & IOMMU_WRITE)
37 prot_bits |= 1;
38 if (prot & IOMMU_READ)
39 prot_bits |= 2;
40
41 for_each_sgtable_dma_page(sgt, &dma_iter, 0) {
42 dma_addr_t addr = sg_page_iter_dma_address(&dma_iter);
43
> 44 BUILD_BUG_ON(GPUMMU_PAGE_SIZE != PAGE_SIZE);
45 gpummu->table[idx++] = addr | prot_bits;
46 }
47
48 /* we can improve by deferring flush for multiple map() */
49 gpu_write(gpummu->gpu, REG_A2XX_MH_MMU_INVALIDATE,
50 A2XX_MH_MMU_INVALIDATE_INVALIDATE_ALL |
51 A2XX_MH_MMU_INVALIDATE_INVALIDATE_TC);
52 return 0;
53 }
54
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 41781 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200826/578b092a/attachment-0001.gz>
More information about the dri-devel
mailing list