Re: [PATCH] amdgpu: add a filter condition when set brightness

From: kernel test robot
Date: Mon Feb 27 2023 - 07:18:50 EST


Hi Yuanzhi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on linus/master v6.2 next-20230227]
[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/Yuanzhi-Wang/amdgpu-add-a-filter-condition-when-set-brightness/20230227-154108
base: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link: https://lore.kernel.org/r/20230227073953.326-1-wangyuanzhi%40uniontech.com
patch subject: [PATCH] amdgpu: add a filter condition when set brightness
config: arm64-randconfig-r012-20230226 (https://download.01.org/0day-ci/archive/20230227/202302272051.KDJqRyl5-lkp@xxxxxxxxx/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project db89896bbbd2251fff457699635acbbedeead27f)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://github.com/intel-lab-lkp/linux/commit/95d9579e31d0b601aa1422cf767ca5138d3efcee
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Yuanzhi-Wang/amdgpu-add-a-filter-condition-when-set-brightness/20230227-154108
git checkout 95d9579e31d0b601aa1422cf767ca5138d3efcee
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 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>
| Link: https://lore.kernel.org/oe-kbuild-all/202302272051.KDJqRyl5-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:449:15: warning: missing terminating '"' character [-Winvalid-pp-token]
DRM_WARN("old brightness %d is greater than ACPI brightness
^
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:450:11: warning: missing terminating '"' character [-Winvalid-pp-token]
%d\n", old_brightness, req.backlight_level);
^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:449:6: error: unterminated function-like macro invocation
DRM_WARN("old brightness %d is greater than ACPI brightness
^
include/drm/drm_print.h:543:9: note: macro 'DRM_WARN' defined here
#define DRM_WARN(fmt, ...) \
^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:1105:28: error: expected expression
#endif /* CONFIG_SUSPEND */
^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:1105:28: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:448:5: note: previous statement is here
if (old_brightness > req.backlight_level)
^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:1105:28: error: expected '}'
#endif /* CONFIG_SUSPEND */
^
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:439:18: note: to match this '{'
if (atif->bd) {
^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:1105:28: error: expected '}'
#endif /* CONFIG_SUSPEND */
^
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:438:59: note: to match this '{'
if (req.pending & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST) {
^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:1105:28: error: expected '}'
#endif /* CONFIG_SUSPEND */
^
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:427:38: note: to match this '{'
if (atif->functions.sbios_requests) {
^
>> drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:1105:28: error: expected '}'
#endif /* CONFIG_SUSPEND */
^
drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c:406:1: note: to match this '{'
{
^
3 warnings and 6 errors generated.


vim +449 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c

391
392 /**
393 * amdgpu_atif_handler - handle ATIF notify requests
394 *
395 * @adev: amdgpu_device pointer
396 * @event: atif sbios request struct
397 *
398 * Checks the acpi event and if it matches an atif event,
399 * handles it.
400 *
401 * Returns:
402 * NOTIFY_BAD or NOTIFY_DONE, depending on the event.
403 */
404 static int amdgpu_atif_handler(struct amdgpu_device *adev,
405 struct acpi_bus_event *event)
406 {
407 struct amdgpu_atif *atif = &amdgpu_acpi_priv.atif;
408 int count;
409 int old_brightness;
410
411 DRM_DEBUG_DRIVER("event, device_class = %s, type = %#x\n",
412 event->device_class, event->type);
413
414 if (strcmp(event->device_class, ACPI_VIDEO_CLASS) != 0)
415 return NOTIFY_DONE;
416
417 /* Is this actually our event? */
418 if (!atif->notification_cfg.enabled ||
419 event->type != atif->notification_cfg.command_code) {
420 /* These events will generate keypresses otherwise */
421 if (event->type == ACPI_VIDEO_NOTIFY_PROBE)
422 return NOTIFY_BAD;
423 else
424 return NOTIFY_DONE;
425 }
426
427 if (atif->functions.sbios_requests) {
428 struct atif_sbios_requests req;
429
430 /* Check pending SBIOS requests */
431 count = amdgpu_atif_get_sbios_requests(atif, &req);
432
433 if (count <= 0)
434 return NOTIFY_BAD;
435
436 DRM_DEBUG_DRIVER("ATIF: %d pending SBIOS requests\n", count);
437
438 if (req.pending & ATIF_PANEL_BRIGHTNESS_CHANGE_REQUEST) {
439 if (atif->bd) {
440 DRM_DEBUG_DRIVER("Changing brightness to %d\n",
441 req.backlight_level);
442 /*
443 * XXX backlight_device_set_brightness() is
444 * hardwired to post BACKLIGHT_UPDATE_SYSFS.
445 * It probably should accept 'reason' parameter.
446 */
447 old_brightness = backlight_get_brightness(atif->bd);
448 if (old_brightness > req.backlight_level)
> 449 DRM_WARN("old brightness %d is greater than ACPI brightness
450 %d\n", old_brightness, req.backlight_level);
451 else
452 backlight_device_set_brightness(atif->bd,
453 req.backlight_level);
454 }
455 }
456
457 if (req.pending & ATIF_DGPU_DISPLAY_EVENT) {
458 if (adev->flags & AMD_IS_PX) {
459 pm_runtime_get_sync(adev_to_drm(adev)->dev);
460 /* Just fire off a uevent and let userspace tell us what to do */
461 drm_helper_hpd_irq_event(adev_to_drm(adev));
462 pm_runtime_mark_last_busy(adev_to_drm(adev)->dev);
463 pm_runtime_put_autosuspend(adev_to_drm(adev)->dev);
464 }
465 }
466 /* TODO: check other events */
467 }
468
469 /* We've handled the event, stop the notifier chain. The ACPI interface
470 * overloads ACPI_VIDEO_NOTIFY_PROBE, we don't want to send that to
471 * userspace if the event was generated only to signal a SBIOS
472 * request.
473 */
474 return NOTIFY_BAD;
475 }
476

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