[PATCH] [Patch v2]Add ETE devarch condition in etm4_init_iomem_access

kernel test robot lkp at intel.com
Thu Apr 10 02:28:08 PDT 2025


Hi yiru,

kernel test robot noticed the following build warnings:

[auto build test WARNING on soc/for-next]
[also build test WARNING on linus/master v6.15-rc1 next-20250410]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/yiru-zhang/Add-ETE-devarch-condition-in-etm4_init_iomem_access/20250409-113037
base:   https://git.kernel.org/pub/scm/linux/kernel/git/soc/soc.git for-next
patch link:    https://lore.kernel.org/r/20250409032917.7580-1-yiru.zhang%40mediatek.com
patch subject: [PATCH] [Patch v2]Add ETE devarch condition in etm4_init_iomem_access
config: arm64-randconfig-002-20250410 (https://download.01.org/0day-ci/archive/20250410/202504101759.7Ls0Uy4o-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 92c93f5286b9ff33f27ff694d2dc33da1c07afdd)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250410/202504101759.7Ls0Uy4o-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504101759.7Ls0Uy4o-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/hwtracing/coresight/coresight-etm4x-core.c:1144:9: warning: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Wformat]
    1143 |                 pr_warn_once("Unknown ETM architecture: %x\n",
         |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                                         %lx
    1144 |                              devarch & ETM_DEVARCH_ID_MASK);
         |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/printk.h:659:42: note: expanded from macro 'pr_warn_once'
     659 |         printk_once(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
   include/linux/printk.h:640:30: note: expanded from macro 'printk_once'
     640 |         DO_ONCE_LITE(printk, fmt, ##__VA_ARGS__)
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
   include/linux/once_lite.h:11:32: note: expanded from macro 'DO_ONCE_LITE'
      11 |         DO_ONCE_LITE_IF(true, func, ##__VA_ARGS__)
         |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
   include/linux/once_lite.h:31:9: note: expanded from macro 'DO_ONCE_LITE_IF'
      31 |                         func(__VA_ARGS__);                              \
         |                         ~~~~~^~~~~~~~~~~~
   include/linux/printk.h:501:60: note: expanded from macro 'printk'
     501 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
         |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
   include/linux/printk.h:473:19: note: expanded from macro 'printk_index_wrap'
     473 |                 _p_func(_fmt, ##__VA_ARGS__);                           \
         |                         ~~~~    ^~~~~~~~~~~
   1 warning generated.


vim +1144 drivers/hwtracing/coresight/coresight-etm4x-core.c

  1121	
  1122	static bool etm4_init_iomem_access(struct etmv4_drvdata *drvdata,
  1123					   struct csdev_access *csa)
  1124	{
  1125		u32 devarch = readl_relaxed(drvdata->base + TRCDEVARCH);
  1126	
  1127		if (!is_coresight_device(drvdata->base) || !is_devtype_cpu_trace(drvdata->base))
  1128			return false;
  1129	
  1130		/*
  1131		 * All ETMs must implement TRCDEVARCH to indicate that
  1132		 * the component is an ETMv4. Even though TRCIDR1 also
  1133		 * contains the information, it is part of the "Trace"
  1134		 * register and must be accessed with the OSLK cleared,
  1135		 * with MMIO. But we cannot touch the OSLK until we are
  1136		 * sure this is an ETM. So rely only on the TRCDEVARCH.
  1137		 */
  1138		switch (devarch & ETM_DEVARCH_ID_MASK) {
  1139		case ETM_DEVARCH_ETMv4x_ARCH:
  1140		case ETM_DEVARCH_ETE_ARCH:
  1141			break;
  1142		default:
  1143			pr_warn_once("Unknown ETM architecture: %x\n",
> 1144				     devarch & ETM_DEVARCH_ID_MASK);
  1145			return false;
  1146		}
  1147		drvdata->arch = etm_devarch_to_arch(devarch);
  1148		*csa = CSDEV_ACCESS_IOMEM(drvdata->base);
  1149		return true;
  1150	}
  1151	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



More information about the Linux-mediatek mailing list