tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head:   d0987b4ee380e9d814052071c939b38a74a34ab1
commit: 4771bffd00cf57702e4bea3a1b08fe9a9ea78abd [5/6] drm/amdgpu/pp/smu7: 
cache smu firmware toc
reproduce:
        # apt-get install sparse
        git checkout 4771bffd00cf57702e4bea3a1b08fe9a9ea78abd
        make ARCH=x86_64 allmodconfig
        make C=1 CF=-D__CHECK_ENDIAN__
:::::: branch date: 22 hours ago
:::::: commit date: 22 hours ago

   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:65:25: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:65:25: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:65:25: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:65:25: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:65:25: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:65:25: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:74:26: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:74:26: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:74:26: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:74:26: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:74:26: sparse: 
cast to restricted __be32
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:74:26: sparse: 
cast to restricted __be32
>> drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:465:44: sparse: 
>> incorrect type in argument 1 (different address spaces) @@    expected void 
>> volatile [noderef] <asn:2>*addr @@    got sn:2>*addr @@
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:465:44:    
expected void volatile [noderef] <asn:2>*addr
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c:465:44:    got 
void *kaddr

git remote add radeon-alex git://people.freedesktop.org/~agd5f/linux.git
git remote update radeon-alex
git checkout 4771bffd00cf57702e4bea3a1b08fe9a9ea78abd
vim +465 drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu7_smumgr.c

1ff55f46 Rex Zhu       2016-08-19  377  
d3f8c0ab Rex Zhu       2017-09-20  378  int smu7_request_smu_load_fw(struct 
pp_hwmgr *hwmgr)
1ff55f46 Rex Zhu       2016-08-19  379  {
b3b03052 Rex Zhu       2017-09-26  380          struct smu7_smumgr *smu_data = 
(struct smu7_smumgr *)(hwmgr->smu_backend);
1ff55f46 Rex Zhu       2016-08-19  381          uint32_t fw_to_load;
4771bffd Alex Deucher  2018-07-12  382          int r = 0;
1ff55f46 Rex Zhu       2016-08-19  383  
b3b03052 Rex Zhu       2017-09-26  384          if (!hwmgr->reload_fw) {
634a24d8 Huang Rui     2016-12-26  385                  pr_info("skip 
reloading...\n");
1ff55f46 Rex Zhu       2016-08-19  386                  return 0;
1ff55f46 Rex Zhu       2016-08-19  387          }
1ff55f46 Rex Zhu       2016-08-19  388  
1ff55f46 Rex Zhu       2016-08-19  389          if (smu_data->soft_regs_start)
d3f8c0ab Rex Zhu       2017-09-20  390                  
cgs_write_ind_register(hwmgr->device, CGS_IND_REG__SMC,
d3f8c0ab Rex Zhu       2017-09-20  391                                          
smu_data->soft_regs_start + smum_get_offsetof(hwmgr,
1ff55f46 Rex Zhu       2016-08-19  392                                          
SMU_SoftRegisters, UcodeLoadStatus),
1ff55f46 Rex Zhu       2016-08-19  393                                          
0x0);
1ff55f46 Rex Zhu       2016-08-19  394  
d3f8c0ab Rex Zhu       2017-09-20  395          if (hwmgr->chip_id > 
CHIP_TOPAZ) { /* add support for Topaz */
8bb575a2 Rex Zhu       2018-03-22  396                  if (hwmgr->not_vf) {
d3f8c0ab Rex Zhu       2017-09-20  397                          
smu7_send_msg_to_smc_with_parameter(hwmgr,
e224e4f1 Xiangliang Yu 2016-12-02  398                                          
        PPSMC_MSG_SMU_DRAM_ADDR_HI,
bb03c9c4 Rex Zhu       2018-03-06  399                                          
        upper_32_bits(smu_data->smu_buffer.mc_addr));
d3f8c0ab Rex Zhu       2017-09-20  400                          
smu7_send_msg_to_smc_with_parameter(hwmgr,
e224e4f1 Xiangliang Yu 2016-12-02  401                                          
        PPSMC_MSG_SMU_DRAM_ADDR_LO,
bb03c9c4 Rex Zhu       2018-03-06  402                                          
        lower_32_bits(smu_data->smu_buffer.mc_addr));
e224e4f1 Xiangliang Yu 2016-12-02  403                  }
1ff55f46 Rex Zhu       2016-08-19  404                  fw_to_load = 
UCODE_ID_RLC_G_MASK
1ff55f46 Rex Zhu       2016-08-19  405                             + 
UCODE_ID_SDMA0_MASK
1ff55f46 Rex Zhu       2016-08-19  406                             + 
UCODE_ID_SDMA1_MASK
1ff55f46 Rex Zhu       2016-08-19  407                             + 
UCODE_ID_CP_CE_MASK
1ff55f46 Rex Zhu       2016-08-19  408                             + 
UCODE_ID_CP_ME_MASK
1ff55f46 Rex Zhu       2016-08-19  409                             + 
UCODE_ID_CP_PFP_MASK
1ff55f46 Rex Zhu       2016-08-19  410                             + 
UCODE_ID_CP_MEC_MASK;
1ff55f46 Rex Zhu       2016-08-19  411          } else {
1ff55f46 Rex Zhu       2016-08-19  412                  fw_to_load = 
UCODE_ID_RLC_G_MASK
1ff55f46 Rex Zhu       2016-08-19  413                             + 
UCODE_ID_SDMA0_MASK
1ff55f46 Rex Zhu       2016-08-19  414                             + 
UCODE_ID_SDMA1_MASK
1ff55f46 Rex Zhu       2016-08-19  415                             + 
UCODE_ID_CP_CE_MASK
1ff55f46 Rex Zhu       2016-08-19  416                             + 
UCODE_ID_CP_ME_MASK
1ff55f46 Rex Zhu       2016-08-19  417                             + 
UCODE_ID_CP_PFP_MASK
1ff55f46 Rex Zhu       2016-08-19  418                             + 
UCODE_ID_CP_MEC_MASK
1ff55f46 Rex Zhu       2016-08-19  419                             + 
UCODE_ID_CP_MEC_JT1_MASK
1ff55f46 Rex Zhu       2016-08-19  420                             + 
UCODE_ID_CP_MEC_JT2_MASK;
1ff55f46 Rex Zhu       2016-08-19  421          }
1ff55f46 Rex Zhu       2016-08-19  422  
4771bffd Alex Deucher  2018-07-12  423          if (!smu_data->toc) {
4771bffd Alex Deucher  2018-07-12  424                  struct SMU_DRAMData_TOC 
*toc;
4771bffd Alex Deucher  2018-07-12  425  
4771bffd Alex Deucher  2018-07-12  426                  smu_data->toc = 
kzalloc(sizeof(struct SMU_DRAMData_TOC), GFP_KERNEL);
4771bffd Alex Deucher  2018-07-12  427                  if (!smu_data->toc)
4771bffd Alex Deucher  2018-07-12  428                          return -ENOMEM;
4771bffd Alex Deucher  2018-07-12  429                  toc = smu_data->toc;
4771bffd Alex Deucher  2018-07-12  430                  toc->num_entries = 0;
1ff55f46 Rex Zhu       2016-08-19  431                  toc->structure_version 
= 1;
1ff55f46 Rex Zhu       2016-08-19  432  
d3f8c0ab Rex Zhu       2017-09-20  433                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  434                                  
UCODE_ID_RLC_G, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  435                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  436                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  437                                  
UCODE_ID_CP_CE, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  438                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  439                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  440                                  
UCODE_ID_CP_PFP, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  441                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  442                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  443                                  
UCODE_ID_CP_ME, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  444                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  445                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  446                                  
UCODE_ID_CP_MEC, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  447                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  448                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  449                                  
UCODE_ID_CP_MEC_JT1, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  450                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  451                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  452                                  
UCODE_ID_CP_MEC_JT2, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  453                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  454                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  455                                  
UCODE_ID_SDMA0, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  456                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
d3f8c0ab Rex Zhu       2017-09-20  457                  PP_ASSERT_WITH_CODE(0 
== smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  458                                  
UCODE_ID_SDMA1, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  459                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
8bb575a2 Rex Zhu       2018-03-22  460                  if (!hwmgr->not_vf)
d3f8c0ab Rex Zhu       2017-09-20  461                          
PP_ASSERT_WITH_CODE(0 == smu7_populate_single_firmware_entry(hwmgr,
4771bffd Alex Deucher  2018-07-12  462                                  
UCODE_ID_MEC_STORAGE, &toc->entry[toc->num_entries++]),
4771bffd Alex Deucher  2018-07-12  463                                  "Failed 
to Get Firmware Entry.", r = -EINVAL; goto failed);
4771bffd Alex Deucher  2018-07-12  464          }
4771bffd Alex Deucher  2018-07-12 @465          
memcpy_toio(smu_data->header_buffer.kaddr, smu_data->toc,
4771bffd Alex Deucher  2018-07-12  466                      sizeof(struct 
SMU_DRAMData_TOC));
bb03c9c4 Rex Zhu       2018-03-06  467          
smu7_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_DRV_DRAM_ADDR_HI, 
upper_32_bits(smu_data->header_buffer.mc_addr));
bb03c9c4 Rex Zhu       2018-03-06  468          
smu7_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_DRV_DRAM_ADDR_LO, 
lower_32_bits(smu_data->header_buffer.mc_addr));
1ff55f46 Rex Zhu       2016-08-19  469  
d3f8c0ab Rex Zhu       2017-09-20  470          if 
(smu7_send_msg_to_smc_with_parameter(hwmgr, PPSMC_MSG_LoadUcodes, fw_to_load))
634a24d8 Huang Rui     2016-12-26  471                  pr_err("Fail to Request 
SMU Load uCode");
1ff55f46 Rex Zhu       2016-08-19  472  
4771bffd Alex Deucher  2018-07-12  473          return r;
4771bffd Alex Deucher  2018-07-12  474  
4771bffd Alex Deucher  2018-07-12  475  failed:
4771bffd Alex Deucher  2018-07-12  476          kfree(smu_data->toc);
4771bffd Alex Deucher  2018-07-12  477          smu_data->toc = NULL;
4771bffd Alex Deucher  2018-07-12  478          return r;
1ff55f46 Rex Zhu       2016-08-19  479  }
1ff55f46 Rex Zhu       2016-08-19  480  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to