[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202601301031.VutflAtp-lkp@intel.com>
Date: Fri, 30 Jan 2026 11:03:38 +0800
From: kernel test robot <lkp@...el.com>
To: Abhash Kumar Jha <a-kumar2@...com>, andrzej.hajda@...el.com,
neil.armstrong@...aro.org, rfoss@...nel.org, mripard@...nel.org,
tzimmermann@...e.de, airlied@...il.com, simona@...ll.ch,
devarsht@...com, u-kumar1@...com, sjakhade@...ence.com
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
dri-devel@...ts.freedesktop.org, Laurent.pinchart@...asonboard.com,
jonas@...boo.se, jernej.skrabec@...il.com, s-jain1@...com,
p-mantena@...com, tomi.valkeinen@...asonboard.com
Subject: Re: [PATCH] drm/bridge: cdns-mhdp8546: Add suspend resume support to
the bridge driver
Hi Abhash,
kernel test robot noticed the following build warnings:
[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on linus/master v6.19-rc7 next-20260129]
[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/Abhash-Kumar-Jha/drm-bridge-cdns-mhdp8546-Add-suspend-resume-support-to-the-bridge-driver/20260129-193145
base: https://gitlab.freedesktop.org/drm/misc/kernel.git drm-misc-next
patch link: https://lore.kernel.org/r/20260129112016.2448037-1-a-kumar2%40ti.com
patch subject: [PATCH] drm/bridge: cdns-mhdp8546: Add suspend resume support to the bridge driver
config: parisc-randconfig-002-20260130 (https://download.01.org/0day-ci/archive/20260130/202601301031.VutflAtp-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260130/202601301031.VutflAtp-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202601301031.VutflAtp-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c:2447:12: warning: 'cdns_mhdp_suspend' defined but not used [-Wunused-function]
static int cdns_mhdp_suspend(struct device *dev)
^~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c:2387:12: warning: 'cdns_mhdp_resume' defined but not used [-Wunused-function]
static int cdns_mhdp_resume(struct device *dev)
^~~~~~~~~~~~~~~~
vim +/cdns_mhdp_suspend +2447 drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c
2386
> 2387 static int cdns_mhdp_resume(struct device *dev)
2388 {
2389 struct cdns_mhdp_device *mhdp = dev_get_drvdata(dev);
2390 unsigned long rate;
2391 int ret;
2392
2393 ret = clk_prepare_enable(mhdp->clk);
2394 if (ret)
2395 return ret;
2396
2397 rate = clk_get_rate(mhdp->clk);
2398 writel(rate % 1000000, mhdp->regs + CDNS_SW_CLK_L);
2399 writel(rate / 1000000, mhdp->regs + CDNS_SW_CLK_H);
2400 writel(~0, mhdp->regs + CDNS_APB_INT_MASK);
2401
2402 ret = phy_init(mhdp->phy);
2403 if (ret) {
2404 dev_err(mhdp->dev, "Failed to initialize PHY: %d\n", ret);
2405 goto disable_clk;
2406 }
2407 ret = phy_power_on(mhdp->phy);
2408 if (ret < 0) {
2409 dev_err(mhdp->dev, "Failed to power on PHY: %d\n", ret);
2410 goto error;
2411 }
2412
2413 if (mhdp->powered_off) {
2414 ret = cdns_mhdp_load_firmware(mhdp);
2415 if (ret)
2416 goto phy_off;
2417
2418 ret = wait_event_timeout(mhdp->fw_load_wq,
2419 mhdp->hw_state == MHDP_HW_READY,
2420 msecs_to_jiffies(1000));
2421 if (ret == 0) {
2422 dev_err(mhdp->dev, "%s: Timeout waiting for fw loading\n",
2423 __func__);
2424 ret = -ETIMEDOUT;
2425 goto phy_off;
2426 }
2427 } else {
2428 ret = cdns_mhdp_set_firmware_active(mhdp, true);
2429 if (ret) {
2430 dev_err(mhdp->dev, "Failed to activate firmware (%pe)\n", ERR_PTR(ret));
2431 goto phy_off;
2432 }
2433 }
2434
2435 return 0;
2436
2437 phy_off:
2438 phy_power_off(mhdp->phy);
2439 error:
2440 phy_exit(mhdp->phy);
2441 disable_clk:
2442 clk_disable_unprepare(mhdp->clk);
2443
2444 return ret;
2445 }
2446
> 2447 static int cdns_mhdp_suspend(struct device *dev)
2448 {
2449 struct cdns_mhdp_device *mhdp = dev_get_drvdata(dev);
2450 unsigned long timeout = msecs_to_jiffies(100);
2451 int ret = 0;
2452
2453 cancel_work_sync(&mhdp->hpd_work);
2454 ret = wait_event_timeout(mhdp->fw_load_wq,
2455 mhdp->hw_state == MHDP_HW_READY,
2456 timeout);
2457
2458 spin_lock(&mhdp->start_lock);
2459 if (mhdp->hw_state != MHDP_HW_READY) {
2460 spin_unlock(&mhdp->start_lock);
2461 return -EINVAL;
2462 }
2463 mhdp->hw_state = MHDP_HW_STOPPED;
2464 spin_unlock(&mhdp->start_lock);
2465
2466 if (ret == 0) {
2467 dev_err(mhdp->dev, "%s: Timeout waiting for fw loading\n", __func__);
2468 ret = -ETIMEDOUT;
2469 goto error;
2470 } else {
2471 ret = cdns_mhdp_set_firmware_active(mhdp, false);
2472 if (ret) {
2473 dev_err(mhdp->dev, "Failed to stop firmware (%pe)\n", ERR_PTR(ret));
2474 goto error;
2475 }
2476 }
2477
2478 phy_power_off(mhdp->phy);
2479 phy_exit(mhdp->phy);
2480 clk_disable_unprepare(mhdp->clk);
2481
2482 error:
2483 return ret;
2484 }
2485
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists