All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com
Subject: [linux-next:master 3549/14737] drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:463:28: sparse: sparse: not a function get_max_limits
Date: Thu, 13 Aug 2026 15:46:05 +0800	[thread overview]
Message-ID: <202608131516.HWw20vIE-lkp@intel.com> (raw)

:::::: 
:::::: Manual check reason: "low confidence static check warning: drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:463:28: sparse: sparse: not a function get_max_limits"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Imre Deak <imre.deak@intel.com>
CC: "Michał Grzelak" <michal.grzelak@intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   28d012efb4327f9c75d5e042a7c91e9a542efa98
commit: 3d0e60d75172265d5e4dff9b148e4adf5fd561c9 [3549/14737] drm/i915/kunit: DP link: add update config tests
:::::: branch date: 14 hours ago
:::::: commit date: 5 weeks ago
config: i386-randconfig-063-20260812 (https://download.01.org/0day-ci/archive/20260813/202608131516.HWw20vIE-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260813/202608131516.HWw20vIE-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@intel.com>
| Closes: https://lore.kernel.org/r/202608131516.HWw20vIE-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:274:24: sparse: sparse: not a function iter_start
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:286:22: sparse: sparse: not a function iter_end
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:297:20: sparse: sparse: not a function update
>> drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:463:28: sparse: sparse: not a function get_max_limits
>> drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:464:28: sparse: sparse: not a function set_max_limits
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:466:24: sparse: sparse: not a function iter_start
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:505:22: sparse: sparse: not a function iter_end
>> drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:509:31: sparse: sparse: not a function get_max_bw_config
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:513:9: sparse: sparse: not a function set_max_limits
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:595:41: sparse: sparse: not a function set_max_limits
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:617:42: sparse: sparse: not a function update
>> drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:677:17: sparse: sparse: not a function disable_config
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:1082:59: sparse: sparse: not a function init
   drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c:1093:36: sparse: sparse: not a function cleanup

vim +463 drivers/gpu/drm/i915/display/tests/intel_dp_link_test.c

3d0e60d7517226 Imre Deak 2026-07-07  443  
3d0e60d7517226 Imre Deak 2026-07-07  444  static void
3d0e60d7517226 Imre Deak 2026-07-07  445  verify_link_caps_for_order(const struct test_config_table *expected_table,
3d0e60d7517226 Imre Deak 2026-07-07  446  			   struct intel_dp_link_caps *link_caps,
3d0e60d7517226 Imre Deak 2026-07-07  447  			   struct intel_dp_link_caps_order config_order,
3d0e60d7517226 Imre Deak 2026-07-07  448  			   const struct intel_dp_link_config *max_limits)
3d0e60d7517226 Imre Deak 2026-07-07  449  {
3d0e60d7517226 Imre Deak 2026-07-07  450  	struct kunit *test = expected_table->test;
3d0e60d7517226 Imre Deak 2026-07-07  451  	struct test_ctx *ctx = test->priv;
3d0e60d7517226 Imre Deak 2026-07-07  452  	const struct intel_dp_link_caps_test_ops *ops =
3d0e60d7517226 Imre Deak 2026-07-07  453  		ctx->link_caps_ops;
3d0e60d7517226 Imre Deak 2026-07-07  454  	struct intel_dp_link_config expected_max_bw_config = {};
3d0e60d7517226 Imre Deak 2026-07-07  455  	struct intel_dp_link_config actual_max_bw_config;
3d0e60d7517226 Imre Deak 2026-07-07  456  	struct intel_dp_link_config last_config = {};
3d0e60d7517226 Imre Deak 2026-07-07  457  	struct intel_dp_link_config old_max_limits;
3d0e60d7517226 Imre Deak 2026-07-07  458  	struct intel_dp_link_config iter_config;
3d0e60d7517226 Imre Deak 2026-07-07  459  	struct intel_dp_link_caps_iter iter;
3d0e60d7517226 Imre Deak 2026-07-07  460  	int num_actual_configs = 0;
3d0e60d7517226 Imre Deak 2026-07-07  461  	int max_bw = 0;
3d0e60d7517226 Imre Deak 2026-07-07  462  
3d0e60d7517226 Imre Deak 2026-07-07 @463  	ops->get_max_limits(link_caps, &old_max_limits);
3d0e60d7517226 Imre Deak 2026-07-07 @464  	ops->set_max_limits(link_caps, max_limits);
3d0e60d7517226 Imre Deak 2026-07-07  465  
3d0e60d7517226 Imre Deak 2026-07-07  466  	ops->iter_start(&iter, link_caps, config_order, INTEL_DP_LINK_CAPS_FILTER_ALL);
3d0e60d7517226 Imre Deak 2026-07-07  467  	for_each_dp_link_config(&iter, &iter_config) {
3d0e60d7517226 Imre Deak 2026-07-07  468  		int bw;
3d0e60d7517226 Imre Deak 2026-07-07  469  
3d0e60d7517226 Imre Deak 2026-07-07  470  		KUNIT_EXPECT_LE(test, iter_config.rate, max_limits->rate);
3d0e60d7517226 Imre Deak 2026-07-07  471  		KUNIT_EXPECT_LE(test, iter_config.lane_count, max_limits->lane_count);
3d0e60d7517226 Imre Deak 2026-07-07  472  
3d0e60d7517226 Imre Deak 2026-07-07  473  		num_actual_configs++;
3d0e60d7517226 Imre Deak 2026-07-07  474  
3d0e60d7517226 Imre Deak 2026-07-07  475  		/*
3d0e60d7517226 Imre Deak 2026-07-07  476  		 * Verify the config's rate/lane-count values and its ordering relative
3d0e60d7517226 Imre Deak 2026-07-07  477  		 * to the previous config.
3d0e60d7517226 Imre Deak 2026-07-07  478  		 */
3d0e60d7517226 Imre Deak 2026-07-07  479  		if (last_config.rate)
3d0e60d7517226 Imre Deak 2026-07-07  480  			verify_config_order(test, config_order, &last_config, &iter_config);
3d0e60d7517226 Imre Deak 2026-07-07  481  		last_config = iter_config;
3d0e60d7517226 Imre Deak 2026-07-07  482  
3d0e60d7517226 Imre Deak 2026-07-07  483  		KUNIT_EXPECT_TRUE(test, has_rate(&expected_table->rates,
3d0e60d7517226 Imre Deak 2026-07-07  484  						 iter_config.rate));
3d0e60d7517226 Imre Deak 2026-07-07  485  		KUNIT_EXPECT_LE(test, iter_config.lane_count,
3d0e60d7517226 Imre Deak 2026-07-07  486  				      expected_table->max_lane_count);
3d0e60d7517226 Imre Deak 2026-07-07  487  		KUNIT_EXPECT_TRUE(test, is_power_of_2(iter_config.lane_count));
3d0e60d7517226 Imre Deak 2026-07-07  488  
3d0e60d7517226 Imre Deak 2026-07-07  489  		/* Verify the config's disabled state */
3d0e60d7517226 Imre Deak 2026-07-07  490  		KUNIT_EXPECT_FALSE(test, has_config(&expected_table->disabled_configs,
3d0e60d7517226 Imre Deak 2026-07-07  491  						    &iter_config));
3d0e60d7517226 Imre Deak 2026-07-07  492  
3d0e60d7517226 Imre Deak 2026-07-07  493  		/*
3d0e60d7517226 Imre Deak 2026-07-07  494  		 * Update the max limits for allowed configs, verified at the
3d0e60d7517226 Imre Deak 2026-07-07  495  		 * end for the whole config table.
3d0e60d7517226 Imre Deak 2026-07-07  496  		 */
3d0e60d7517226 Imre Deak 2026-07-07  497  
3d0e60d7517226 Imre Deak 2026-07-07  498  		bw = drm_dp_max_dprx_data_rate(iter_config.rate, iter_config.lane_count);
3d0e60d7517226 Imre Deak 2026-07-07  499  		if (bw > max_bw ||
3d0e60d7517226 Imre Deak 2026-07-07  500  		    (bw == max_bw && iter_config.rate > expected_max_bw_config.rate)) {
3d0e60d7517226 Imre Deak 2026-07-07  501  			max_bw = bw;
3d0e60d7517226 Imre Deak 2026-07-07  502  			expected_max_bw_config = iter_config;
3d0e60d7517226 Imre Deak 2026-07-07  503  		}
3d0e60d7517226 Imre Deak 2026-07-07  504  	}
3d0e60d7517226 Imre Deak 2026-07-07  505  	ops->iter_end(&iter);
3d0e60d7517226 Imre Deak 2026-07-07  506  
3d0e60d7517226 Imre Deak 2026-07-07  507  	KUNIT_EXPECT_EQ(test, num_actual_configs, expected_num_configs(expected_table, max_limits));
3d0e60d7517226 Imre Deak 2026-07-07  508  
3d0e60d7517226 Imre Deak 2026-07-07 @509  	ops->get_max_bw_config(link_caps, &actual_max_bw_config);
3d0e60d7517226 Imre Deak 2026-07-07  510  	KUNIT_EXPECT_TRUE(test, link_configs_match(&expected_max_bw_config,
3d0e60d7517226 Imre Deak 2026-07-07  511  						   &actual_max_bw_config));
3d0e60d7517226 Imre Deak 2026-07-07  512  
3d0e60d7517226 Imre Deak 2026-07-07  513  	KUNIT_ASSERT_TRUE(test, ops->set_max_limits(link_caps, &old_max_limits));
3d0e60d7517226 Imre Deak 2026-07-07  514  }
3d0e60d7517226 Imre Deak 2026-07-07  515  

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

                 reply	other threads:[~2026-08-13  7:46 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202608131516.HWw20vIE-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=oe-kbuild@lists.linux.dev \
    /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.