[PATCH v2] drm: bridge: fsl-ldb: fixup mode on freq mismatch
kernel test robot
lkp at intel.com
Wed Dec 4 22:03:51 UTC 2024
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-lkp@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-lkp@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 <lkp at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412050521.d87GwldA-lkp@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
More information about the dri-devel
mailing list