Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on joro-iommu/next]
[also build test ERROR on linus/master v5.19-rc2 next-20220615]
[cannot apply to arm-perf/for-next/perf]
[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/intel-lab-lkp/linux/commits/yf-wang-mediatek-com/iommu-io-pgtable-arm-v7s-Add-a-quirk-to-allow-pgtable-PA-up-to-35bit/20220616-011227
base:   https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next
config: arc-allyesconfig 
(https://download.01.org/0day-ci/archive/20220616/202206161233.wdjdwjgb-...@intel.com/config)
compiler: arceb-elf-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/intel-lab-lkp/linux/commit/0032fcce9c1ab50caec1ef5dd4089a8a61fcf15c
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review 
yf-wang-mediatek-com/iommu-io-pgtable-arm-v7s-Add-a-quirk-to-allow-pgtable-PA-up-to-35bit/20220616-011227
        git checkout 0032fcce9c1ab50caec1ef5dd4089a8a61fcf15c
        # 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=arc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   In file included from include/linux/scatterlist.h:9,
                    from include/linux/dma-mapping.h:10,
                    from include/linux/dma-direct.h:9,
                    from drivers/iommu/mtk_iommu.c:11:
   drivers/iommu/mtk_iommu.c: In function 'mtk_iommu_attach_device':
>> drivers/iommu/mtk_iommu.c:693:49: error: 'struct mtk_iommu_data' has no 
>> member named 'base'
     693 |                 writel(bank->m4u_dom->ttbr, data->base + 
REG_MMU_PT_BASE_ADDR);
         |                                                 ^~
   arch/arc/include/asm/io.h:231:75: note: in definition of macro 
'writel_relaxed'
     231 | #define writel_relaxed(v,c)     __raw_writel((__force u32) 
cpu_to_le32(v),c)
         |                                                                      
     ^
   drivers/iommu/mtk_iommu.c:693:17: note: in expansion of macro 'writel'
     693 |                 writel(bank->m4u_dom->ttbr, data->base + 
REG_MMU_PT_BASE_ADDR);
         |                 ^~~~~~


vim +693 drivers/iommu/mtk_iommu.c

   646  
   647  static int mtk_iommu_attach_device(struct iommu_domain *domain,
   648                                     struct device *dev)
   649  {
   650          struct mtk_iommu_data *data = dev_iommu_priv_get(dev), 
*frstdata;
   651          struct mtk_iommu_domain *dom = to_mtk_domain(domain);
   652          struct list_head *hw_list = data->hw_list;
   653          struct device *m4udev = data->dev;
   654          struct mtk_iommu_bank_data *bank;
   655          unsigned int bankid;
   656          int ret, region_id;
   657  
   658          region_id = mtk_iommu_get_iova_region_id(dev, data->plat_data);
   659          if (region_id < 0)
   660                  return region_id;
   661  
   662          bankid = mtk_iommu_get_bank_id(dev, data->plat_data);
   663          mutex_lock(&dom->mutex);
   664          if (!dom->bank) {
   665                  /* Data is in the frstdata in sharing pgtable case. */
   666                  frstdata = mtk_iommu_get_frst_data(hw_list);
   667  
   668                  ret = mtk_iommu_domain_finalise(dom, frstdata, 
region_id);
   669                  if (ret) {
   670                          mutex_unlock(&dom->mutex);
   671                          return -ENODEV;
   672                  }
   673                  dom->bank = &data->bank[bankid];
   674          }
   675          mutex_unlock(&dom->mutex);
   676  
   677          mutex_lock(&data->mutex);
   678          bank = &data->bank[bankid];
   679          if (!bank->m4u_dom) { /* Initialize the M4U HW for each a BANK 
*/
   680                  ret = pm_runtime_resume_and_get(m4udev);
   681                  if (ret < 0) {
   682                          dev_err(m4udev, "pm get fail(%d) in attach.\n", 
ret);
   683                          goto err_unlock;
   684                  }
   685  
   686                  ret = mtk_iommu_hw_init(data, bankid);
   687                  if (ret) {
   688                          pm_runtime_put(m4udev);
   689                          goto err_unlock;
   690                  }
   691                  bank->m4u_dom = dom;
   692                  bank->m4u_dom->ttbr = 
MTK_IOMMU_ADDR(dom->cfg.arm_v7s_cfg.ttbr);
 > 693                  writel(bank->m4u_dom->ttbr, data->base + 
 > REG_MMU_PT_BASE_ADDR);
   694  
   695                  pm_runtime_put(m4udev);
   696          }
   697          mutex_unlock(&data->mutex);
   698  
   699          return mtk_iommu_config(data, dev, true, region_id);
   700  
   701  err_unlock:
   702          mutex_unlock(&data->mutex);
   703          return ret;
   704  }
   705  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to