From: kernel test robot <lkp@intel.com>
To: yf.wang@mediatek.com, Yong Wu <yong.wu@mediatek.com>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
"open list:MEDIATEK IOMMU DRIVER"
<iommu@lists.linux-foundation.org>,
"moderated list:MEDIATEK IOMMU DRIVER"
<linux-mediatek@lists.infradead.org>,
"moderated list:ARM/Mediatek SoC support"
<linux-arm-kernel@lists.infradead.org>,
open list <linux-kernel@vger.kernel.org>
Cc: kbuild-all@lists.01.org, wsd_upstream@mediatek.com,
Libo Kang <Libo.Kang@mediatek.com>,
Miles Chen <miles.chen@mediatek.com>,
Yunfei Wang <yf.wang@mediatek.com>,
Ning Li <ning.li@mediatek.com>
Subject: Re: [PATCH v9 3/3] iommu/mediatek: Allow page table PA up to 35bit
Date: Thu, 16 Jun 2022 12:54:57 +0800 [thread overview]
Message-ID: <202206161233.WDjdWJGb-lkp@intel.com> (raw)
In-Reply-To: <20220615161224.6923-4-yf.wang@mediatek.com>
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
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: yf.wang@mediatek.com, Yong Wu <yong.wu@mediatek.com>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
"open list:MEDIATEK IOMMU DRIVER"
<iommu@lists.linux-foundation.org>,
"moderated list:MEDIATEK IOMMU DRIVER"
<linux-mediatek@lists.infradead.org>,
"moderated list:ARM/Mediatek SoC support"
<linux-arm-kernel@lists.infradead.org>,
open list <linux-kernel@vger.kernel.org>
Cc: kbuild-all@lists.01.org, wsd_upstream@mediatek.com,
Yunfei Wang <yf.wang@mediatek.com>,
Libo Kang <Libo.Kang@mediatek.com>,
Miles Chen <miles.chen@mediatek.com>,
Ning Li <ning.li@mediatek.com>
Subject: Re: [PATCH v9 3/3] iommu/mediatek: Allow page table PA up to 35bit
Date: Thu, 16 Jun 2022 12:54:57 +0800 [thread overview]
Message-ID: <202206161233.WDjdWJGb-lkp@intel.com> (raw)
In-Reply-To: <20220615161224.6923-4-yf.wang@mediatek.com>
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
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: yf.wang@mediatek.com, Yong Wu <yong.wu@mediatek.com>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
"open list:MEDIATEK IOMMU DRIVER"
<iommu@lists.linux-foundation.org>,
"moderated list:MEDIATEK IOMMU DRIVER"
<linux-mediatek@lists.infradead.org>,
"moderated list:ARM/Mediatek SoC support"
<linux-arm-kernel@lists.infradead.org>,
open list <linux-kernel@vger.kernel.org>
Cc: kbuild-all@lists.01.org, wsd_upstream@mediatek.com,
Libo Kang <Libo.Kang@mediatek.com>,
Miles Chen <miles.chen@mediatek.com>,
Yunfei Wang <yf.wang@mediatek.com>,
Ning Li <ning.li@mediatek.com>
Subject: Re: [PATCH v9 3/3] iommu/mediatek: Allow page table PA up to 35bit
Date: Thu, 16 Jun 2022 12:54:57 +0800 [thread overview]
Message-ID: <202206161233.WDjdWJGb-lkp@intel.com> (raw)
In-Reply-To: <20220615161224.6923-4-yf.wang@mediatek.com>
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
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-06-16 4:55 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-15 16:12 [PATCH v9 0/3] iommu/mediatek: TTBR up to 35bit support yf.wang
2022-06-15 16:12 ` yf.wang
2022-06-15 16:12 ` [PATCH v9 1/3] iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit yf.wang
2022-06-15 16:12 ` yf.wang
2022-06-15 16:12 ` yf.wang--- via iommu
2022-06-15 17:03 ` Robin Murphy
2022-06-15 17:03 ` Robin Murphy
2022-06-15 17:03 ` Robin Murphy
2022-06-16 6:26 ` yf.wang
2022-06-16 6:26 ` yf.wang
2022-06-16 6:26 ` yf.wang--- via iommu
2022-06-15 16:12 ` [PATCH v9 2/3] iommu/mediatek: Rename MTK_IOMMU_TLB_ADDR to MTK_IOMMU_ADDR yf.wang
2022-06-15 16:12 ` yf.wang
2022-06-15 16:12 ` yf.wang--- via iommu
2022-06-15 17:14 ` Robin Murphy
2022-06-15 17:14 ` Robin Murphy
2022-06-15 17:14 ` Robin Murphy
2022-06-16 6:40 ` yf.wang
2022-06-16 6:40 ` yf.wang
2022-06-16 6:40 ` yf.wang--- via iommu
2022-06-15 16:12 ` [PATCH v9 3/3] iommu/mediatek: Allow page table PA up to 35bit yf.wang
2022-06-15 16:12 ` yf.wang
2022-06-15 16:12 ` yf.wang--- via iommu
2022-06-15 17:25 ` Robin Murphy
2022-06-15 17:25 ` Robin Murphy
2022-06-15 17:25 ` Robin Murphy
2022-06-16 7:52 ` yf.wang
2022-06-16 7:52 ` yf.wang
2022-06-16 7:52 ` yf.wang--- via iommu
2022-06-16 4:54 ` kernel test robot [this message]
2022-06-16 4:54 ` kernel test robot
2022-06-16 4:54 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202206161233.WDjdWJGb-lkp@intel.com \
--to=lkp@intel.com \
--cc=Libo.Kang@mediatek.com \
--cc=iommu@lists.linux-foundation.org \
--cc=joro@8bytes.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=miles.chen@mediatek.com \
--cc=ning.li@mediatek.com \
--cc=will@kernel.org \
--cc=wsd_upstream@mediatek.com \
--cc=yf.wang@mediatek.com \
--cc=yong.wu@mediatek.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.