All of lore.kernel.org
 help / color / mirror / Atom feed
* [mchinth: sep_socwatch_linux_5_9 32/41] drivers/platform/x86/socperf/npk_uncore.c:292:39: sparse: sparse: cast removes address space '__iomem' of expression
@ 2021-01-08 13:36 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-01-08 13:36 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 8428 bytes --]

tree:   https://github.com/mchinth/linux  sep_socwatch_linux_5_9
head:   7296486889985b9d9895a39f551764a4b0425bea
commit: 4a8adda8065c4c6944ffedd3025605c845c262a5 [32/41] SEP/SOCWATCH resolve build errors after rebasing to linux v5.6-rc3
config: x86_64-randconfig-s022-20210108 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-208-g46a52ca4-dirty
        # https://github.com/mchinth/linux/commit/4a8adda8065c4c6944ffedd3025605c845c262a5
        git remote add mchinth https://github.com/mchinth/linux
        git fetch --no-tags mchinth  sep_socwatch_linux_5_9
        git checkout 4a8adda8065c4c6944ffedd3025605c845c262a5
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


"sparse warnings: (new ones prefixed by >>)"
>> drivers/platform/x86/socperf/npk_uncore.c:292:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/npk_uncore.c:492:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/npk_uncore.c:496:10: sparse:   also defined here
--
>> drivers/platform/x86/socperf/haswellunc_sa.c:203:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/haswellunc_sa.c:395:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/haswellunc_sa.c:399:10: sparse:   also defined here
--
>> drivers/platform/x86/socperf/soc_uncore.c:756:47: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/soc_uncore.c:889:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/soc_uncore.c:893:10: sparse:   also defined here
--
>> drivers/platform/x86/sepdk/sep/chap.c:78:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/sepdk/sep/chap.c:90:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/sepdk/sep/chap.c:103:39: sparse: sparse: cast removes address space '__iomem' of expression

vim +/__iomem +292 drivers/platform/x86/socperf/npk_uncore.c

   162	
   163	/*!
   164	 * @fn          static VOID uncore_Write_PMU(VOID*)
   165	 *
   166	 * @brief       Initial write of PMU registers
   167	 *              Walk through the entries and write the value of the register accordingly.
   168	 *              When current_group = 0, then this is the first time this routine is called,
   169	 *
   170	 * @param       param - device index
   171	 *
   172	 * @return      None
   173	 *
   174	 * <I>Special Notes:</I>
   175	 */
   176	static VOID uncore_Write_PMU(VOID *param)
   177	{
   178		U32 dev_idx = *((U32 *)param);
   179		ECB pecb;
   180		DRV_PCI_DEVICE_ENTRY dpden;
   181		U32 pci_address;
   182		U32 bar_lo;
   183		U64 bar_hi;
   184		U64 final_bar;
   185		U64 physical_address;
   186		U32 dev_index = 0;
   187		S32 bar_list[SOC_NPK_UNCORE_MAX_PCI_DEVICES];
   188		U32 bar_index = 0;
   189		U64 virtual_address = 0;
   190		U32 bar_name = 0;
   191		DRV_PCI_DEVICE_ENTRY curr_pci_entry = NULL;
   192		U32 next_bar_offset = 0;
   193		U64 mmio_offset = 0;
   194		U32 i = 0;
   195		U32 map_size = 0;
   196		U32 cur_grp;
   197	
   198		if (device_uncore == NULL) {
   199			SOCPERF_PRINT_ERROR("ERROR: NULL device_uncore!\n");
   200			return;
   201		}
   202		cur_grp = LWPMU_DEVICE_cur_group(device_uncore);
   203	
   204		pecb = (ECB)LWPMU_DEVICE_PMU_register_data(device_uncore)[cur_grp];
   205		if (pecb == NULL) {
   206			SOCPERF_PRINT_ERROR("ERROR: null pecb!\n");
   207			return;
   208		}
   209	
   210		for (dev_index = 0; dev_index < SOC_NPK_UNCORE_MAX_PCI_DEVICES;
   211		     dev_index++) {
   212			bar_list[dev_index] = -1;
   213		}
   214	
   215		// initialize the per-counter overflow numbers
   216		for (i = 0; i < SOC_NPK_COUNTER_MAX_COUNTERS; i++) {
   217			counter_overflow[i] = 0;
   218			socperf_pcb[0].last_uncore_count[i] = 0;
   219		}
   220	
   221		ECB_pcidev_entry_list(pecb) = (DRV_PCI_DEVICE_ENTRY)(
   222			(S8 *)pecb + ECB_pcidev_list_offset(pecb));
   223		dpden = ECB_pcidev_entry_list(pecb);
   224	
   225		uncore_Reset_Counters(dev_idx);
   226	
   227		SOCPERF_PRINT_DEBUG(
   228			"Inside VISA Driver Write PMU: Number of entries=%d\n",
   229			ECB_num_pci_devices(pecb));
   230		for (dev_index = 0; dev_index < ECB_num_pci_devices(pecb);
   231		     dev_index++) {
   232			curr_pci_entry = &dpden[dev_index];
   233			bar_name = DRV_PCI_DEVICE_ENTRY_bar_name(curr_pci_entry);
   234			mmio_offset = DRV_PCI_DEVICE_ENTRY_base_offset_for_mmio(
   235				curr_pci_entry);
   236	
   237			// UNC_MMIO programming
   238			if (bar_list[bar_name] != -1) {
   239				bar_index = bar_list[bar_name];
   240				virtual_address = DRV_PCI_DEVICE_ENTRY_virtual_address(
   241					&dpden[bar_index]);
   242				DRV_PCI_DEVICE_ENTRY_virtual_address(curr_pci_entry) =
   243					DRV_PCI_DEVICE_ENTRY_virtual_address(
   244						&dpden[bar_index]);
   245				write_To_Register(virtual_address, mmio_offset,
   246						  (U32)DRV_PCI_DEVICE_ENTRY_value(
   247							  curr_pci_entry));
   248				continue;
   249			}
   250	
   251			pci_address = FORM_PCI_ADDR(
   252				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   253				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   254				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   255				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry));
   256			bar_lo = SOCPERF_PCI_Read_Ulong(pci_address);
   257			SOCPERF_PRINT_DEBUG(
   258				"The bus=%x device=%x function=%x offset=%x\n",
   259				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   260				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   261				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   262				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry));
   263			next_bar_offset =
   264				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry) +
   265				SOC_NPK_UNCORE_NEXT_ADDR_OFFSET;
   266			pci_address = FORM_PCI_ADDR(
   267				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   268				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   269				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   270				next_bar_offset);
   271			bar_hi = SOCPERF_PCI_Read_Ulong(pci_address);
   272			SOCPERF_PRINT_DEBUG(
   273				"The bus=%x device=%x function=%x offset=%x\n",
   274				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   275				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   276				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   277				next_bar_offset);
   278			final_bar = (bar_hi << SOC_NPK_UNCORE_BAR_ADDR_SHIFT) | bar_lo;
   279			if (bar_name == UNC_MCHBAR) {
   280				final_bar &= SOC_NPK_UNCORE_MCHBAR_ADDR_MASK;
   281				map_size = SOC_NPK_UNCORE_MCHBAR_MMIO_PAGE_SIZE;
   282			} else {
   283				final_bar &= SOC_NPK_UNCORE_BAR_ADDR_MASK;
   284				map_size = SOC_NPK_UNCORE_NPK_BAR_MMIO_PAGE_SIZE;
   285			}
   286			DRV_PCI_DEVICE_ENTRY_bar_address(curr_pci_entry) = final_bar;
   287			physical_address =
   288				DRV_PCI_DEVICE_ENTRY_bar_address(curr_pci_entry);
   289	
   290			if (physical_address) {
   291				DRV_PCI_DEVICE_ENTRY_virtual_address(curr_pci_entry) =
 > 292					(U64)(UIOP)ioremap_cache(physical_address,
   293								   map_size);
   294				virtual_address = DRV_PCI_DEVICE_ENTRY_virtual_address(
   295					curr_pci_entry);
   296	
   297				if (virtual_address) {
   298					write_To_Register(virtual_address, mmio_offset,
   299						  (U32)DRV_PCI_DEVICE_ENTRY_value(
   300							  curr_pci_entry));
   301					bar_list[bar_name] = dev_index;
   302					if (counter_virtual_address == 0) {
   303						counter_virtual_address = virtual_address;
   304					}
   305					if (mchbar_virtual_address == 0 &&
   306					    bar_name == UNC_MCHBAR) {
   307						mchbar_virtual_address = virtual_address;
   308						mchbar_offset = mmio_offset;
   309					}
   310				}
   311			}
   312		}
   313	}
   314	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 31330 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [mchinth: sep_socwatch_linux_5_9 32/41] drivers/platform/x86/socperf/npk_uncore.c:292:39: sparse: sparse: cast removes address space '__iomem' of expression
@ 2021-04-13 22:55 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-04-13 22:55 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 8073 bytes --]

tree:   https://github.com/mchinth/linux  sep_socwatch_linux_5_9
head:   7296486889985b9d9895a39f551764a4b0425bea
commit: 4a8adda8065c4c6944ffedd3025605c845c262a5 [32/41] SEP/SOCWATCH resolve build errors after rebasing to linux v5.6-rc3
config: x86_64-randconfig-s022-20210413 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-280-g2cd6d34e-dirty
        # https://github.com/mchinth/linux/commit/4a8adda8065c4c6944ffedd3025605c845c262a5
        git remote add mchinth https://github.com/mchinth/linux
        git fetch --no-tags mchinth  sep_socwatch_linux_5_9
        git checkout 4a8adda8065c4c6944ffedd3025605c845c262a5
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/platform/x86/socperf/npk_uncore.c:292:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/npk_uncore.c:492:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/npk_uncore.c:496:10: sparse:   also defined here
--
>> drivers/platform/x86/socperf/haswellunc_sa.c:203:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/haswellunc_sa.c:395:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/haswellunc_sa.c:399:10: sparse:   also defined here
--
>> drivers/platform/x86/socperf/soc_uncore.c:756:47: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/soc_uncore.c:889:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/soc_uncore.c:893:10: sparse:   also defined here

vim +/__iomem +292 drivers/platform/x86/socperf/npk_uncore.c

   162	
   163	/*!
   164	 * @fn          static VOID uncore_Write_PMU(VOID*)
   165	 *
   166	 * @brief       Initial write of PMU registers
   167	 *              Walk through the entries and write the value of the register accordingly.
   168	 *              When current_group = 0, then this is the first time this routine is called,
   169	 *
   170	 * @param       param - device index
   171	 *
   172	 * @return      None
   173	 *
   174	 * <I>Special Notes:</I>
   175	 */
   176	static VOID uncore_Write_PMU(VOID *param)
   177	{
   178		U32 dev_idx = *((U32 *)param);
   179		ECB pecb;
   180		DRV_PCI_DEVICE_ENTRY dpden;
   181		U32 pci_address;
   182		U32 bar_lo;
   183		U64 bar_hi;
   184		U64 final_bar;
   185		U64 physical_address;
   186		U32 dev_index = 0;
   187		S32 bar_list[SOC_NPK_UNCORE_MAX_PCI_DEVICES];
   188		U32 bar_index = 0;
   189		U64 virtual_address = 0;
   190		U32 bar_name = 0;
   191		DRV_PCI_DEVICE_ENTRY curr_pci_entry = NULL;
   192		U32 next_bar_offset = 0;
   193		U64 mmio_offset = 0;
   194		U32 i = 0;
   195		U32 map_size = 0;
   196		U32 cur_grp;
   197	
   198		if (device_uncore == NULL) {
   199			SOCPERF_PRINT_ERROR("ERROR: NULL device_uncore!\n");
   200			return;
   201		}
   202		cur_grp = LWPMU_DEVICE_cur_group(device_uncore);
   203	
   204		pecb = (ECB)LWPMU_DEVICE_PMU_register_data(device_uncore)[cur_grp];
   205		if (pecb == NULL) {
   206			SOCPERF_PRINT_ERROR("ERROR: null pecb!\n");
   207			return;
   208		}
   209	
   210		for (dev_index = 0; dev_index < SOC_NPK_UNCORE_MAX_PCI_DEVICES;
   211		     dev_index++) {
   212			bar_list[dev_index] = -1;
   213		}
   214	
   215		// initialize the per-counter overflow numbers
   216		for (i = 0; i < SOC_NPK_COUNTER_MAX_COUNTERS; i++) {
   217			counter_overflow[i] = 0;
   218			socperf_pcb[0].last_uncore_count[i] = 0;
   219		}
   220	
   221		ECB_pcidev_entry_list(pecb) = (DRV_PCI_DEVICE_ENTRY)(
   222			(S8 *)pecb + ECB_pcidev_list_offset(pecb));
   223		dpden = ECB_pcidev_entry_list(pecb);
   224	
   225		uncore_Reset_Counters(dev_idx);
   226	
   227		SOCPERF_PRINT_DEBUG(
   228			"Inside VISA Driver Write PMU: Number of entries=%d\n",
   229			ECB_num_pci_devices(pecb));
   230		for (dev_index = 0; dev_index < ECB_num_pci_devices(pecb);
   231		     dev_index++) {
   232			curr_pci_entry = &dpden[dev_index];
   233			bar_name = DRV_PCI_DEVICE_ENTRY_bar_name(curr_pci_entry);
   234			mmio_offset = DRV_PCI_DEVICE_ENTRY_base_offset_for_mmio(
   235				curr_pci_entry);
   236	
   237			// UNC_MMIO programming
   238			if (bar_list[bar_name] != -1) {
   239				bar_index = bar_list[bar_name];
   240				virtual_address = DRV_PCI_DEVICE_ENTRY_virtual_address(
   241					&dpden[bar_index]);
   242				DRV_PCI_DEVICE_ENTRY_virtual_address(curr_pci_entry) =
   243					DRV_PCI_DEVICE_ENTRY_virtual_address(
   244						&dpden[bar_index]);
   245				write_To_Register(virtual_address, mmio_offset,
   246						  (U32)DRV_PCI_DEVICE_ENTRY_value(
   247							  curr_pci_entry));
   248				continue;
   249			}
   250	
   251			pci_address = FORM_PCI_ADDR(
   252				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   253				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   254				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   255				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry));
   256			bar_lo = SOCPERF_PCI_Read_Ulong(pci_address);
   257			SOCPERF_PRINT_DEBUG(
   258				"The bus=%x device=%x function=%x offset=%x\n",
   259				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   260				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   261				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   262				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry));
   263			next_bar_offset =
   264				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry) +
   265				SOC_NPK_UNCORE_NEXT_ADDR_OFFSET;
   266			pci_address = FORM_PCI_ADDR(
   267				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   268				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   269				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   270				next_bar_offset);
   271			bar_hi = SOCPERF_PCI_Read_Ulong(pci_address);
   272			SOCPERF_PRINT_DEBUG(
   273				"The bus=%x device=%x function=%x offset=%x\n",
   274				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   275				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   276				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   277				next_bar_offset);
   278			final_bar = (bar_hi << SOC_NPK_UNCORE_BAR_ADDR_SHIFT) | bar_lo;
   279			if (bar_name == UNC_MCHBAR) {
   280				final_bar &= SOC_NPK_UNCORE_MCHBAR_ADDR_MASK;
   281				map_size = SOC_NPK_UNCORE_MCHBAR_MMIO_PAGE_SIZE;
   282			} else {
   283				final_bar &= SOC_NPK_UNCORE_BAR_ADDR_MASK;
   284				map_size = SOC_NPK_UNCORE_NPK_BAR_MMIO_PAGE_SIZE;
   285			}
   286			DRV_PCI_DEVICE_ENTRY_bar_address(curr_pci_entry) = final_bar;
   287			physical_address =
   288				DRV_PCI_DEVICE_ENTRY_bar_address(curr_pci_entry);
   289	
   290			if (physical_address) {
   291				DRV_PCI_DEVICE_ENTRY_virtual_address(curr_pci_entry) =
 > 292					(U64)(UIOP)ioremap_cache(physical_address,
   293								   map_size);
   294				virtual_address = DRV_PCI_DEVICE_ENTRY_virtual_address(
   295					curr_pci_entry);
   296	
   297				if (virtual_address) {
   298					write_To_Register(virtual_address, mmio_offset,
   299						  (U32)DRV_PCI_DEVICE_ENTRY_value(
   300							  curr_pci_entry));
   301					bar_list[bar_name] = dev_index;
   302					if (counter_virtual_address == 0) {
   303						counter_virtual_address = virtual_address;
   304					}
   305					if (mchbar_virtual_address == 0 &&
   306					    bar_name == UNC_MCHBAR) {
   307						mchbar_virtual_address = virtual_address;
   308						mchbar_offset = mmio_offset;
   309					}
   310				}
   311			}
   312		}
   313	}
   314	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28032 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread
* [mchinth: sep_socwatch_linux_5_9 32/41] drivers/platform/x86/socperf/npk_uncore.c:292:39: sparse: sparse: cast removes address space '__iomem' of expression
@ 2021-06-03  4:26 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2021-06-03  4:26 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 8430 bytes --]

tree:   https://github.com/mchinth/linux  sep_socwatch_linux_5_9
head:   7296486889985b9d9895a39f551764a4b0425bea
commit: 4a8adda8065c4c6944ffedd3025605c845c262a5 [32/41] SEP/SOCWATCH resolve build errors after rebasing to linux v5.6-rc3
config: x86_64-randconfig-s021-20210603 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.3-341-g8af24329-dirty
        # https://github.com/mchinth/linux/commit/4a8adda8065c4c6944ffedd3025605c845c262a5
        git remote add mchinth https://github.com/mchinth/linux
        git fetch --no-tags mchinth  sep_socwatch_linux_5_9
        git checkout 4a8adda8065c4c6944ffedd3025605c845c262a5
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


sparse warnings: (new ones prefixed by >>)
>> drivers/platform/x86/socperf/npk_uncore.c:292:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/npk_uncore.c:492:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/npk_uncore.c:496:10: sparse:   also defined here
--
>> drivers/platform/x86/socperf/haswellunc_sa.c:203:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/haswellunc_sa.c:395:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/haswellunc_sa.c:399:10: sparse:   also defined here
--
>> drivers/platform/x86/socperf/soc_uncore.c:756:47: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/socperf/soc_uncore.c:889:10: sparse: sparse: Initializer entry defined twice
   drivers/platform/x86/socperf/soc_uncore.c:893:10: sparse:   also defined here
--
>> drivers/platform/x86/sepdk/sep/chap.c:78:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/sepdk/sep/chap.c:90:39: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/platform/x86/sepdk/sep/chap.c:103:39: sparse: sparse: cast removes address space '__iomem' of expression

vim +/__iomem +292 drivers/platform/x86/socperf/npk_uncore.c

   162	
   163	/*!
   164	 * @fn          static VOID uncore_Write_PMU(VOID*)
   165	 *
   166	 * @brief       Initial write of PMU registers
   167	 *              Walk through the entries and write the value of the register accordingly.
   168	 *              When current_group = 0, then this is the first time this routine is called,
   169	 *
   170	 * @param       param - device index
   171	 *
   172	 * @return      None
   173	 *
   174	 * <I>Special Notes:</I>
   175	 */
   176	static VOID uncore_Write_PMU(VOID *param)
   177	{
   178		U32 dev_idx = *((U32 *)param);
   179		ECB pecb;
   180		DRV_PCI_DEVICE_ENTRY dpden;
   181		U32 pci_address;
   182		U32 bar_lo;
   183		U64 bar_hi;
   184		U64 final_bar;
   185		U64 physical_address;
   186		U32 dev_index = 0;
   187		S32 bar_list[SOC_NPK_UNCORE_MAX_PCI_DEVICES];
   188		U32 bar_index = 0;
   189		U64 virtual_address = 0;
   190		U32 bar_name = 0;
   191		DRV_PCI_DEVICE_ENTRY curr_pci_entry = NULL;
   192		U32 next_bar_offset = 0;
   193		U64 mmio_offset = 0;
   194		U32 i = 0;
   195		U32 map_size = 0;
   196		U32 cur_grp;
   197	
   198		if (device_uncore == NULL) {
   199			SOCPERF_PRINT_ERROR("ERROR: NULL device_uncore!\n");
   200			return;
   201		}
   202		cur_grp = LWPMU_DEVICE_cur_group(device_uncore);
   203	
   204		pecb = (ECB)LWPMU_DEVICE_PMU_register_data(device_uncore)[cur_grp];
   205		if (pecb == NULL) {
   206			SOCPERF_PRINT_ERROR("ERROR: null pecb!\n");
   207			return;
   208		}
   209	
   210		for (dev_index = 0; dev_index < SOC_NPK_UNCORE_MAX_PCI_DEVICES;
   211		     dev_index++) {
   212			bar_list[dev_index] = -1;
   213		}
   214	
   215		// initialize the per-counter overflow numbers
   216		for (i = 0; i < SOC_NPK_COUNTER_MAX_COUNTERS; i++) {
   217			counter_overflow[i] = 0;
   218			socperf_pcb[0].last_uncore_count[i] = 0;
   219		}
   220	
   221		ECB_pcidev_entry_list(pecb) = (DRV_PCI_DEVICE_ENTRY)(
   222			(S8 *)pecb + ECB_pcidev_list_offset(pecb));
   223		dpden = ECB_pcidev_entry_list(pecb);
   224	
   225		uncore_Reset_Counters(dev_idx);
   226	
   227		SOCPERF_PRINT_DEBUG(
   228			"Inside VISA Driver Write PMU: Number of entries=%d\n",
   229			ECB_num_pci_devices(pecb));
   230		for (dev_index = 0; dev_index < ECB_num_pci_devices(pecb);
   231		     dev_index++) {
   232			curr_pci_entry = &dpden[dev_index];
   233			bar_name = DRV_PCI_DEVICE_ENTRY_bar_name(curr_pci_entry);
   234			mmio_offset = DRV_PCI_DEVICE_ENTRY_base_offset_for_mmio(
   235				curr_pci_entry);
   236	
   237			// UNC_MMIO programming
   238			if (bar_list[bar_name] != -1) {
   239				bar_index = bar_list[bar_name];
   240				virtual_address = DRV_PCI_DEVICE_ENTRY_virtual_address(
   241					&dpden[bar_index]);
   242				DRV_PCI_DEVICE_ENTRY_virtual_address(curr_pci_entry) =
   243					DRV_PCI_DEVICE_ENTRY_virtual_address(
   244						&dpden[bar_index]);
   245				write_To_Register(virtual_address, mmio_offset,
   246						  (U32)DRV_PCI_DEVICE_ENTRY_value(
   247							  curr_pci_entry));
   248				continue;
   249			}
   250	
   251			pci_address = FORM_PCI_ADDR(
   252				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   253				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   254				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   255				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry));
   256			bar_lo = SOCPERF_PCI_Read_Ulong(pci_address);
   257			SOCPERF_PRINT_DEBUG(
   258				"The bus=%x device=%x function=%x offset=%x\n",
   259				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   260				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   261				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   262				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry));
   263			next_bar_offset =
   264				DRV_PCI_DEVICE_ENTRY_bar_offset(curr_pci_entry) +
   265				SOC_NPK_UNCORE_NEXT_ADDR_OFFSET;
   266			pci_address = FORM_PCI_ADDR(
   267				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   268				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   269				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   270				next_bar_offset);
   271			bar_hi = SOCPERF_PCI_Read_Ulong(pci_address);
   272			SOCPERF_PRINT_DEBUG(
   273				"The bus=%x device=%x function=%x offset=%x\n",
   274				DRV_PCI_DEVICE_ENTRY_bus_no(curr_pci_entry),
   275				DRV_PCI_DEVICE_ENTRY_dev_no(curr_pci_entry),
   276				DRV_PCI_DEVICE_ENTRY_func_no(curr_pci_entry),
   277				next_bar_offset);
   278			final_bar = (bar_hi << SOC_NPK_UNCORE_BAR_ADDR_SHIFT) | bar_lo;
   279			if (bar_name == UNC_MCHBAR) {
   280				final_bar &= SOC_NPK_UNCORE_MCHBAR_ADDR_MASK;
   281				map_size = SOC_NPK_UNCORE_MCHBAR_MMIO_PAGE_SIZE;
   282			} else {
   283				final_bar &= SOC_NPK_UNCORE_BAR_ADDR_MASK;
   284				map_size = SOC_NPK_UNCORE_NPK_BAR_MMIO_PAGE_SIZE;
   285			}
   286			DRV_PCI_DEVICE_ENTRY_bar_address(curr_pci_entry) = final_bar;
   287			physical_address =
   288				DRV_PCI_DEVICE_ENTRY_bar_address(curr_pci_entry);
   289	
   290			if (physical_address) {
   291				DRV_PCI_DEVICE_ENTRY_virtual_address(curr_pci_entry) =
 > 292					(U64)(UIOP)ioremap_cache(physical_address,
   293								   map_size);
   294				virtual_address = DRV_PCI_DEVICE_ENTRY_virtual_address(
   295					curr_pci_entry);
   296	
   297				if (virtual_address) {
   298					write_To_Register(virtual_address, mmio_offset,
   299						  (U32)DRV_PCI_DEVICE_ENTRY_value(
   300							  curr_pci_entry));
   301					bar_list[bar_name] = dev_index;
   302					if (counter_virtual_address == 0) {
   303						counter_virtual_address = virtual_address;
   304					}
   305					if (mchbar_virtual_address == 0 &&
   306					    bar_name == UNC_MCHBAR) {
   307						mchbar_virtual_address = virtual_address;
   308						mchbar_offset = mmio_offset;
   309					}
   310				}
   311			}
   312		}
   313	}
   314	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 32808 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-06-03  4:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-08 13:36 [mchinth: sep_socwatch_linux_5_9 32/41] drivers/platform/x86/socperf/npk_uncore.c:292:39: sparse: sparse: cast removes address space '__iomem' of expression kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-04-13 22:55 kernel test robot
2021-06-03  4:26 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.