Hi Nikolaus,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on drm-intel/for-linux-next 
drm-intel/for-linux-next-fixes drm-tip/drm-tip v6.13-rc1 next-20241204]
[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/Nikolaus-Voss/drm-bridge-fsl-ldb-fixup-mode-on-freq-mismatch/20241204-115306
base:   linus/master
patch link:    
https://lore.kernel.org/r/20241203191111.47B56F7%40mail.steuer-voss.de
patch subject: [PATCH v2] drm: bridge: fsl-ldb: fixup mode on freq mismatch
config: s390-allmodconfig 
(https://download.01.org/0day-ci/archive/20241205/202412050521.d87gwlda-...@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 
592c0fe55f6d9a811028b5f3507be91458ab2713)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20241205/202412050521.d87gwlda-...@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/202412050521.d87gwlda-...@intel.com/

All warnings (new ones prefixed by >>):

   In file included from drivers/gpu/drm/bridge/fsl-ldb.c:9:
   In file included from include/linux/module.h:19:
   In file included from include/linux/elf.h:6:
   In file included from arch/s390/include/asm/elf.h:181:
   In file included from arch/s390/include/asm/mmu_context.h:11:
   In file included from arch/s390/include/asm/pgalloc.h:18:
   In file included from include/linux/mm.h:2223:
   include/linux/vmstat.h:504:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     504 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     505 |                            item];
         |                            ~~~~
   include/linux/vmstat.h:511:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     511 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     512 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
   include/linux/vmstat.h:518:36: warning: arithmetic between different 
enumeration types ('enum node_stat_item' and 'enum lru_list') 
[-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
   include/linux/vmstat.h:524:43: warning: arithmetic between different 
enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') 
[-Wenum-enum-conversion]
     524 |         return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~ ^
     525 |                            NR_VM_NUMA_EVENT_ITEMS +
         |                            ~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/fsl-ldb.c:125:30: warning: omitting the parameter 
>> name in a function definition is a C23 extension [-Wc23-extensions]
     125 |                                 struct drm_bridge_state *,
         |                                                          ^
   drivers/gpu/drm/bridge/fsl-ldb.c:127:33: warning: omitting the parameter 
name in a function definition is a C23 extension [-Wc23-extensions]
     127 |                                 struct drm_connector_state *)
         |                                                             ^
   6 warnings generated.


vim +125 drivers/gpu/drm/bridge/fsl-ldb.c

   123  
   124  static int fsl_ldb_atomic_check(struct drm_bridge *bridge,
 > 125                                  struct drm_bridge_state *,
   126                                  struct drm_crtc_state *crtc_state,
   127                                  struct drm_connector_state *)
   128  {
   129          struct fsl_ldb *fsl_ldb = to_fsl_ldb(bridge);
   130          const struct drm_display_mode *mode = &crtc_state->mode;
   131          unsigned long requested_link_freq =
   132                  fsl_ldb_link_frequency(fsl_ldb, mode->clock);
   133          unsigned long freq = clk_round_rate(fsl_ldb->clk, 
requested_link_freq);
   134  
   135          if (freq != requested_link_freq) {
   136                  /*
   137                   * this will lead to flicker and incomplete lines on
   138                   * the attached display, adjust the CRTC clock
   139                   * accordingly.
   140                   */
   141                  struct drm_display_mode *adjusted_mode = 
&crtc_state->adjusted_mode;
   142                  int pclk = freq / fsl_ldb_link_frequency(fsl_ldb, 1);
   143  
   144                  if (adjusted_mode->clock != pclk) {
   145                          dev_warn(fsl_ldb->dev, "Adjusted pixel clk to 
match LDB clk (%d kHz -> %d kHz)!\n",
   146                                   adjusted_mode->clock, pclk);
   147  
   148                          adjusted_mode->clock = pclk;
   149                          adjusted_mode->crtc_clock = pclk;
   150                  }
   151          }
   152  
   153          return 0;
   154  }
   155  

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

Reply via email to