From: kernel test robot <lkp@intel.com>
To: Manikandan Muralidharan <manikandan.m@microchip.com>,
andrzej.hajda@intel.com, neil.armstrong@linaro.org,
rfoss@kernel.org, Laurent.pinchart@ideasonboard.com,
jonas@kwiboo.se, jernej.skrabec@gmail.com, airlied@gmail.com,
daniel@ffwll.ch, maarten.lankhorst@linux.intel.com,
mripard@kernel.org, tzimmermann@suse.de, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, linux@armlinux.org.uk,
nicolas.ferre@microchip.com, alexandre.belloni@bootlin.com,
claudiu.beznea@tuxon.dev, arnd@arndb.de, geert+renesas@glider.be,
mpe@ellerman.id.au, rdunlap@infradead.org,
dharma.b@microchip.com, dri-devel@lists.freedesktop.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Cc: oe-kbuild-all@lists.linux.dev, manikandan.m@microchip.com
Subject: Re: [PATCH v3 2/4] drm/bridge: add Microchip DSI controller support for sam9x7 SoC series
Date: Fri, 16 Aug 2024 21:35:28 +0800 [thread overview]
Message-ID: <202408162158.TlOqyoUA-lkp@intel.com> (raw)
In-Reply-To: <20240814105256.177319-3-manikandan.m@microchip.com>
Hi Manikandan,
kernel test robot noticed the following build warnings:
[auto build test WARNING on robh/for-next]
[also build test WARNING on drm-misc/drm-misc-next linus/master v6.11-rc3 next-20240816]
[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/Manikandan-Muralidharan/dt-bindings-display-bridge-add-sam9x75-mipi-dsi-binding/20240814-234923
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20240814105256.177319-3-manikandan.m%40microchip.com
patch subject: [PATCH v3 2/4] drm/bridge: add Microchip DSI controller support for sam9x7 SoC series
config: arm-randconfig-r071-20240816 (https://download.01.org/0day-ci/archive/20240816/202408162158.TlOqyoUA-lkp@intel.com/config)
compiler: clang version 15.0.7 (https://github.com/llvm/llvm-project 8dfdcc7b7bf66834a761bd8de445840ef68e4d1a)
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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408162158.TlOqyoUA-lkp@intel.com/
smatch warnings:
drivers/gpu/drm/bridge/dw-mipi-dsi-mchp.c:293 dw_mipi_dsi_mchp_get_lane_mbps() warn: unsigned 'bpp' is never less than zero.
drivers/gpu/drm/bridge/dw-mipi-dsi-mchp.c:293 dw_mipi_dsi_mchp_get_lane_mbps() warn: error code type promoted to positive: 'bpp'
drivers/gpu/drm/bridge/dw-mipi-dsi-mchp.c:314 dw_mipi_dsi_mchp_get_lane_mbps() error: uninitialized symbol 'target_mbps'.
vim +/bpp +293 drivers/gpu/drm/bridge/dw-mipi-dsi-mchp.c
276
277 static int dw_mipi_dsi_mchp_get_lane_mbps(void *priv_data,
278 const struct drm_display_mode *mode,
279 unsigned long mode_flags, u32 lanes,
280 u32 format, unsigned int *lane_mbps)
281 {
282 struct dw_mipi_dsi_mchp *dsi = priv_data;
283 unsigned long best_freq, fvco_min, fvco_max, fin, fout;
284 unsigned long min_delta = ULONG_MAX, delta;
285 unsigned int mpclk, target_mbps, desired_mbps;
286 unsigned int max_mbps = dppa_map[ARRAY_SIZE(dppa_map) - 1].max_mbps;
287 unsigned int bpp, min_prediv, max_prediv;
288 unsigned int _fbdiv, best_fbdiv, _prediv, best_prediv;
289 u64 freq_factor;
290
291 dsi->format = format;
292 bpp = mipi_dsi_pixel_format_to_bpp(dsi->format);
> 293 if (bpp < 0) {
294 dev_err(dsi->dev,
295 "failed to get bpp for pixel format %d\n",
296 dsi->format);
297 return bpp;
298 }
299
300 mpclk = DIV_ROUND_UP(mode->clock, MSEC_PER_SEC);
301 if (mpclk) {
302 /* take 1/0.8, since mbps must be bigger than bandwidth of RGB */
303 desired_mbps = mpclk * (bpp / lanes) * 10 / 8;
304 if (desired_mbps < max_mbps) {
305 target_mbps = desired_mbps;
306 } else {
307 dev_err(dsi->dev,
308 "DPHY clock frequency is out of range\n");
309 return -ERANGE;
310 }
311 }
312
313 fin = clk_get_rate(dsi->pllref_clk);
> 314 fout = target_mbps * USEC_PER_SEC;
315
316 /* constraint: 5Mhz <= Fref / N <= 40MHz */
317 min_prediv = DIV_ROUND_UP(fin, 40 * USEC_PER_SEC);
318 max_prediv = fin / (5 * USEC_PER_SEC);
319
320 /* constraint: 80MHz <= Fvco <= 1000Mhz */
321 fvco_min = 80 * USEC_PER_SEC;
322 fvco_max = 1000 * USEC_PER_SEC;
323
324 for (best_freq = 0, _prediv = min_prediv; _prediv <= max_prediv; _prediv++) {
325 /* Fvco = Fref * M / N */
326 freq_factor = fout * _prediv;
327 do_div(freq_factor, fin);
328 _fbdiv = freq_factor;
329 /*
330 * Due to the use of a "by 2 pre-scaler," the range of the
331 * feedback multiplication value M is limited to even division
332 * numbers, and m must be greater than 6, not bigger than 512.
333 */
334 if (_fbdiv < 6 || _fbdiv > 512)
335 continue;
336
337 _fbdiv += _fbdiv % 2;
338
339 freq_factor = _fbdiv * fin;
340 do_div(freq_factor, _prediv);
341 if (freq_factor < fvco_min || freq_factor > fvco_max)
342 continue;
343
344 delta = abs(fout - freq_factor);
345 if (delta < min_delta) {
346 best_prediv = _prediv;
347 best_fbdiv = _fbdiv;
348 min_delta = delta;
349 best_freq = freq_factor;
350 }
351 }
352
353 if (best_freq) {
354 dsi->lane_mbps = DIV_ROUND_UP(best_freq, USEC_PER_SEC);
355 *lane_mbps = dsi->lane_mbps;
356 dsi->input_div = best_prediv;
357 dsi->feedback_div = best_fbdiv;
358 } else {
359 dev_err(dsi->dev, "Can not find best_freq for DPHY\n");
360 return -EINVAL;
361 }
362
363 return 0;
364 }
365
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-08-16 13:36 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-14 10:52 [PATCH v3 0/4] MIPI DSI Controller support for SAM9X75 series Manikandan Muralidharan
2024-08-14 10:52 ` [PATCH v3 1/4] dt-bindings: display: bridge: add sam9x75-mipi-dsi binding Manikandan Muralidharan
2024-08-14 13:59 ` Conor Dooley
2024-08-14 13:59 ` Conor Dooley
2024-09-17 3:16 ` Manikandan.M
2024-09-17 12:38 ` Conor Dooley
2024-09-17 12:38 ` Conor Dooley
2024-09-18 3:00 ` Manikandan.M
2024-09-18 8:04 ` Conor Dooley
2024-09-18 8:04 ` Conor Dooley
2024-08-14 10:52 ` [PATCH v3 2/4] drm/bridge: add Microchip DSI controller support for sam9x7 SoC series Manikandan Muralidharan
2024-08-16 13:35 ` kernel test robot [this message]
2024-08-14 10:52 ` [PATCH v3 3/4] MAINTAINERS: add SAM9X7 SoC's Microchip's MIPI DSI host wrapper driver Manikandan Muralidharan
2024-08-14 10:52 ` [PATCH v3 4/4] ARM: configs: at91: Enable Microchip's MIPI DSI Host Controller support Manikandan Muralidharan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202408162158.TlOqyoUA-lkp@intel.com \
--to=lkp@intel.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrzej.hajda@intel.com \
--cc=arnd@arndb.de \
--cc=claudiu.beznea@tuxon.dev \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dharma.b@microchip.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=geert+renesas@glider.be \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=maarten.lankhorst@linux.intel.com \
--cc=manikandan.m@microchip.com \
--cc=mpe@ellerman.id.au \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=nicolas.ferre@microchip.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rdunlap@infradead.org \
--cc=rfoss@kernel.org \
--cc=robh@kernel.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.