Hi Vinod, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm/drm-next] [also build test WARNING on drm-exynos/exynos-drm-next drm-tip/drm-tip tegra-drm/drm/tegra/for-next linus/master v5.19-rc3 next-20220622] [cannot apply to drm-intel/for-linux-next airlied/drm-next] [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] url: https://github.com/intel-lab-lkp/linux/commits/Vinod-Polimera/drm-msm-dp-Add-basic-PSR-support-for-eDP/20220621-195406 base: git://anongit.freedesktop.org/drm/drm drm-next config: arm64-randconfig-r025-20220622 (https://download.01.org/0day-ci/archive/20220623/202206230551.H0oXeV2E-lkp@xxxxxxxxx/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 8b8d126598ce7bd5243da7f94f69fa1104288bee) 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/2c3c31343481a4faf2402cf513c85fb7d75ce205 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Vinod-Polimera/drm-msm-dp-Add-basic-PSR-support-for-eDP/20220621-195406 git checkout 2c3c31343481a4faf2402cf513c85fb7d75ce205 # 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 SHELL=/bin/bash 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/msm/disp/dpu1/dpu_crtc.c:1064:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] drm_for_each_encoder_mask(encoder, crtc->dev, crtc->state->encoder_mask) ^ include/drm/drm_encoder.h:314:3: note: expanded from macro 'drm_for_each_encoder_mask' for_each_if ((encoder_mask) & drm_encoder_mask(encoder)) ^ include/drm/drm_util.h:63:53: note: expanded from macro 'for_each_if' #define for_each_if(condition) if (!(condition)) {} else ^ 1 warning generated. vim +1064 drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1032 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1033 static void dpu_crtc_enable(struct drm_crtc *crtc, 351f950db4ab28 Maxime Ripard 2020-10-08 1034 struct drm_atomic_state *state) 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1035 { e12e5263bf1d8d Rob Clark 2020-09-07 1036 struct dpu_crtc *dpu_crtc = to_dpu_crtc(crtc); 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1037 struct drm_encoder *encoder; 35c719da95c0d2 Rob Clark 2020-08-11 1038 bool request_bandwidth = false; 2c3c31343481a4 Vinod Polimera 2022-06-21 1039 struct drm_crtc_state *old_crtc_state; 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1040 2c3c31343481a4 Vinod Polimera 2022-06-21 1041 old_crtc_state = drm_atomic_get_old_crtc_state(state, crtc); b77d0f0d4ee757 Sean Paul 2018-11-16 1042 pm_runtime_get_sync(crtc->dev->dev); b77d0f0d4ee757 Sean Paul 2018-11-16 1043 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1044 DRM_DEBUG_KMS("crtc%d\n", crtc->base.id); 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1045 241b507c166fef Rob Clark 2019-08-20 1046 drm_for_each_encoder_mask(encoder, crtc->dev, crtc->state->encoder_mask) { 241b507c166fef Rob Clark 2019-08-20 1047 /* in video mode, we hold an extra bandwidth reference 241b507c166fef Rob Clark 2019-08-20 1048 * as we cannot drop bandwidth at frame-done if any 241b507c166fef Rob Clark 2019-08-20 1049 * crtc is being used in video mode. 241b507c166fef Rob Clark 2019-08-20 1050 */ 241b507c166fef Rob Clark 2019-08-20 1051 if (dpu_encoder_get_intf_mode(encoder) == INTF_MODE_VIDEO) 241b507c166fef Rob Clark 2019-08-20 1052 request_bandwidth = true; 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1053 dpu_encoder_register_frame_event_callback(encoder, 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1054 dpu_crtc_frame_event_cb, (void *)crtc); 241b507c166fef Rob Clark 2019-08-20 1055 } 241b507c166fef Rob Clark 2019-08-20 1056 241b507c166fef Rob Clark 2019-08-20 1057 if (request_bandwidth) 241b507c166fef Rob Clark 2019-08-20 1058 atomic_inc(&_dpu_crtc_get_kms(crtc)->bandwidth_ref); 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1059 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1060 trace_dpu_crtc_enable(DRMID(crtc), true, dpu_crtc); 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1061 dpu_crtc->enabled = true; 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1062 2c3c31343481a4 Vinod Polimera 2022-06-21 1063 if (!old_crtc_state->self_refresh_active) a796ba2cb3dde3 Sean Paul 2018-11-16 @1064 drm_for_each_encoder_mask(encoder, crtc->dev, crtc->state->encoder_mask) a796ba2cb3dde3 Sean Paul 2018-11-16 1065 dpu_encoder_assign_crtc(encoder, crtc); 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1066 2f2eb723b50b4d Rajesh Yadav 2018-07-13 1067 /* Enable/restore vblank irq handling */ 2f2eb723b50b4d Rajesh Yadav 2018-07-13 1068 drm_crtc_vblank_on(crtc); 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1069 } 25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1070 -- 0-DAY CI Kernel Test Service https://01.org/lkp