Messages in this thread | | | Date | Tue, 31 Dec 2019 09:07:22 +0100 | From | Krzysztof Kozlowski <> | Subject | Re: [PATCH 3/3] iommu: Enable compile testing for some of drivers |
| |
On Tue, Dec 31, 2019 at 03:43:39PM +0800, kbuild test robot wrote: > Hi Krzysztof, > > I love your patch! Perhaps something to improve: > > [auto build test WARNING on iommu/next] > [also build test WARNING on v5.5-rc4] > [if your patch is applied to the wrong git tree, please drop us a note to help > improve the system. BTW, we also suggest to use '--base' option to specify the > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > url: https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/iommu-omap-Fix-pointer-cast-Wpointer-to-int-cast-warnings-on-64-bit/20191231-022212 > base: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git next > config: ia64-allmodconfig (attached as .config) > compiler: ia64-linux-gcc (GCC) 7.5.0 > reproduce: > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # save the attached .config to linux build tree > GCC_VERSION=7.5.0 make.cross ARCH=ia64 > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@intel.com>
I saw it already while compile testing my patch. I must admit that I could not find easy/fast fix for it. Probably the omap_iommu_translate() helper should be made 64-bit friendly but this obfuscates the code. The driver and hardware supports only 32-bit addresses.
Best regards, Krzysztof
> > All warnings (new ones prefixed by >>): > > In file included from drivers/iommu/omap-iommu.c:33:0: > drivers/iommu/omap-iommu.c: In function 'omap_iommu_iova_to_phys': > >> drivers/iommu/omap-iopgtable.h:44:21: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define IOPTE_MASK (~(IOPTE_SIZE - 1)) > ^ > >> drivers/iommu/omap-iommu.c:1641:41: note: in expansion of macro 'IOPTE_MASK' > ret = omap_iommu_translate(*pte, da, IOPTE_MASK); > ^~~~~~~~~~ > drivers/iommu/omap-iopgtable.h:51:23: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define IOLARGE_MASK (~(IOLARGE_SIZE - 1)) > ^ > >> drivers/iommu/omap-iommu.c:1643:41: note: in expansion of macro 'IOLARGE_MASK' > ret = omap_iommu_translate(*pte, da, IOLARGE_MASK); > ^~~~~~~~~~~~ > drivers/iommu/omap-iopgtable.h:27:25: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define IOSECTION_MASK (~(IOSECTION_SIZE - 1)) > ^ > >> drivers/iommu/omap-iommu.c:1649:41: note: in expansion of macro 'IOSECTION_MASK' > ret = omap_iommu_translate(*pgd, da, IOSECTION_MASK); > ^~~~~~~~~~~~~~ > drivers/iommu/omap-iopgtable.h:34:23: warning: large integer implicitly truncated to unsigned type [-Woverflow] > #define IOSUPER_MASK (~(IOSUPER_SIZE - 1)) > ^ > >> drivers/iommu/omap-iommu.c:1651:41: note: in expansion of macro 'IOSUPER_MASK' > ret = omap_iommu_translate(*pgd, da, IOSUPER_MASK); > ^~~~~~~~~~~~ > > vim +44 drivers/iommu/omap-iopgtable.h > > 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 38 > 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 39 /* > 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 40 * "small page" address mask and size definitions. > 97ec7d585b33bb arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2010-02-15 41 */ > a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 42 #define IOPTE_SHIFT 12 > 5ff98fa68c88d7 drivers/iommu/omap-iopgtable.h Suman Anna 2015-07-20 43 #define IOPTE_SIZE BIT(IOPTE_SHIFT) > a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 @44 #define IOPTE_MASK (~(IOPTE_SIZE - 1)) > a9dcad5e375800 arch/arm/plat-omap/iopgtable.h Hiroshi DOYU 2009-01-26 45 > > :::::: The code at line 44 was first introduced by commit > :::::: a9dcad5e375800fcb07f7617dba23b3aade8f09d omap iommu: tlb and pagetable primitives > > :::::: TO: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> > :::::: CC: Hiroshi DOYU <Hiroshi.DOYU@nokia.com> > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
| |