lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202411040601.DGJciccG-lkp@intel.com>
Date: Mon, 4 Nov 2024 06:38:18 +0800
From: kernel test robot <lkp@...el.com>
To: Rodrigo Siqueira <Rodrigo.Siqueira@....com>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
	linux-kernel@...r.kernel.org,
	Alex Deucher <alexander.deucher@....com>
Subject: drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6211:13:
 warning: stack frame size (3288) exceeds limit (2048) in
 'dml_prefetch_check'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a8cc7432728d019a10cb412401ebc15ed7504289
commit: b141fa036c901303ca5659cc22e9c08f8b097892 drm/amd/display: Reduce stack size by splitting function
date:   1 year ago
config: x86_64-buildonly-randconfig-002-20241104 (https://download.01.org/0day-ci/archive/20241104/202411040601.DGJciccG-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241104/202411040601.DGJciccG-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411040601.DGJciccG-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:25:
   In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.h:29:
   In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core_structs.h:28:
   In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_lib_defines.h:43:
   In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/dml_depedencies.h:30:
   In file included from drivers/gpu/drm/amd/amdgpu/../display/dc/os_types.h:31:
   In file included from include/linux/kgdb.h:19:
   In file included from include/linux/kprobes.h:28:
   In file included from include/linux/ftrace.h:13:
   In file included from include/linux/kallsyms.h:13:
   In file included from include/linux/mm.h:2168:
   include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     522 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6699:12: warning: stack frame size (2904) exceeds limit (2048) in 'dml_core_mode_support' [-Wframe-larger-than]
    6699 | dml_bool_t dml_core_mode_support(struct display_mode_lib_st *mode_lib)
         |            ^
>> drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:6211:13: warning: stack frame size (3288) exceeds limit (2048) in 'dml_prefetch_check' [-Wframe-larger-than]
    6211 | static void dml_prefetch_check(struct display_mode_lib_st *mode_lib)
         |             ^
   drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c:8268:6: warning: stack frame size (2616) exceeds limit (2048) in 'dml_core_mode_programming' [-Wframe-larger-than]
    8268 | void dml_core_mode_programming(struct display_mode_lib_st *mode_lib, const struct dml_clk_cfg_st *clk_cfg)
         |      ^
   4 warnings generated.


vim +/dml_prefetch_check +6211 drivers/gpu/drm/amd/amdgpu/../display/dc/dml2/display_mode_core.c

  6210	
> 6211	static void dml_prefetch_check(struct display_mode_lib_st *mode_lib)
  6212	{
  6213		struct dml_core_mode_support_locals_st *s = &mode_lib->scratch.dml_core_mode_support_locals;
  6214		struct CalculatePrefetchSchedule_params_st *CalculatePrefetchSchedule_params = &mode_lib->scratch.CalculatePrefetchSchedule_params;
  6215		struct CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport_params_st *CalculateWatermarks_params = &mode_lib->scratch.CalculateWatermarksMALLUseAndDRAMSpeedChangeSupport_params;
  6216		struct DmlPipe *myPipe;
  6217		dml_uint_t j, k;
  6218	
  6219		for (j = 0; j < 2; ++j) {
  6220			mode_lib->ms.TimeCalc = 24 / mode_lib->ms.ProjectedDCFCLKDeepSleep[j];
  6221	
  6222			for (k = 0; k < mode_lib->ms.num_active_planes; ++k) {
  6223				mode_lib->ms.NoOfDPPThisState[k] = mode_lib->ms.NoOfDPP[j][k];
  6224				mode_lib->ms.swath_width_luma_ub_this_state[k] = mode_lib->ms.swath_width_luma_ub_all_states[j][k];
  6225				mode_lib->ms.swath_width_chroma_ub_this_state[k] = mode_lib->ms.swath_width_chroma_ub_all_states[j][k];
  6226				mode_lib->ms.SwathWidthYThisState[k] = mode_lib->ms.SwathWidthYAllStates[j][k];
  6227				mode_lib->ms.SwathWidthCThisState[k] = mode_lib->ms.SwathWidthCAllStates[j][k];
  6228				mode_lib->ms.SwathHeightYThisState[k] = mode_lib->ms.SwathHeightYAllStates[j][k];
  6229				mode_lib->ms.SwathHeightCThisState[k] = mode_lib->ms.SwathHeightCAllStates[j][k];
  6230				mode_lib->ms.UnboundedRequestEnabledThisState = mode_lib->ms.UnboundedRequestEnabledAllStates[j];
  6231				mode_lib->ms.CompressedBufferSizeInkByteThisState = mode_lib->ms.CompressedBufferSizeInkByteAllStates[j];
  6232				mode_lib->ms.DETBufferSizeInKByteThisState[k] = mode_lib->ms.DETBufferSizeInKByteAllStates[j][k];
  6233				mode_lib->ms.DETBufferSizeYThisState[k] = mode_lib->ms.DETBufferSizeYAllStates[j][k];
  6234				mode_lib->ms.DETBufferSizeCThisState[k] = mode_lib->ms.DETBufferSizeCAllStates[j][k];
  6235			}
  6236	
  6237			mode_lib->ms.support.VActiveBandwithSupport[j] = CalculateVActiveBandwithSupport(
  6238				mode_lib->ms.num_active_planes,
  6239				mode_lib->ms.ReturnBWPerState[j],
  6240				mode_lib->ms.NotUrgentLatencyHiding,
  6241				mode_lib->ms.ReadBandwidthLuma,
  6242				mode_lib->ms.ReadBandwidthChroma,
  6243				mode_lib->ms.cursor_bw,
  6244				mode_lib->ms.meta_row_bandwidth_this_state,
  6245				mode_lib->ms.dpte_row_bandwidth_this_state,
  6246				mode_lib->ms.NoOfDPPThisState,
  6247				mode_lib->ms.UrgentBurstFactorLuma,
  6248				mode_lib->ms.UrgentBurstFactorChroma,
  6249				mode_lib->ms.UrgentBurstFactorCursor);
  6250	
  6251			s->VMDataOnlyReturnBWPerState = dml_get_return_bw_mbps_vm_only(
  6252																		&mode_lib->ms.soc,
  6253																		mode_lib->ms.state.use_ideal_dram_bw_strobe,
  6254																		mode_lib->ms.cache_display_cfg.plane.HostVMEnable,
  6255																		mode_lib->ms.DCFCLKState[j],
  6256																		mode_lib->ms.state.fabricclk_mhz,
  6257																		mode_lib->ms.state.dram_speed_mts);
  6258	
  6259			s->HostVMInefficiencyFactor = 1;
  6260			if (mode_lib->ms.cache_display_cfg.plane.GPUVMEnable && mode_lib->ms.cache_display_cfg.plane.HostVMEnable)
  6261				s->HostVMInefficiencyFactor = mode_lib->ms.ReturnBWPerState[j] / s->VMDataOnlyReturnBWPerState;
  6262	
  6263			mode_lib->ms.ExtraLatency = CalculateExtraLatency(
  6264					mode_lib->ms.soc.round_trip_ping_latency_dcfclk_cycles,
  6265					s->ReorderingBytes,
  6266					mode_lib->ms.DCFCLKState[j],
  6267					mode_lib->ms.TotalNumberOfActiveDPP[j],
  6268					mode_lib->ms.ip.pixel_chunk_size_kbytes,
  6269					mode_lib->ms.TotalNumberOfDCCActiveDPP[j],
  6270					mode_lib->ms.ip.meta_chunk_size_kbytes,
  6271					mode_lib->ms.ReturnBWPerState[j],
  6272					mode_lib->ms.cache_display_cfg.plane.GPUVMEnable,
  6273					mode_lib->ms.cache_display_cfg.plane.HostVMEnable,
  6274					mode_lib->ms.num_active_planes,
  6275					mode_lib->ms.NoOfDPPThisState,
  6276					mode_lib->ms.dpte_group_bytes,
  6277					s->HostVMInefficiencyFactor,
  6278					mode_lib->ms.soc.hostvm_min_page_size_kbytes,
  6279					mode_lib->ms.cache_display_cfg.plane.HostVMMaxPageTableLevels);
  6280	
  6281			s->NextMaxVStartup = s->MaxVStartupAllPlanes[j];
  6282			s->MaxVStartup = 0;
  6283			s->AllPrefetchModeTested = true;
  6284			for (k = 0; k <= mode_lib->ms.num_active_planes - 1; k++) {
  6285				CalculatePrefetchMode(mode_lib->ms.policy.AllowForPStateChangeOrStutterInVBlank[k], &s->MinPrefetchMode[k], &s->MaxPrefetchMode[k]);
  6286				s->NextPrefetchMode[k] = s->MinPrefetchMode[k];
  6287			}
  6288	
  6289			do {
  6290				s->MaxVStartup = s->NextMaxVStartup;
  6291				s->AllPrefetchModeTested = true;
  6292	
  6293				for (k = 0; k <= mode_lib->ms.num_active_planes - 1; k++) {
  6294					mode_lib->ms.PrefetchMode[k] = s->NextPrefetchMode[k];
  6295					mode_lib->ms.TWait = CalculateTWait(
  6296									mode_lib->ms.PrefetchMode[k],
  6297									mode_lib->ms.cache_display_cfg.plane.UseMALLForPStateChange[k],
  6298									mode_lib->ms.policy.SynchronizeDRRDisplaysForUCLKPStateChangeFinal,
  6299									mode_lib->ms.cache_display_cfg.timing.DRRDisplay[k],
  6300									mode_lib->ms.state.dram_clock_change_latency_us,
  6301									mode_lib->ms.state.fclk_change_latency_us,
  6302									mode_lib->ms.UrgLatency,
  6303									mode_lib->ms.state.sr_enter_plus_exit_time_us);
  6304	
  6305					myPipe = &s->myPipe;
  6306					myPipe->Dppclk = mode_lib->ms.RequiredDPPCLKPerSurface[j][k];
  6307					myPipe->Dispclk = mode_lib->ms.RequiredDISPCLK[j];
  6308					myPipe->PixelClock = mode_lib->ms.cache_display_cfg.timing.PixelClock[k];
  6309					myPipe->DCFClkDeepSleep = mode_lib->ms.ProjectedDCFCLKDeepSleep[j];
  6310					myPipe->DPPPerSurface = mode_lib->ms.NoOfDPP[j][k];
  6311					myPipe->ScalerEnabled = mode_lib->ms.cache_display_cfg.plane.ScalerEnabled[k];
  6312					myPipe->SourceScan = mode_lib->ms.cache_display_cfg.plane.SourceScan[k];
  6313					myPipe->BlockWidth256BytesY = mode_lib->ms.Read256BlockWidthY[k];
  6314					myPipe->BlockHeight256BytesY = mode_lib->ms.Read256BlockHeightY[k];
  6315					myPipe->BlockWidth256BytesC = mode_lib->ms.Read256BlockWidthC[k];
  6316					myPipe->BlockHeight256BytesC = mode_lib->ms.Read256BlockHeightC[k];
  6317					myPipe->InterlaceEnable = mode_lib->ms.cache_display_cfg.timing.Interlace[k];
  6318					myPipe->NumberOfCursors = mode_lib->ms.cache_display_cfg.plane.NumberOfCursors[k];
  6319					myPipe->VBlank = mode_lib->ms.cache_display_cfg.timing.VTotal[k] - mode_lib->ms.cache_display_cfg.timing.VActive[k];
  6320					myPipe->HTotal = mode_lib->ms.cache_display_cfg.timing.HTotal[k];
  6321					myPipe->HActive = mode_lib->ms.cache_display_cfg.timing.HActive[k];
  6322					myPipe->DCCEnable = mode_lib->ms.cache_display_cfg.surface.DCCEnable[k];
  6323					myPipe->ODMMode = mode_lib->ms.ODMModePerState[k];
  6324					myPipe->SourcePixelFormat = mode_lib->ms.cache_display_cfg.surface.SourcePixelFormat[k];
  6325					myPipe->BytePerPixelY = mode_lib->ms.BytePerPixelY[k];
  6326					myPipe->BytePerPixelC = mode_lib->ms.BytePerPixelC[k];
  6327					myPipe->ProgressiveToInterlaceUnitInOPP = mode_lib->ms.ip.ptoi_supported;
  6328	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ