[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202507160404.4hMp40iv-lkp@intel.com>
Date: Wed, 16 Jul 2025 04:44:49 +0800
From: kernel test robot <lkp@...el.com>
To: Xu Yilun <yilun.xu@...ux.intel.com>, jgg@...dia.com, jgg@...pe.ca,
kevin.tian@...el.com, will@...nel.org, aneesh.kumar@...nel.org
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
iommu@...ts.linux.dev, linux-kernel@...r.kernel.org,
joro@...tes.org, robin.murphy@....com, shuah@...nel.org,
nicolinc@...dia.com, aik@....com, dan.j.williams@...el.com,
baolu.lu@...ux.intel.com, yilun.xu@...el.com
Subject: Re: [PATCH v5 5/8] iommufd/vdevice: Remove struct device reference
from struct vdevice
Hi Xu,
kernel test robot noticed the following build errors:
[auto build test ERROR on 601b1d0d9395c711383452bd0d47037afbbb4bcf]
url: https://github.com/intel-lab-lkp/linux/commits/Xu-Yilun/iommufd-viommu-Roll-back-to-use-iommufd_object_alloc-for-vdevice/20250715-144326
base: 601b1d0d9395c711383452bd0d47037afbbb4bcf
patch link: https://lore.kernel.org/r/20250715063245.1799534-6-yilun.xu%40linux.intel.com
patch subject: [PATCH v5 5/8] iommufd/vdevice: Remove struct device reference from struct vdevice
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20250716/202507160404.4hMp40iv-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250716/202507160404.4hMp40iv-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507160404.4hMp40iv-lkp@intel.com/
All errors (new ones prefixed by >>):
>> drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c:1221:64: error: incomplete definition of type 'struct iommufd_device'
1221 | struct arm_smmu_master *master = dev_iommu_priv_get(vdev->idev->dev);
| ~~~~~~~~~~^
include/linux/iommufd.h:24:8: note: forward declaration of 'struct iommufd_device'
24 | struct iommufd_device;
| ^
1 error generated.
vim +1221 drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c
1218
1219 static int tegra241_vintf_init_vsid(struct iommufd_vdevice *vdev)
1220 {
> 1221 struct arm_smmu_master *master = dev_iommu_priv_get(vdev->idev->dev);
1222 struct tegra241_vintf *vintf = viommu_to_vintf(vdev->viommu);
1223 struct tegra241_vintf_sid *vsid = vdev_to_vsid(vdev);
1224 struct arm_smmu_stream *stream = &master->streams[0];
1225 u64 virt_sid = vdev->virt_id;
1226 int sidx;
1227
1228 if (virt_sid > UINT_MAX)
1229 return -EINVAL;
1230
1231 WARN_ON_ONCE(master->num_streams != 1);
1232
1233 /* Find an empty pair of SID_REPLACE and SID_MATCH */
1234 sidx = ida_alloc_max(&vintf->sids, vintf->cmdqv->num_sids_per_vintf - 1,
1235 GFP_KERNEL);
1236 if (sidx < 0)
1237 return sidx;
1238
1239 writel(stream->id, REG_VINTF(vintf, SID_REPLACE(sidx)));
1240 writel(virt_sid << 1 | 0x1, REG_VINTF(vintf, SID_MATCH(sidx)));
1241 dev_dbg(vintf->cmdqv->dev,
1242 "VINTF%u: allocated SID_REPLACE%d for pSID=%x, vSID=%x\n",
1243 vintf->idx, sidx, stream->id, (u32)virt_sid);
1244
1245 vsid->idx = sidx;
1246 vsid->vintf = vintf;
1247 vsid->sid = stream->id;
1248
1249 vdev->destroy = &tegra241_vintf_destroy_vsid;
1250 return 0;
1251 }
1252
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists