Messages in this thread | | | Date | Thu, 16 Jun 2022 12:54:57 +0800 | From | kernel test robot <> | Subject | Re: [PATCH v9 3/3] iommu/mediatek: Allow page table PA up to 35bit |
| |
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-lkp@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 <lkp@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
| |