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 <l...@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-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to