tree:
https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 7c4f40424f0923db0caccb86fb5f3e445939f4d8
commit: 5e3d879b39d714a6a59d385a3f129fece48511a9 [29758/30000] BACKPORT: dma-direct:
exclude dma_direct_map_resource from the min_low_pfn check
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add chrome-os
https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout 5e3d879b39d714a6a59d385a3f129fece48511a9
# save the attached .config to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash arch/x86/kernel/ arch/x86/pci/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the chrome-os/chromeos-5.4 HEAD 7c4f40424f0923db0caccb86fb5f3e445939f4d8 builds
fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
In file included from arch/x86/kernel/pci-dma.c:2:
> include/linux/dma-direct.h:58:20: error: conflicting types for
'dma_capable'
58 | static inline bool dma_capable(struct device *dev,
dma_addr_t addr, size_t size,
| ^~~~~~~~~~~
In file included from include/linux/dma-direct.h:16,
from arch/x86/kernel/pci-dma.c:2:
arch/x86/include/asm/dma-direct.h:5:6: note: previous declaration of
'dma_capable' was here
5 | bool dma_capable(struct device *dev, dma_addr_t addr, size_t size);
| ^~~~~~~~~~~
--
In file included from arch/x86/pci/sta2x11-fixup.c:14:
> include/linux/dma-direct.h:58:20: error: conflicting types for
'dma_capable'
58 | static inline bool dma_capable(struct device *dev,
dma_addr_t addr, size_t size,
| ^~~~~~~~~~~
In file included from include/linux/dma-direct.h:16,
from arch/x86/pci/sta2x11-fixup.c:14:
arch/x86/include/asm/dma-direct.h:5:6: note: previous declaration of
'dma_capable' was here
5 | bool dma_capable(struct device *dev, dma_addr_t addr, size_t size);
| ^~~~~~~~~~~
arch/x86/pci/sta2x11-fixup.c:107:26: warning: no previous prototype for
'sta2x11_get_instance' [-Wmissing-prototypes]
107 | struct sta2x11_instance *sta2x11_get_instance(struct pci_dev *pdev)
| ^~~~~~~~~~~~~~~~~~~~
> arch/x86/pci/sta2x11-fixup.c:171:6: error: conflicting types for
'dma_capable'
171 | bool dma_capable(struct device *dev, dma_addr_t
addr, size_t size)
| ^~~~~~~~~~~
In file included from arch/x86/pci/sta2x11-fixup.c:14:
include/linux/dma-direct.h:58:20: note: previous definition of 'dma_capable'
was here
58 | static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t
size,
| ^~~~~~~~~~~
vim +/dma_capable +58 include/linux/dma-direct.h
57
58 static inline bool dma_capable(struct device *dev, dma_addr_t
addr, size_t size,
59 bool is_ram)
60 {
61 dma_addr_t end = addr + size - 1;
62
63 if (!dev->dma_mask)
64 return false;
65
66 if (is_ram && !IS_ENABLED(CONFIG_ARCH_DMA_ADDR_T_64BIT) &&
67 min(addr, end) < phys_to_dma(dev, PFN_PHYS(min_low_pfn)))
68 return false;
69
70 return end <= min_not_zero(*dev->dma_mask, dev->bus_dma_mask);
71 }
72
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org