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/[email protected]/config)
compiler: hppa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20260130/[email protected]/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 <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

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

Reply via email to