Re: [PATCH] drm: amd: This is a patch to the amdgpu_drv.c file that fixes some warnings and errors found by the checkpatch.pl tool

From: kernel test robot
Date: Sun Sep 04 2022 - 07:05:41 EST


Hi Jingyu,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.0-rc3 next-20220901]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Jingyu-Wang/drm-amd-This-is-a-patch-to-the-amdgpu_drv-c-file-that-fixes-some-warnings-and-errors-found-by-the-checkpatch-pl-tool/20220904-165633
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20220904/202209041839.rob9XU3V-lkp@xxxxxxxxx/config)
compiler: arceb-elf-gcc (GCC) 12.1.0
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
# https://github.com/intel-lab-lkp/linux/commit/639ddf37854dd71c3ee836591db7518b146ae8ae
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Jingyu-Wang/drm-amd-This-is-a-patch-to-the-amdgpu_drv-c-file-that-fixes-some-warnings-and-errors-found-by-the-checkpatch-pl-tool/20220904-165633
git checkout 639ddf37854dd71c3ee836591db7518b146ae8ae
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=arc SHELL=/bin/bash drivers/gpu/drm/amd/amdgpu/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:290:17: warning: missing terminating " character
290 | "for passthrough or sriov, 10000 for all jobs.
| ^
In file included from include/linux/module.h:22,
from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from include/drm/drm_print.h:32,
from include/drm/drm_mm.h:51,
from include/drm/drm_vma_manager.h:26,
from include/drm/drm_gem.h:40,
from drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:28:
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:290:17: error: missing terminating " character
290 | "for passthrough or sriov, 10000 for all jobs.
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/moduleparam.h:26:61: note: in definition of macro '__MODULE_INFO'
26 | = __MODULE_INFO_PREFIX __stringify(tag) "=" info
| ^~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:289:1: note: in expansion of macro 'MODULE_PARM_DESC'
289 | MODULE_PARM_DESC(lockup_timeout, "GPU lockup timeout in ms (default: for bare metal 10000 for non-compute jobs and 60000 for compute jobs; "
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:291:17: error: expected ',' or ';' before numeric constant
291 | 0: keep default value. negative: infinity timeout),
| ^
include/linux/moduleparam.h:26:61: note: in definition of macro '__MODULE_INFO'
26 | = __MODULE_INFO_PREFIX __stringify(tag) "=" info
| ^~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:289:1: note: in expansion of macro 'MODULE_PARM_DESC'
289 | MODULE_PARM_DESC(lockup_timeout, "GPU lockup timeout in ms (default: for bare metal 10000 for non-compute jobs and 60000 for compute jobs; "
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:292:83: warning: missing terminating " character
292 | format: for bare metal [Non-Compute] or [GFX,Compute,SDMA,Video]; "
| ^
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:292:83: error: missing terminating " character
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:293:17: error: expected identifier or '(' before string constant
293 | "for passthrough or sriov [all jobs] or [GFX,Compute,SDMA,Video].");
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:604:9: warning: missing terminating " character
604 | "reserve gtt for smu debug usage, 0 = disable,
| ^
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:605:76: warning: missing terminating " character
605 | 0x1 = 256Mbyte, 0x2 = 512Mbyte, 0x4 = 1 Gbyte, 0x8 = 2GByte");
| ^
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:2799:45: error: unterminated argument list invoking macro "MODULE_PARM_DESC"
2799 | MODULE_LICENSE("GPL and additional rights");
| ^
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:603:1: error: expected '=', ',', ';', 'asm' or '__attribute__' at end of input
603 | MODULE_PARM_DESC(smu_memory_pool_size,
| ^~~~~~~~~~~~~~~~
>> drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c:186:13: warning: 'amdgpu_drv_delayed_reset_work_handler' used but never defined
186 | static void amdgpu_drv_delayed_reset_work_handler(struct work_struct *work);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +290 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c

185
> 186 static void amdgpu_drv_delayed_reset_work_handler(struct work_struct *work);
187
188 struct amdgpu_mgpu_info mgpu_info = {
189 .mutex = __MUTEX_INITIALIZER(mgpu_info.mutex),
190 .delayed_reset_work = __DELAYED_WORK_INITIALIZER(
191 mgpu_info.delayed_reset_work,
192 amdgpu_drv_delayed_reset_work_handler, 0),
193 };
194 int amdgpu_ras_enable = -1;
195 uint amdgpu_ras_mask = 0xffffffff;
196 int amdgpu_bad_page_threshold = -1;
197 struct amdgpu_watchdog_timer amdgpu_watchdog_timer = {
198 .timeout_fatal_disable = false,
199 .period = 0x0, /* default to 0x0 (timeout disable) */
200 };
201
202 /**
203 * DOC: vramlimit (int)
204 * Restrict the total amount of VRAM in MiB for testing. The default is 0 (Use full VRAM).
205 */
206 MODULE_PARM_DESC(vramlimit, "Restrict VRAM for testing, in megabytes");
207 module_param_named(vramlimit, amdgpu_vram_limit, int, 0600);
208
209 /**
210 * DOC: vis_vramlimit (int)
211 * Restrict the amount of CPU visible VRAM in MiB for testing. The default is 0 (Use full CPU visible VRAM).
212 */
213 MODULE_PARM_DESC(vis_vramlimit, "Restrict visible VRAM for testing, in megabytes");
214 module_param_named(vis_vramlimit, amdgpu_vis_vram_limit, int, 0444);
215
216 /**
217 * DOC: gartsize (uint)
218 * Restrict the size of GART in Mib (32, 64, etc.) for testing. The default is -1 (The size depends on asic).
219 */
220 MODULE_PARM_DESC(gartsize, "Size of GART to setup in megabytes (32, 64, etc., -1=auto)");
221 module_param_named(gartsize, amdgpu_gart_size, uint, 0600);
222
223 /**
224 * DOC: gttsize (int)
225 * Restrict the size of GTT domain in MiB for testing. The default is -1 (It's VRAM size if 3GB < VRAM < 3/4 RAM,
226 * otherwise 3/4 RAM size).
227 */
228 MODULE_PARM_DESC(gttsize, "Size of the GTT domain in megabytes (-1 = auto)");
229 module_param_named(gttsize, amdgpu_gtt_size, int, 0600);
230
231 /**
232 * DOC: moverate (int)
233 * Set maximum buffer migration rate in MB/s. The default is -1 (8 MB/s).
234 */
235 MODULE_PARM_DESC(moverate, "Maximum buffer migration rate in MB/s. (32, 64, etc., -1=auto, 0=1=disabled)");
236 module_param_named(moverate, amdgpu_moverate, int, 0600);
237
238 /**
239 * DOC: audio (int)
240 * Set HDMI/DPAudio. Only affects non-DC display handling. The default is -1 (Enabled), set 0 to disabled it.
241 */
242 MODULE_PARM_DESC(audio, "Audio enable (-1 = auto, 0 = disable, 1 = enable)");
243 module_param_named(audio, amdgpu_audio, int, 0444);
244
245 /**
246 * DOC: disp_priority (int)
247 * Set display Priority (1 = normal, 2 = high). Only affects non-DC display handling. The default is 0 (auto).
248 */
249 MODULE_PARM_DESC(disp_priority, "Display Priority (0 = auto, 1 = normal, 2 = high)");
250 module_param_named(disp_priority, amdgpu_disp_priority, int, 0444);
251
252 /**
253 * DOC: hw_i2c (int)
254 * To enable hw i2c engine. Only affects non-DC display handling. The default is 0 (Disabled).
255 */
256 MODULE_PARM_DESC(hw_i2c, "hw i2c engine enable (0 = disable)");
257 module_param_named(hw_i2c, amdgpu_hw_i2c, int, 0444);
258
259 /**
260 * DOC: pcie_gen2 (int)
261 * To disable PCIE Gen2/3 mode (0 = disable, 1 = enable). The default is -1 (auto, enabled).
262 */
263 MODULE_PARM_DESC(pcie_gen2, "PCIE Gen2 mode (-1 = auto, 0 = disable, 1 = enable)");
264 module_param_named(pcie_gen2, amdgpu_pcie_gen2, int, 0444);
265
266 /**
267 * DOC: msi (int)
268 * To disable Message Signaled Interrupts (MSI) functionality (1 = enable, 0 = disable). The default is -1 (auto, enabled).
269 */
270 MODULE_PARM_DESC(msi, "MSI support (1 = enable, 0 = disable, -1 = auto)");
271 module_param_named(msi, amdgpu_msi, int, 0444);
272
273 /**
274 * DOC: lockup_timeout (string)
275 * Set GPU scheduler timeout value in ms.
276 *
277 * The format can be [Non-Compute] or [GFX,Compute,SDMA,Video]. That is there can be one or
278 * multiple values specified. 0 and negative values are invalidated. They will be adjusted
279 * to the default timeout.
280 *
281 * - With one value specified, the setting will apply to all non-compute jobs.
282 * - With multiple values specified, the first one will be for GFX.
283 * The second one is for Compute. The third and fourth ones are
284 * for SDMA and Video.
285 *
286 * By default(with no lockup_timeout settings), the timeout for all non-compute(GFX, SDMA and Video)
287 * jobs is 10000. The timeout for compute is 60000.
288 */
289 MODULE_PARM_DESC(lockup_timeout, "GPU lockup timeout in ms (default: for bare metal 10000 for non-compute jobs and 60000 for compute jobs; "
> 290 "for passthrough or sriov, 10000 for all jobs.
291 0: keep default value. negative: infinity timeout),
292 format: for bare metal [Non-Compute] or [GFX,Compute,SDMA,Video]; "
293 "for passthrough or sriov [all jobs] or [GFX,Compute,SDMA,Video].");
294 module_param_string(lockup_timeout, amdgpu_lockup_timeout, sizeof(amdgpu_lockup_timeout), 0444);
295

--
0-DAY CI Kernel Test Service
https://01.org/lkp