All of lore.kernel.org
 help / color / mirror / Atom feed
* [android-common:android15-6.6-desktop-pkvm-ia-2024-15-11-v1 128/259] drivers/iommu/intel/perfmon.c:118:66: warning: cast from pointer to integer of different size
@ 2024-11-16 17:15 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-11-16 17:15 UTC (permalink / raw)
  To: cros-kernel-buildreports; +Cc: oe-kbuild-all

tree:   https://android.googlesource.com/kernel/common android15-6.6-desktop-pkvm-ia-2024-15-11-v1
head:   ab957086535d11209d7d6dd96172900d714fb5fb
commit: c8db8e13a5473ce640ddcbefc6adafa32c41c9dd [128/259] ANDROID: IOMMU: use dmar_read/write wrapper for MMIO accessing
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20241117/202411170125.RTviNWLT-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241117/202411170125.RTviNWLT-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411170125.RTviNWLT-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/iommu/intel/perfmon.c:10:
   drivers/iommu/intel/perfmon.c: In function 'iommu_pmu_event_update':
>> drivers/iommu/intel/perfmon.c:118:66: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     118 | #define dmar_pmu_readq(pmu, o)          dmar_readq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                  ^
   drivers/iommu/intel/iommu.h:149:51: note: in definition of macro 'dmar_readq'
     149 | #define dmar_readq(iommu, o) readq((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:336:21: note: in expansion of macro 'dmar_pmu_readq'
     336 |         new_count = dmar_pmu_readq(iommu_pmu, iommu_event_base(iommu_pmu, hwc->idx));
         |                     ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:118:77: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     118 | #define dmar_pmu_readq(pmu, o)          dmar_readq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                             ^
   drivers/iommu/intel/iommu.h:149:51: note: in definition of macro 'dmar_readq'
     149 | #define dmar_readq(iommu, o) readq((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:336:21: note: in expansion of macro 'dmar_pmu_readq'
     336 |         new_count = dmar_pmu_readq(iommu_pmu, iommu_event_base(iommu_pmu, hwc->idx));
         |                     ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c: In function 'iommu_pmu_start':
>> drivers/iommu/intel/perfmon.c:118:66: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     118 | #define dmar_pmu_readq(pmu, o)          dmar_readq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                  ^
   drivers/iommu/intel/iommu.h:149:51: note: in definition of macro 'dmar_readq'
     149 | #define dmar_readq(iommu, o) readq((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:369:17: note: in expansion of macro 'dmar_pmu_readq'
     369 |         count = dmar_pmu_readq(iommu_pmu, iommu_event_base(iommu_pmu, hwc->idx));
         |                 ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:118:77: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     118 | #define dmar_pmu_readq(pmu, o)          dmar_readq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                             ^
   drivers/iommu/intel/iommu.h:149:51: note: in definition of macro 'dmar_readq'
     149 | #define dmar_readq(iommu, o) readq((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:369:17: note: in expansion of macro 'dmar_pmu_readq'
     369 |         count = dmar_pmu_readq(iommu_pmu, iommu_event_base(iommu_pmu, hwc->idx));
         |                 ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c: In function 'iommu_pmu_assign_event':
   drivers/iommu/intel/perfmon.c:119:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     119 | #define dmar_pmu_writeq(pmu, o, v)      dmar_writeq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:150:59: note: in definition of macro 'dmar_writeq'
     150 | #define dmar_writeq(iommu, o, v) writeq(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:440:9: note: in expansion of macro 'dmar_pmu_writeq'
     440 |         dmar_pmu_writeq(iommu_pmu, iommu_config_base(iommu_pmu, idx), hwc->config);
         |         ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:119:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     119 | #define dmar_pmu_writeq(pmu, o, v)      dmar_writeq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:150:59: note: in definition of macro 'dmar_writeq'
     150 | #define dmar_writeq(iommu, o, v) writeq(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:440:9: note: in expansion of macro 'dmar_pmu_writeq'
     440 |         dmar_pmu_writeq(iommu_pmu, iommu_config_base(iommu_pmu, idx), hwc->config);
         |         ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:126:17: note: in expansion of macro 'dmar_pmu_writel'
     126 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:442:9: note: in expansion of macro 'iommu_pmu_set_filter'
     442 |         iommu_pmu_set_filter(requester_id, event->attr.config1,
         |         ^~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:126:17: note: in expansion of macro 'dmar_pmu_writel'
     126 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:442:9: note: in expansion of macro 'iommu_pmu_set_filter'
     442 |         iommu_pmu_set_filter(requester_id, event->attr.config1,
         |         ^~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:126:17: note: in expansion of macro 'dmar_pmu_writel'
     126 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:445:9: note: in expansion of macro 'iommu_pmu_set_filter'
     445 |         iommu_pmu_set_filter(domain, event->attr.config1,
         |         ^~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:126:17: note: in expansion of macro 'dmar_pmu_writel'
     126 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:445:9: note: in expansion of macro 'iommu_pmu_set_filter'
     445 |         iommu_pmu_set_filter(domain, event->attr.config1,
         |         ^~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:126:17: note: in expansion of macro 'dmar_pmu_writel'
     126 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:448:9: note: in expansion of macro 'iommu_pmu_set_filter'
     448 |         iommu_pmu_set_filter(pasid, event->attr.config2,
         |         ^~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
--
   drivers/iommu/intel/perfmon.c:486:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     486 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_REQUESTER_ID, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:487:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     487 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_DOMAIN, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:487:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     487 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_DOMAIN, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:488:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     488 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_PASID, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:488:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     488 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_PASID, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:489:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     489 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_ATS, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:489:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     489 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_ATS, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:490:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     490 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_PAGE_TABLE, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:121:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     121 | #define dmar_pmu_writel(pmu, o, v)      dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:152:59: note: in definition of macro 'dmar_writel'
     152 | #define dmar_writel(iommu, o, v) writel(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:137:17: note: in expansion of macro 'dmar_pmu_writel'
     137 |                 dmar_pmu_writel(iommu_pmu,                                      \
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:490:9: note: in expansion of macro 'iommu_pmu_clear_filter'
     490 |         iommu_pmu_clear_filter(IOMMU_PMU_FILTER_PAGE_TABLE, idx);
         |         ^~~~~~~~~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c: In function 'iommu_pmu_counter_overflow':
>> drivers/iommu/intel/perfmon.c:118:66: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     118 | #define dmar_pmu_readq(pmu, o)          dmar_readq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                  ^
   drivers/iommu/intel/iommu.h:149:51: note: in definition of macro 'dmar_readq'
     149 | #define dmar_readq(iommu, o) readq((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:525:26: note: in expansion of macro 'dmar_pmu_readq'
     525 |         while ((status = dmar_pmu_readq(iommu_pmu, iommu_pmu->overflow))) {
         |                          ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:118:77: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     118 | #define dmar_pmu_readq(pmu, o)          dmar_readq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                             ^
   drivers/iommu/intel/iommu.h:149:51: note: in definition of macro 'dmar_readq'
     149 | #define dmar_readq(iommu, o) readq((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:525:26: note: in expansion of macro 'dmar_pmu_readq'
     525 |         while ((status = dmar_pmu_readq(iommu_pmu, iommu_pmu->overflow))) {
         |                          ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:119:67: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     119 | #define dmar_pmu_writeq(pmu, o, v)      dmar_writeq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                   ^
   drivers/iommu/intel/iommu.h:150:59: note: in definition of macro 'dmar_writeq'
     150 | #define dmar_writeq(iommu, o, v) writeq(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:539:17: note: in expansion of macro 'dmar_pmu_writeq'
     539 |                 dmar_pmu_writeq(iommu_pmu, iommu_pmu->overflow, status);
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:119:78: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     119 | #define dmar_pmu_writeq(pmu, o, v)      dmar_writeq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
         |                                                                              ^
   drivers/iommu/intel/iommu.h:150:59: note: in definition of macro 'dmar_writeq'
     150 | #define dmar_writeq(iommu, o, v) writeq(v, (iommu)->reg + o)
         |                                                           ^
   drivers/iommu/intel/perfmon.c:539:17: note: in expansion of macro 'dmar_pmu_writeq'
     539 |                 dmar_pmu_writeq(iommu_pmu, iommu_pmu->overflow, status);
         |                 ^~~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c: In function 'alloc_iommu_pmu':
   drivers/iommu/intel/perfmon.c:120:66: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     120 | #define dmar_pmu_readl(pmu, o)          dmar_readl((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                  ^
   drivers/iommu/intel/iommu.h:151:51: note: in definition of macro 'dmar_readl'
     151 | #define dmar_readl(iommu, o) readl((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:679:23: note: in expansion of macro 'dmar_pmu_readl'
     679 |                 cap = dmar_pmu_readl(iommu_pmu, iommu_pmu->cfg_reg +
         |                       ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:120:77: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     120 | #define dmar_pmu_readl(pmu, o)          dmar_readl((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                             ^
   drivers/iommu/intel/iommu.h:151:51: note: in definition of macro 'dmar_readl'
     151 | #define dmar_readl(iommu, o) readl((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:679:23: note: in expansion of macro 'dmar_pmu_readl'
     679 |                 cap = dmar_pmu_readl(iommu_pmu, iommu_pmu->cfg_reg +
         |                       ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:120:66: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     120 | #define dmar_pmu_readl(pmu, o)          dmar_readl((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                  ^
   drivers/iommu/intel/iommu.h:151:51: note: in definition of macro 'dmar_readl'
     151 | #define dmar_readl(iommu, o) readl((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:703:31: note: in expansion of macro 'dmar_pmu_readl'
     703 |                         cap = dmar_pmu_readl(iommu_pmu, iommu_pmu->cfg_reg + i * IOMMU_PMU_CFG_OFFSET +
         |                               ^~~~~~~~~~~~~~
   drivers/iommu/intel/perfmon.c:120:77: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     120 | #define dmar_pmu_readl(pmu, o)          dmar_readl((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
         |                                                                             ^
   drivers/iommu/intel/iommu.h:151:51: note: in definition of macro 'dmar_readl'
     151 | #define dmar_readl(iommu, o) readl((iommu)->reg + o)
         |                                                   ^
   drivers/iommu/intel/perfmon.c:703:31: note: in expansion of macro 'dmar_pmu_readl'
     703 |                         cap = dmar_pmu_readl(iommu_pmu, iommu_pmu->cfg_reg + i * IOMMU_PMU_CFG_OFFSET +
         |                               ^~~~~~~~~~~~~~


vim +118 drivers/iommu/intel/perfmon.c

     8	
     9	#include <linux/dmar.h>
  > 10	#include "iommu.h"
    11	#include "perfmon.h"
    12	
    13	PMU_FORMAT_ATTR(event,		"config:0-27");		/* ES: Events Select */
    14	PMU_FORMAT_ATTR(event_group,	"config:28-31");	/* EGI: Event Group Index */
    15	
    16	static struct attribute *iommu_pmu_format_attrs[] = {
    17		&format_attr_event_group.attr,
    18		&format_attr_event.attr,
    19		NULL
    20	};
    21	
    22	static struct attribute_group iommu_pmu_format_attr_group = {
    23		.name = "format",
    24		.attrs = iommu_pmu_format_attrs,
    25	};
    26	
    27	/* The available events are added in attr_update later */
    28	static struct attribute *attrs_empty[] = {
    29		NULL
    30	};
    31	
    32	static struct attribute_group iommu_pmu_events_attr_group = {
    33		.name = "events",
    34		.attrs = attrs_empty,
    35	};
    36	
    37	static cpumask_t iommu_pmu_cpu_mask;
    38	
    39	static ssize_t
    40	cpumask_show(struct device *dev, struct device_attribute *attr, char *buf)
    41	{
    42		return cpumap_print_to_pagebuf(true, buf, &iommu_pmu_cpu_mask);
    43	}
    44	static DEVICE_ATTR_RO(cpumask);
    45	
    46	static struct attribute *iommu_pmu_cpumask_attrs[] = {
    47		&dev_attr_cpumask.attr,
    48		NULL
    49	};
    50	
    51	static struct attribute_group iommu_pmu_cpumask_attr_group = {
    52		.attrs = iommu_pmu_cpumask_attrs,
    53	};
    54	
    55	static const struct attribute_group *iommu_pmu_attr_groups[] = {
    56		&iommu_pmu_format_attr_group,
    57		&iommu_pmu_events_attr_group,
    58		&iommu_pmu_cpumask_attr_group,
    59		NULL
    60	};
    61	
    62	static inline struct iommu_pmu *dev_to_iommu_pmu(struct device *dev)
    63	{
    64		/*
    65		 * The perf_event creates its own dev for each PMU.
    66		 * See pmu_dev_alloc()
    67		 */
    68		return container_of(dev_get_drvdata(dev), struct iommu_pmu, pmu);
    69	}
    70	
    71	#define IOMMU_PMU_ATTR(_name, _format, _filter)				\
    72		PMU_FORMAT_ATTR(_name, _format);				\
    73										\
    74	static struct attribute *_name##_attr[] = {				\
    75		&format_attr_##_name.attr,					\
    76		NULL								\
    77	};									\
    78										\
    79	static umode_t								\
    80	_name##_is_visible(struct kobject *kobj, struct attribute *attr, int i)	\
    81	{									\
    82		struct device *dev = kobj_to_dev(kobj);				\
    83		struct iommu_pmu *iommu_pmu = dev_to_iommu_pmu(dev);		\
    84										\
    85		if (!iommu_pmu)							\
    86			return 0;						\
    87		return (iommu_pmu->filter & _filter) ? attr->mode : 0;		\
    88	}									\
    89										\
    90	static struct attribute_group _name = {					\
    91		.name		= "format",					\
    92		.attrs		= _name##_attr,					\
    93		.is_visible	= _name##_is_visible,				\
    94	};
    95	
    96	IOMMU_PMU_ATTR(filter_requester_id_en,	"config1:0",		IOMMU_PMU_FILTER_REQUESTER_ID);
    97	IOMMU_PMU_ATTR(filter_domain_en,	"config1:1",		IOMMU_PMU_FILTER_DOMAIN);
    98	IOMMU_PMU_ATTR(filter_pasid_en,		"config1:2",		IOMMU_PMU_FILTER_PASID);
    99	IOMMU_PMU_ATTR(filter_ats_en,		"config1:3",		IOMMU_PMU_FILTER_ATS);
   100	IOMMU_PMU_ATTR(filter_page_table_en,	"config1:4",		IOMMU_PMU_FILTER_PAGE_TABLE);
   101	IOMMU_PMU_ATTR(filter_requester_id,	"config1:16-31",	IOMMU_PMU_FILTER_REQUESTER_ID);
   102	IOMMU_PMU_ATTR(filter_domain,		"config1:32-47",	IOMMU_PMU_FILTER_DOMAIN);
   103	IOMMU_PMU_ATTR(filter_pasid,		"config2:0-21",		IOMMU_PMU_FILTER_PASID);
   104	IOMMU_PMU_ATTR(filter_ats,		"config2:24-28",	IOMMU_PMU_FILTER_ATS);
   105	IOMMU_PMU_ATTR(filter_page_table,	"config2:32-36",	IOMMU_PMU_FILTER_PAGE_TABLE);
   106	
   107	#define iommu_pmu_en_requester_id(e)		((e) & 0x1)
   108	#define iommu_pmu_en_domain(e)			(((e) >> 1) & 0x1)
   109	#define iommu_pmu_en_pasid(e)			(((e) >> 2) & 0x1)
   110	#define iommu_pmu_en_ats(e)			(((e) >> 3) & 0x1)
   111	#define iommu_pmu_en_page_table(e)		(((e) >> 4) & 0x1)
   112	#define iommu_pmu_get_requester_id(filter)	(((filter) >> 16) & 0xffff)
   113	#define iommu_pmu_get_domain(filter)		(((filter) >> 32) & 0xffff)
   114	#define iommu_pmu_get_pasid(filter)		((filter) & 0x3fffff)
   115	#define iommu_pmu_get_ats(filter)		(((filter) >> 24) & 0x1f)
   116	#define iommu_pmu_get_page_table(filter)	(((filter) >> 32) & 0x1f)
   117	
 > 118	#define dmar_pmu_readq(pmu, o)		dmar_readq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
   119	#define dmar_pmu_writeq(pmu, o, v)	dmar_writeq((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
   120	#define dmar_pmu_readl(pmu, o)		dmar_readl((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg)
   121	#define dmar_pmu_writel(pmu, o, v)	dmar_writel((pmu)->iommu, (u64)(o) - (u64)(pmu)->iommu->reg, (v))
   122	

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-11-16 17:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-16 17:15 [android-common:android15-6.6-desktop-pkvm-ia-2024-15-11-v1 128/259] drivers/iommu/intel/perfmon.c:118:66: warning: cast from pointer to integer of different size kernel test robot

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.