[linux-next:master 10291/10296] drivers/gpu/drm/amd/amdgpu/mes_v11_0.c:416:18: warning: this 'if' clause does not guard...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   9aaeb87ce1e966169a57f53a02ba05b30880ffb8
commit: be28b79807f6ed29ff87ffedfac848ea50c1e2fe [10291/10296] fix up for "lib/string_choices: Add str_true_false()/str_false_true() helper'
config: s390-randconfig-r004-20220823 (https://download.01.org/0day-ci/archive/20240908/202409080140.ncu18wOy-lkp@xxxxxxxxx/config)
compiler: s390-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240908/202409080140.ncu18wOy-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409080140.ncu18wOy-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/amd/amdgpu/mes_v11_0.c: In function 'mes_v11_0_reset_queue_mmio':
>> drivers/gpu/drm/amd/amdgpu/mes_v11_0.c:416:18: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
     416 |                 for (i = 0; i < adev->usec_timeout; i++) {
         |                  ^~
   In file included from include/linux/delay.h:27,
                    from drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:32,
                    from drivers/gpu/drm/amd/amdgpu/../display/dc/dm_services_types.h:29,
                    from drivers/gpu/drm/amd/amdgpu/../include/dm_pp_interface.h:26,
                    from drivers/gpu/drm/amd/amdgpu/amdgpu.h:62,
                    from drivers/gpu/drm/amd/amdgpu/mes_v11_0.c:26:
   arch/s390/include/asm/delay.h:21:19: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
      21 | #define udelay(n) __udelay((unsigned long)(n))
         |                   ^~~~~~~~
   drivers/gpu/drm/amd/amdgpu/mes_v11_0.c:418:25: note: in expansion of macro 'udelay'
     418 |                         break;
         |                         ^~~~~~


vim +/if +416 drivers/gpu/drm/amd/amdgpu/mes_v11_0.c

028c3fb37e705b Jack Xiao   2022-04-13  363  
178ad0e280c088 Jiadong Zhu 2024-07-04  364  static int mes_v11_0_reset_queue_mmio(struct amdgpu_mes *mes, uint32_t queue_type,
178ad0e280c088 Jiadong Zhu 2024-07-04  365  				      uint32_t me_id, uint32_t pipe_id,
178ad0e280c088 Jiadong Zhu 2024-07-04  366  				      uint32_t queue_id, uint32_t vmid)
178ad0e280c088 Jiadong Zhu 2024-07-04  367  {
178ad0e280c088 Jiadong Zhu 2024-07-04  368  	struct amdgpu_device *adev = mes->adev;
178ad0e280c088 Jiadong Zhu 2024-07-04  369  	uint32_t value;
178ad0e280c088 Jiadong Zhu 2024-07-04  370  	int i, r = 0;
178ad0e280c088 Jiadong Zhu 2024-07-04  371  
178ad0e280c088 Jiadong Zhu 2024-07-04  372  	amdgpu_gfx_rlc_enter_safe_mode(adev, 0);
178ad0e280c088 Jiadong Zhu 2024-07-04  373  
178ad0e280c088 Jiadong Zhu 2024-07-04  374  	if (queue_type == AMDGPU_RING_TYPE_GFX) {
178ad0e280c088 Jiadong Zhu 2024-07-04  375  		dev_info(adev->dev, "reset gfx queue (%d:%d:%d: vmid:%d)\n",
178ad0e280c088 Jiadong Zhu 2024-07-04  376  			 me_id, pipe_id, queue_id, vmid);
178ad0e280c088 Jiadong Zhu 2024-07-04  377  
178ad0e280c088 Jiadong Zhu 2024-07-04  378  		mutex_lock(&adev->gfx.reset_sem_mutex);
178ad0e280c088 Jiadong Zhu 2024-07-04  379  		gfx_v11_0_request_gfx_index_mutex(adev, true);
178ad0e280c088 Jiadong Zhu 2024-07-04  380  		/* all se allow writes */
178ad0e280c088 Jiadong Zhu 2024-07-04  381  		WREG32_SOC15(GC, 0, regGRBM_GFX_INDEX,
178ad0e280c088 Jiadong Zhu 2024-07-04  382  			     (uint32_t)(0x1 << GRBM_GFX_INDEX__SE_BROADCAST_WRITES__SHIFT));
178ad0e280c088 Jiadong Zhu 2024-07-04  383  		value = REG_SET_FIELD(0, CP_VMID_RESET, RESET_REQUEST, 1 << vmid);
178ad0e280c088 Jiadong Zhu 2024-07-04  384  		if (pipe_id == 0)
178ad0e280c088 Jiadong Zhu 2024-07-04  385  			value = REG_SET_FIELD(value, CP_VMID_RESET, PIPE0_QUEUES, 1 << queue_id);
178ad0e280c088 Jiadong Zhu 2024-07-04  386  		else
178ad0e280c088 Jiadong Zhu 2024-07-04  387  			value = REG_SET_FIELD(value, CP_VMID_RESET, PIPE1_QUEUES, 1 << queue_id);
178ad0e280c088 Jiadong Zhu 2024-07-04  388  		WREG32_SOC15(GC, 0, regCP_VMID_RESET, value);
178ad0e280c088 Jiadong Zhu 2024-07-04  389  		gfx_v11_0_request_gfx_index_mutex(adev, false);
178ad0e280c088 Jiadong Zhu 2024-07-04  390  		mutex_unlock(&adev->gfx.reset_sem_mutex);
178ad0e280c088 Jiadong Zhu 2024-07-04  391  
178ad0e280c088 Jiadong Zhu 2024-07-04  392  		mutex_lock(&adev->srbm_mutex);
178ad0e280c088 Jiadong Zhu 2024-07-04  393  		soc21_grbm_select(adev, me_id, pipe_id, queue_id, 0);
178ad0e280c088 Jiadong Zhu 2024-07-04  394  		/* wait till dequeue take effects */
178ad0e280c088 Jiadong Zhu 2024-07-04  395  		for (i = 0; i < adev->usec_timeout; i++) {
178ad0e280c088 Jiadong Zhu 2024-07-04  396  			if (!(RREG32_SOC15(GC, 0, regCP_GFX_HQD_ACTIVE) & 1))
178ad0e280c088 Jiadong Zhu 2024-07-04  397  				break;
178ad0e280c088 Jiadong Zhu 2024-07-04  398  			udelay(1);
178ad0e280c088 Jiadong Zhu 2024-07-04  399  		}
178ad0e280c088 Jiadong Zhu 2024-07-04  400  		if (i >= adev->usec_timeout) {
178ad0e280c088 Jiadong Zhu 2024-07-04  401  			dev_err(adev->dev, "failed to wait on gfx hqd deactivate\n");
178ad0e280c088 Jiadong Zhu 2024-07-04  402  			r = -ETIMEDOUT;
178ad0e280c088 Jiadong Zhu 2024-07-04  403  		}
178ad0e280c088 Jiadong Zhu 2024-07-04  404  
178ad0e280c088 Jiadong Zhu 2024-07-04  405  		soc21_grbm_select(adev, 0, 0, 0, 0);
178ad0e280c088 Jiadong Zhu 2024-07-04  406  		mutex_unlock(&adev->srbm_mutex);
178ad0e280c088 Jiadong Zhu 2024-07-04  407  	} else if (queue_type == AMDGPU_RING_TYPE_COMPUTE) {
178ad0e280c088 Jiadong Zhu 2024-07-04  408  		dev_info(adev->dev, "reset compute queue (%d:%d:%d)\n",
178ad0e280c088 Jiadong Zhu 2024-07-04  409  			 me_id, pipe_id, queue_id);
178ad0e280c088 Jiadong Zhu 2024-07-04  410  		mutex_lock(&adev->srbm_mutex);
178ad0e280c088 Jiadong Zhu 2024-07-04  411  		soc21_grbm_select(adev, me_id, pipe_id, queue_id, 0);
178ad0e280c088 Jiadong Zhu 2024-07-04  412  		WREG32_SOC15(GC, 0, regCP_HQD_DEQUEUE_REQUEST, 0x2);
178ad0e280c088 Jiadong Zhu 2024-07-04  413  		WREG32_SOC15(GC, 0, regSPI_COMPUTE_QUEUE_RESET, 0x1);
178ad0e280c088 Jiadong Zhu 2024-07-04  414  
178ad0e280c088 Jiadong Zhu 2024-07-04  415  		/* wait till dequeue take effects */
178ad0e280c088 Jiadong Zhu 2024-07-04 @416  		for (i = 0; i < adev->usec_timeout; i++) {
178ad0e280c088 Jiadong Zhu 2024-07-04  417  			if (!(RREG32_SOC15(GC, 0, regCP_HQD_ACTIVE) & 1))
178ad0e280c088 Jiadong Zhu 2024-07-04  418  			break;
178ad0e280c088 Jiadong Zhu 2024-07-04  419  			udelay(1);
178ad0e280c088 Jiadong Zhu 2024-07-04  420  		}
178ad0e280c088 Jiadong Zhu 2024-07-04  421  		if (i >= adev->usec_timeout) {
178ad0e280c088 Jiadong Zhu 2024-07-04  422  			dev_err(adev->dev, "failed to wait on hqd deactivate\n");
178ad0e280c088 Jiadong Zhu 2024-07-04  423  			r = -ETIMEDOUT;
178ad0e280c088 Jiadong Zhu 2024-07-04  424  		}
178ad0e280c088 Jiadong Zhu 2024-07-04  425  		soc21_grbm_select(adev, 0, 0, 0, 0);
178ad0e280c088 Jiadong Zhu 2024-07-04  426  		mutex_unlock(&adev->srbm_mutex);
178ad0e280c088 Jiadong Zhu 2024-07-04  427  	}
178ad0e280c088 Jiadong Zhu 2024-07-04  428  
178ad0e280c088 Jiadong Zhu 2024-07-04  429  	amdgpu_gfx_rlc_exit_safe_mode(adev, 0);
178ad0e280c088 Jiadong Zhu 2024-07-04  430  	return r;
178ad0e280c088 Jiadong Zhu 2024-07-04  431  }
178ad0e280c088 Jiadong Zhu 2024-07-04  432  

:::::: The code at line 416 was first introduced by commit
:::::: 178ad0e280c088f5abfa61793cb992fa120d1830 drm/amdgpu/mes11: implement mmio queue reset for gfx11

:::::: TO: Jiadong Zhu <Jiadong.Zhu@xxxxxxx>
:::::: CC: Alex Deucher <alexander.deucher@xxxxxxx>

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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux