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