All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/gpu/drm/bridge/synopsys/dw-dp.c:913:16-27: opportunity for str_plural(link -> lanes)
@ 2026-07-01 14:12 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-07-01 14:12 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Julia Lawall

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Chaoyi Chen <chaoyi.chen@rock-chips.com>
CC: Heiko Stuebner <heiko@sntech.de>

Hi Chaoyi,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   665159e246749578d4e4bfe106ee3b74edcdab18
commit: 0244539f9a4f3b564604dfe4d639f61cecec381a drm/rockchip: Drop ROCKCHIP_IOMMU depend for DRM_ROCKCHIP
date:   6 months ago
:::::: branch date: 10 hours ago
:::::: commit date: 6 months ago
config: csky-randconfig-r063-20260701 (https://download.01.org/0day-ci/archive/20260701/202607012242.PBDaXI8U-lkp@intel.com/config)
compiler: csky-linux-gcc (GCC) 13.4.0

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
| Fixes: 0244539f9a4f ("drm/rockchip: Drop ROCKCHIP_IOMMU depend for DRM_ROCKCHIP")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202607012242.PBDaXI8U-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/gpu/drm/bridge/synopsys/dw-dp.c:913:16-27: opportunity for str_plural(link -> lanes)
   drivers/gpu/drm/bridge/synopsys/dw-dp.c:972:16-27: opportunity for str_plural(link -> lanes)

vim +913 drivers/gpu/drm/bridge/synopsys/dw-dp.c

86eecc3a9c2e06 Andy Yan 2025-08-22  903  
86eecc3a9c2e06 Andy Yan 2025-08-22  904  static int dw_dp_link_train_full(struct dw_dp *dp)
86eecc3a9c2e06 Andy Yan 2025-08-22  905  {
86eecc3a9c2e06 Andy Yan 2025-08-22  906  	struct dw_dp_link *link = &dp->link;
86eecc3a9c2e06 Andy Yan 2025-08-22  907  	int ret;
86eecc3a9c2e06 Andy Yan 2025-08-22  908  
86eecc3a9c2e06 Andy Yan 2025-08-22  909  retry:
86eecc3a9c2e06 Andy Yan 2025-08-22  910  	dw_dp_link_train_init(&link->train);
86eecc3a9c2e06 Andy Yan 2025-08-22  911  
86eecc3a9c2e06 Andy Yan 2025-08-22  912  	dev_dbg(dp->dev, "full-training link: %u lane%s at %u MHz\n",
86eecc3a9c2e06 Andy Yan 2025-08-22 @913  		link->lanes, (link->lanes > 1) ? "s" : "", link->rate / 100);
86eecc3a9c2e06 Andy Yan 2025-08-22  914  
86eecc3a9c2e06 Andy Yan 2025-08-22  915  	ret = dw_dp_link_configure(dp);
86eecc3a9c2e06 Andy Yan 2025-08-22  916  	if (ret < 0) {
86eecc3a9c2e06 Andy Yan 2025-08-22  917  		dev_err(dp->dev, "failed to configure DP link: %d\n", ret);
86eecc3a9c2e06 Andy Yan 2025-08-22  918  		return ret;
86eecc3a9c2e06 Andy Yan 2025-08-22  919  	}
86eecc3a9c2e06 Andy Yan 2025-08-22  920  
86eecc3a9c2e06 Andy Yan 2025-08-22  921  	ret = dw_dp_link_clock_recovery(dp);
86eecc3a9c2e06 Andy Yan 2025-08-22  922  	if (ret < 0) {
86eecc3a9c2e06 Andy Yan 2025-08-22  923  		dev_err(dp->dev, "clock recovery failed: %d\n", ret);
86eecc3a9c2e06 Andy Yan 2025-08-22  924  		goto out;
86eecc3a9c2e06 Andy Yan 2025-08-22  925  	}
86eecc3a9c2e06 Andy Yan 2025-08-22  926  
86eecc3a9c2e06 Andy Yan 2025-08-22  927  	if (!link->train.clock_recovered) {
86eecc3a9c2e06 Andy Yan 2025-08-22  928  		dev_err(dp->dev, "clock recovery failed, downgrading link\n");
86eecc3a9c2e06 Andy Yan 2025-08-22  929  
86eecc3a9c2e06 Andy Yan 2025-08-22  930  		ret = dw_dp_link_downgrade(dp);
86eecc3a9c2e06 Andy Yan 2025-08-22  931  		if (ret < 0)
86eecc3a9c2e06 Andy Yan 2025-08-22  932  			goto out;
86eecc3a9c2e06 Andy Yan 2025-08-22  933  		else
86eecc3a9c2e06 Andy Yan 2025-08-22  934  			goto retry;
86eecc3a9c2e06 Andy Yan 2025-08-22  935  	}
86eecc3a9c2e06 Andy Yan 2025-08-22  936  
86eecc3a9c2e06 Andy Yan 2025-08-22  937  	dev_dbg(dp->dev, "clock recovery succeeded\n");
86eecc3a9c2e06 Andy Yan 2025-08-22  938  
86eecc3a9c2e06 Andy Yan 2025-08-22  939  	ret = dw_dp_link_channel_equalization(dp);
86eecc3a9c2e06 Andy Yan 2025-08-22  940  	if (ret < 0) {
86eecc3a9c2e06 Andy Yan 2025-08-22  941  		dev_err(dp->dev, "channel equalization failed: %d\n", ret);
86eecc3a9c2e06 Andy Yan 2025-08-22  942  		goto out;
86eecc3a9c2e06 Andy Yan 2025-08-22  943  	}
86eecc3a9c2e06 Andy Yan 2025-08-22  944  
86eecc3a9c2e06 Andy Yan 2025-08-22  945  	if (!link->train.channel_equalized) {
86eecc3a9c2e06 Andy Yan 2025-08-22  946  		dev_err(dp->dev, "channel equalization failed, downgrading link\n");
86eecc3a9c2e06 Andy Yan 2025-08-22  947  
86eecc3a9c2e06 Andy Yan 2025-08-22  948  		ret = dw_dp_link_downgrade(dp);
86eecc3a9c2e06 Andy Yan 2025-08-22  949  		if (ret < 0)
86eecc3a9c2e06 Andy Yan 2025-08-22  950  			goto out;
86eecc3a9c2e06 Andy Yan 2025-08-22  951  		else
86eecc3a9c2e06 Andy Yan 2025-08-22  952  			goto retry;
86eecc3a9c2e06 Andy Yan 2025-08-22  953  	}
86eecc3a9c2e06 Andy Yan 2025-08-22  954  
86eecc3a9c2e06 Andy Yan 2025-08-22  955  	dev_dbg(dp->dev, "channel equalization succeeded\n");
86eecc3a9c2e06 Andy Yan 2025-08-22  956  
86eecc3a9c2e06 Andy Yan 2025-08-22  957  out:
86eecc3a9c2e06 Andy Yan 2025-08-22  958  	dw_dp_link_train_set_pattern(dp, DP_TRAINING_PATTERN_DISABLE);
86eecc3a9c2e06 Andy Yan 2025-08-22  959  	return ret;
86eecc3a9c2e06 Andy Yan 2025-08-22  960  }
86eecc3a9c2e06 Andy Yan 2025-08-22  961  

:::::: The code at line 913 was first introduced by commit
:::::: 86eecc3a9c2e06462f6a273fcd24150b6da787de drm/bridge: synopsys: Add DW DPTX Controller support library

:::::: TO: Andy Yan <andy.yan@rock-chips.com>
:::::: CC: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-07-01 14:13 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-01 14:12 drivers/gpu/drm/bridge/synopsys/dw-dp.c:913:16-27: opportunity for str_plural(link -> lanes) kernel test robot

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.