Hi André,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm-intel/for-linux-next 
drm-intel/for-linux-next-fixes drm/drm-next linus/master v6.6-rc6 next-20231017]
[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/Andr-Almeida/drm-allow-DRM_MODE_PAGE_FLIP_ASYNC-for-atomic-commits/20231017-173047
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20231017092837.32428-5-andrealmeid%40igalia.com
patch subject: [PATCH v7 4/6] drm: Refuse to async flip with atomic prop changes
config: m68k-allyesconfig 
(https://download.01.org/0day-ci/archive/20231017/202310172311.kgvigcqy-...@intel.com/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20231017/202310172311.kgvigcqy-...@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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202310172311.kgvigcqy-...@intel.com/

All warnings (new ones prefixed by >>):

   drivers/gpu/drm/drm_atomic_uapi.c: In function 'drm_atomic_set_property':
>> drivers/gpu/drm/drm_atomic_uapi.c:1062:41: warning: unused variable 'config' 
>> [-Wunused-variable]
    1062 |                 struct drm_mode_config *config = 
&crtc->dev->mode_config;
         |                                         ^~~~~~


vim +/config +1062 drivers/gpu/drm/drm_atomic_uapi.c

  1021  
  1022  int drm_atomic_set_property(struct drm_atomic_state *state,
  1023                              struct drm_file *file_priv,
  1024                              struct drm_mode_object *obj,
  1025                              struct drm_property *prop,
  1026                              uint64_t prop_value,
  1027                              bool async_flip)
  1028  {
  1029          struct drm_mode_object *ref;
  1030          uint64_t old_val;
  1031          int ret;
  1032  
  1033          if (!drm_property_change_valid_get(prop, prop_value, &ref))
  1034                  return -EINVAL;
  1035  
  1036          switch (obj->type) {
  1037          case DRM_MODE_OBJECT_CONNECTOR: {
  1038                  struct drm_connector *connector = obj_to_connector(obj);
  1039                  struct drm_connector_state *connector_state;
  1040  
  1041                  connector_state = drm_atomic_get_connector_state(state, 
connector);
  1042                  if (IS_ERR(connector_state)) {
  1043                          ret = PTR_ERR(connector_state);
  1044                          break;
  1045                  }
  1046  
  1047                  if (async_flip) {
  1048                          ret = 
drm_atomic_connector_get_property(connector, connector_state,
  1049                                                                  prop, 
&old_val);
  1050                          ret = drm_atomic_check_prop_changes(ret, 
old_val, prop_value, prop);
  1051                          break;
  1052                  }
  1053  
  1054                  ret = drm_atomic_connector_set_property(connector,
  1055                                  connector_state, file_priv,
  1056                                  prop, prop_value);
  1057                  break;
  1058          }
  1059          case DRM_MODE_OBJECT_CRTC: {
  1060                  struct drm_crtc *crtc = obj_to_crtc(obj);
  1061                  struct drm_crtc_state *crtc_state;
> 1062                  struct drm_mode_config *config = 
> &crtc->dev->mode_config;
  1063  
  1064                  crtc_state = drm_atomic_get_crtc_state(state, crtc);
  1065                  if (IS_ERR(crtc_state)) {
  1066                          ret = PTR_ERR(crtc_state);
  1067                          break;
  1068                  }
  1069  
  1070                  if (async_flip) {
  1071                          ret = drm_atomic_crtc_get_property(crtc, 
crtc_state,
  1072                                                             prop, 
&old_val);
  1073                          ret = drm_atomic_check_prop_changes(ret, 
old_val, prop_value, prop);
  1074                          break;
  1075                  }
  1076  
  1077                  ret = drm_atomic_crtc_set_property(crtc,
  1078                                  crtc_state, prop, prop_value);
  1079                  break;
  1080          }
  1081          case DRM_MODE_OBJECT_PLANE: {
  1082                  struct drm_plane *plane = obj_to_plane(obj);
  1083                  struct drm_plane_state *plane_state;
  1084                  struct drm_mode_config *config = 
&plane->dev->mode_config;
  1085  
  1086                  plane_state = drm_atomic_get_plane_state(state, plane);
  1087                  if (IS_ERR(plane_state)) {
  1088                          ret = PTR_ERR(plane_state);
  1089                          break;
  1090                  }
  1091  
  1092                  if (async_flip && prop != config->prop_fb_id) {
  1093                          ret = drm_atomic_plane_get_property(plane, 
plane_state,
  1094                                                              prop, 
&old_val);
  1095                          ret = drm_atomic_check_prop_changes(ret, 
old_val, prop_value, prop);
  1096                          break;
  1097                  }
  1098  
  1099                  ret = drm_atomic_plane_set_property(plane,
  1100                                  plane_state, file_priv,
  1101                                  prop, prop_value);
  1102                  break;
  1103          }
  1104          default:
  1105                  drm_dbg_atomic(prop->dev, "[OBJECT:%d] has no 
properties\n", obj->id);
  1106                  ret = -EINVAL;
  1107                  break;
  1108          }
  1109  
  1110          drm_property_change_valid_put(prop, ref);
  1111          return ret;
  1112  }
  1113  

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

Reply via email to