[radeon-alex:drm-next 505/551] drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1743:13: warning: variable 'min' is used uninitialized whenever 'if' condition is false

kernel test robot lkp at intel.com
Tue Oct 27 23:18:36 UTC 2020


tree:   git://people.freedesktop.org/~agd5f/linux.git drm-next
head:   2e3a5bc5feeab1ed21f0105f1440a2ff0aef62f9
commit: a90e6fbe47ff6707a57e55aa578e623b10f79b10 [505/551] drm/amd/pm: correct the settings for ro range minimum and maximum
config: x86_64-randconfig-a004-20201026 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project f2c25c70791de95d2466e09b5b58fc37f6ccd7a4)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        git remote add radeon-alex git://people.freedesktop.org/~agd5f/linux.git
        git fetch --no-tags radeon-alex drm-next
        git checkout a90e6fbe47ff6707a57e55aa578e623b10f79b10
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 

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

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1743:13: warning: variable 'min' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
           } else if ((hwmgr->chip_id == CHIP_POLARIS11) ||
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1749:27: note: uninitialized use occurs here
           data->ro_range_minimum = min;
                                    ^~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1743:9: note: remove the 'if' if its condition is always true
           } else if ((hwmgr->chip_id == CHIP_POLARIS11) ||
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1738:15: warning: variable 'min' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
                           } else if (evv_revision == 2) {
                                      ^~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1749:27: note: uninitialized use occurs here
           data->ro_range_minimum = min;
                                    ^~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1738:11: note: remove the 'if' if its condition is always true
                           } else if (evv_revision == 2) {
                                  ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1706:43: note: initialize the variable 'min' to silence this warning
           uint32_t asicrev1, evv_revision, max, min;
                                                    ^
                                                     = 0
>> drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1743:13: warning: variable 'max' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
           } else if ((hwmgr->chip_id == CHIP_POLARIS11) ||
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1750:27: note: uninitialized use occurs here
           data->ro_range_maximum = max;
                                    ^~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1743:9: note: remove the 'if' if its condition is always true
           } else if ((hwmgr->chip_id == CHIP_POLARIS11) ||
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1738:15: warning: variable 'max' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
                           } else if (evv_revision == 2) {
                                      ^~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1750:27: note: uninitialized use occurs here
           data->ro_range_maximum = max;
                                    ^~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1738:11: note: remove the 'if' if its condition is always true
                           } else if (evv_revision == 2) {
                                  ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:1706:38: note: initialize the variable 'max' to silence this warning
           uint32_t asicrev1, evv_revision, max, min;
                                               ^
                                                = 0
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:5286:5: warning: no previous prototype for function 'smu7_init_function_pointers' [-Wmissing-prototypes]
   int smu7_init_function_pointers(struct pp_hwmgr *hwmgr)
       ^
   drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c:5286:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int smu7_init_function_pointers(struct pp_hwmgr *hwmgr)
   ^
   static 
   5 warnings generated.

vim +1743 drivers/gpu/drm/amd/amdgpu/../pm/powerplay/hwmgr/smu7_hwmgr.c

  1701	
  1702	static int smu7_calculate_ro_range(struct pp_hwmgr *hwmgr)
  1703	{
  1704		struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend);
  1705		struct amdgpu_device *adev = hwmgr->adev;
  1706		uint32_t asicrev1, evv_revision, max, min;
  1707	
  1708		atomctrl_read_efuse(hwmgr, STRAP_EVV_REVISION_LSB, STRAP_EVV_REVISION_MSB,
  1709				&evv_revision);
  1710	
  1711		atomctrl_read_efuse(hwmgr, 568, 579, &asicrev1);
  1712	
  1713		if (ASICID_IS_P20(adev->pdev->device, adev->pdev->revision) ||
  1714		    ASICID_IS_P30(adev->pdev->device, adev->pdev->revision)) {
  1715			min = 1200;
  1716			max = 2500;
  1717		} else if (ASICID_IS_P21(adev->pdev->device, adev->pdev->revision) ||
  1718			   ASICID_IS_P31(adev->pdev->device, adev->pdev->revision)) {
  1719			min = 900;
  1720			max= 2100;
  1721		} else if (hwmgr->chip_id == CHIP_POLARIS10) {
  1722			if (adev->pdev->subsystem_vendor == 0x106B) {
  1723				min = 1000;
  1724				max = 2300;
  1725			} else {
  1726				if (evv_revision == 0) {
  1727					min = 1000;
  1728					max = 2300;
  1729				} else if (evv_revision == 1) {
  1730					if (asicrev1 == 326) {
  1731						min = 1200;
  1732						max = 2500;
  1733						/* TODO: PATCH RO in VBIOS */
  1734					} else {
  1735						min = 1200;
  1736						max = 2000;
  1737					}
  1738				} else if (evv_revision == 2) {
  1739					min = 1200;
  1740					max = 2500;
  1741				}
  1742			}
> 1743		} else if ((hwmgr->chip_id == CHIP_POLARIS11) ||
  1744			   (hwmgr->chip_id == CHIP_POLARIS12)) {
  1745			min = 1100;
  1746			max = 2100;
  1747		}
  1748	
  1749		data->ro_range_minimum = min;
  1750		data->ro_range_maximum = max;
  1751	
  1752		/* TODO: PATCH RO in VBIOS here */
  1753	
  1754		return 0;
  1755	}
  1756	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 40508 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20201028/53dd6bab/attachment-0001.gz>


More information about the dri-devel mailing list