Hi Ran,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm-misc/drm-misc-next]
[also build test ERROR on linus/master v6.5-rc4 next-20230802]
[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/Ran-Sun/drm-amd-display-Clean-up-errors-in-dmub_cmd-h/20230802-142950
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20230802062920.11513-1-sunran001%40208suo.com
patch subject: [PATCH] drm/amd/display: Clean up errors in dmub_cmd.h
config: alpha-randconfig-r036-20230801 
(https://download.01.org/0day-ci/archive/20230802/202308022342.q4mixfgl-...@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.3.0
reproduce: 
(https://download.01.org/0day-ci/archive/20230802/202308022342.q4mixfgl-...@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/202308022342.q4mixfgl-...@intel.com/

All errors (new ones prefixed by >>):

   In file included from 
drivers/gpu/drm/amd/amdgpu/../display/dc/inc/core_types.h:40,
                    from drivers/gpu/drm/amd/amdgpu/../display/dc/inc/link.h:78,
                    from 
drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_hpo_dp.h:29,
                    from 
drivers/gpu/drm/amd/amdgpu/../display/dc/link/hwss/link_hwss_hpo_dp.c:25:
>> drivers/gpu/drm/amd/amdgpu/../display/dmub/inc/dmub_cmd.h:1079:33: error: 
>> flexible array member not at end of struct
    1079 |                         uint8_t padding[];
         |                                 ^~~~~~~
--
   In file included from 
drivers/gpu/drm/amd/amdgpu/../display/dmub/src/../dmub_srv.h:67,
                    from 
drivers/gpu/drm/amd/amdgpu/../display/dmub/src/dmub_dcn301.c:26:
>> drivers/gpu/drm/amd/amdgpu/../display/dmub/src/../inc/dmub_cmd.h:1079:33: 
>> error: flexible array member not at end of struct
    1079 |                         uint8_t padding[];
         |                                 ^~~~~~~


vim +1079 drivers/gpu/drm/amd/amdgpu/../display/dmub/inc/dmub_cmd.h

  1038  
  1039  /* Per pipe struct which stores the MCLK switch mode
  1040   * data to be sent to DMUB.
  1041   * Named "v2" for now -- once FPO and SUBVP are fully merged
  1042   * the type name can be updated
  1043   */
  1044  struct dmub_cmd_fw_assisted_mclk_switch_pipe_data_v2 {
  1045          union {
  1046                  struct {
  1047                          uint32_t pix_clk_100hz;
  1048                          uint16_t main_vblank_start;
  1049                          uint16_t main_vblank_end;
  1050                          uint16_t mall_region_lines;
  1051                          uint16_t prefetch_lines;
  1052                          uint16_t prefetch_to_mall_start_lines;
  1053                          uint16_t processing_delay_lines;
  1054                          uint16_t htotal; // required to calculate line 
time for multi-display cases
  1055                          uint16_t vtotal;
  1056                          uint8_t main_pipe_index;
  1057                          uint8_t phantom_pipe_index;
  1058                          /* Since the microschedule is calculated in 
terms of OTG lines,
  1059                           * include any scaling factors to make sure 
when we get accurate
  1060                           * conversion when programming MALL_START_LINE 
(which is in terms
  1061                           * of HUBP lines). If 4K is being downscaled to 
1080p, scale factor
  1062                           * is 1/2 (numerator = 1, denominator = 2).
  1063                           */
  1064                          uint8_t scale_factor_numerator;
  1065                          uint8_t scale_factor_denominator;
  1066                          uint8_t is_drr;
  1067                          uint8_t main_split_pipe_index;
  1068                          uint8_t phantom_split_pipe_index;
  1069                  } subvp_data;
  1070  
  1071                  struct {
  1072                          uint32_t pix_clk_100hz;
  1073                          uint16_t vblank_start;
  1074                          uint16_t vblank_end;
  1075                          uint16_t vstartup_start;
  1076                          uint16_t vtotal;
  1077                          uint16_t htotal;
  1078                          uint8_t vblank_pipe_index;
> 1079                          uint8_t padding[];
  1080                          struct {
  1081                                  uint8_t drr_in_use;
  1082                                  uint8_t drr_window_size_ms;     // 
Indicates largest VMIN/VMAX adjustment per frame
  1083                                  uint16_t min_vtotal_supported;  // Min 
VTOTAL that supports switching in VBLANK
  1084                                  uint16_t max_vtotal_supported;  // Max 
VTOTAL that can support SubVP static scheduling
  1085                                  uint8_t use_ramping;            // Use 
ramping or not
  1086                                  uint8_t drr_vblank_start_margin;
  1087                          } drr_info;                             // DRR 
considered as part of SubVP + VBLANK case
  1088                  } vblank_data;
  1089          } pipe_config;
  1090  
  1091          /* - subvp_data in the union (pipe_config) takes up 27 bytes.
  1092           * - Make the "mode" field a uint8_t instead of enum so we only 
use 1 byte (only
  1093           *   for the DMCUB command, cast to enum once we populate the 
DMCUB subvp state).
  1094           */
  1095          uint8_t mode; // enum mclk_switch_mode
  1096  };
  1097  

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

Reply via email to