Hi Nicolin,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on iommu/next]
[also build test ERROR on tegra/for-next tegra-drm/drm/tegra/for-next linus/master
v5.14-rc2 next-20210723]
[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/Nicolin-Chen/iommu-arm-smmu-v3-A...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: arm64-randconfig-r025-20210723 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 10.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/0day-ci/linux/commit/3c3adc4970f0dd2ff7ffeadadbf16d9b8...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Nicolin-Chen/iommu-arm-smmu-v3-Add-NVIDIA-implementation/20210724-033346
git checkout 3c3adc4970f0dd2ff7ffeadadbf16d9b85315712
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross O=build_dir
ARCH=arm64 SHELL=/bin/bash drivers/iommu/arm/arm-smmu-v3/ drivers/scsi/pm8001/
kernel/cgroup/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
> drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c:96:8: error:
unknown type name 'irqreturn_t'
96 | static irqreturn_t
nvidia_smmu_cmdqv_isr(int irq, void *devid)
| ^~~~~~~~~~~
drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c: In function
'nvidia_smmu_cmdqv_isr':
> drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c:126:9: error:
'IRQ_HANDLED' undeclared (first use in this function)
126 | return
IRQ_HANDLED;
| ^~~~~~~~~~~
drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c:126:9: note: each undeclared identifier
is reported only once for each function it appears in
drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c: In function
'nvidia_smmu_device_reset':
> drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c:346:9: error:
implicit declaration of function 'devm_request_irq'; did you mean
'devm_request_region'? [-Werror=implicit-function-declaration]
346 |
ret = devm_request_irq(nsmmu->cmdqv_dev, nsmmu->cmdqv_irq, nvidia_smmu_cmdqv_isr,
| ^~~~~~~~~~~~~~~~
| devm_request_region
> drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c:347:12: error:
'IRQF_SHARED' undeclared (first use in this function)
347 |
IRQF_SHARED, "nvidia-smmu-cmdqv", nsmmu);
| ^~~~~~~~~~~
drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c: At top level:
drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c:403:21: warning: no previous prototype
for 'nvidia_smmu_create' [-Wmissing-prototypes]
403 | struct nvidia_smmu *nvidia_smmu_create(struct arm_smmu_device *smmu)
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/irqreturn_t +96 drivers/iommu/arm/arm-smmu-v3/nvidia-smmu-v3.c
95
96 static irqreturn_t nvidia_smmu_cmdqv_isr(int irq, void *devid)
97 {
98 struct nvidia_smmu *nsmmu = (struct nvidia_smmu *)devid;
99 struct nvidia_smmu_vintf *vintf0 = &nsmmu->vintf0;
100 u32 vintf_err_map[2];
101 u32 vcmdq_err_map[4];
102
103 vintf_err_map[0] = readl_relaxed(nsmmu->cmdqv_base +
NVIDIA_CMDQV_VINTF_ERR_MAP);
104 vintf_err_map[1] = readl_relaxed(nsmmu->cmdqv_base + NVIDIA_CMDQV_VINTF_ERR_MAP
+ 0x4);
105
106 vcmdq_err_map[0] = readl_relaxed(nsmmu->cmdqv_base +
NVIDIA_CMDQV_VCMDQ_ERR_MAP);
107 vcmdq_err_map[1] = readl_relaxed(nsmmu->cmdqv_base + NVIDIA_CMDQV_VCMDQ_ERR_MAP
+ 0x4);
108 vcmdq_err_map[2] = readl_relaxed(nsmmu->cmdqv_base + NVIDIA_CMDQV_VCMDQ_ERR_MAP
+ 0x8);
109 vcmdq_err_map[3] = readl_relaxed(nsmmu->cmdqv_base + NVIDIA_CMDQV_VCMDQ_ERR_MAP
+ 0xC);
110
111 dev_warn(nsmmu->cmdqv_dev,
112 "Unexpected cmdqv error reported: vintf_map %08X %08X, vcmdq_map %08X %08X
%08X %08X\n",
113 vintf_err_map[0], vintf_err_map[1], vcmdq_err_map[0], vcmdq_err_map[1],
114 vcmdq_err_map[2], vcmdq_err_map[3]);
115
116 /* If the error was reported by vintf0, avoid using any of its VCMDQs */
117 if (vintf_err_map[vintf0->idx / 32] & (1 << (vintf0->idx % 32)))
{
118 vintf0->status = readl_relaxed(vintf0->base + NVIDIA_VINTF_STATUS);
119
120 dev_warn(nsmmu->cmdqv_dev, "error (0x%lX) reported by host vintf0 -
disabling its vcmdqs\n",
121 FIELD_GET(VINTF_STATUS, vintf0->status));
122 } else if (vintf_err_map[0] || vintf_err_map[1]) {
123 dev_err(nsmmu->cmdqv_dev, "cmdqv error interrupt triggered by unassigned
vintf!\n");
124 }
125
126 return IRQ_HANDLED;
127 }
128
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org