[sbates130272-p2pmem:p2pdma_user_cmb_v8 5/21] kernel/dma/direct.c:467:21: error: implicit declaration of function 'sg_is_dma_bus_address'; did you mean 'sg_dma_address'?

From: kernel test robot
Date: Wed Jul 06 2022 - 23:46:10 EST


tree: https://github.com/sbates130272/linux-p2pmem.git p2pdma_user_cmb_v8
head: a2dd359c3f1baca6c0438adec8900b7fe57f92af
commit: 8d3e7a5dd204152609cd4eee448224f071493784 [5/21] dma-direct: support PCI P2PDMA pages in dma-direct map_sg
config: xtensa-randconfig-r015-20220706 (https://download.01.org/0day-ci/archive/20220707/202207070932.TlwOuRSB-lkp@xxxxxxxxx/config)
compiler: xtensa-linux-gcc (GCC) 11.3.0
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
# https://github.com/sbates130272/linux-p2pmem/commit/8d3e7a5dd204152609cd4eee448224f071493784
git remote add sbates130272-p2pmem https://github.com/sbates130272/linux-p2pmem.git
git fetch --no-tags sbates130272-p2pmem p2pdma_user_cmb_v8
git checkout 8d3e7a5dd204152609cd4eee448224f071493784
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=xtensa SHELL=/bin/bash drivers/iommu/ kernel/dma/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

kernel/dma/direct.c: In function 'dma_direct_unmap_sg':
>> kernel/dma/direct.c:467:21: error: implicit declaration of function 'sg_is_dma_bus_address'; did you mean 'sg_dma_address'? [-Werror=implicit-function-declaration]
467 | if (sg_is_dma_bus_address(sg))
| ^~~~~~~~~~~~~~~~~~~~~
| sg_dma_address
>> kernel/dma/direct.c:468:25: error: implicit declaration of function 'sg_dma_unmark_bus_address' [-Werror=implicit-function-declaration]
468 | sg_dma_unmark_bus_address(sg);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors


vim +467 kernel/dma/direct.c

455
456 /*
457 * Unmaps segments, except for ones marked as pci_p2pdma which do not
458 * require any further action as they contain a bus address.
459 */
460 void dma_direct_unmap_sg(struct device *dev, struct scatterlist *sgl,
461 int nents, enum dma_data_direction dir, unsigned long attrs)
462 {
463 struct scatterlist *sg;
464 int i;
465
466 for_each_sg(sgl, sg, nents, i) {
> 467 if (sg_is_dma_bus_address(sg))
> 468 sg_dma_unmark_bus_address(sg);
469 else
470 dma_direct_unmap_page(dev, sg->dma_address,
471 sg_dma_len(sg), dir, attrs);
472 }
473 }
474 #endif
475

--
0-DAY CI Kernel Test Service
https://01.org/lkp