All of lore.kernel.org
 help / color / mirror / Atom feed
* [radeon-alex:amd-staging-drm-next 877/908] drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:2647:0-1: preceding lock on line 2576
@ 2020-12-10 22:23 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2020-12-10 22:23 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 9091 bytes --]

CC: kbuild-all(a)lists.01.org
CC: dri-devel(a)lists.freedesktop.org
TO: Qingqing Zhuo <qingqing.zhuo@amd.com>
CC: Eryk Brol <eryk.brol@amd.com>
CC: Harry Wentland <Harry.Wentland@amd.com>

Hi Qingqing,

First bad commit (maybe != root cause):

tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head:   e017a6b6ebadc878022280b4b3dcac6e59121d21
commit: 368e1002e7e95d3a430ac6e2068915a13c1d2e8a [877/908] drm/amd/display: Only one display lights up while using MST hub
:::::: branch date: 18 hours ago
:::::: commit date: 3 days ago
config: i386-randconfig-c001-20201209 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>


"coccinelle warnings: (new ones prefixed by >>)"
>> drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:2647:0-1: preceding lock on line 2576

vim +2647 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

4562236b3bc0a2 Harry Wentland    2017-09-12  2555  
4562236b3bc0a2 Harry Wentland    2017-09-12  2556  static void handle_hpd_rx_irq(void *param)
4562236b3bc0a2 Harry Wentland    2017-09-12  2557  {
c84dec2fe8837f Harry Wentland    2017-09-05  2558  	struct amdgpu_dm_connector *aconnector = (struct amdgpu_dm_connector *)param;
4562236b3bc0a2 Harry Wentland    2017-09-12  2559  	struct drm_connector *connector = &aconnector->base;
4562236b3bc0a2 Harry Wentland    2017-09-12  2560  	struct drm_device *dev = connector->dev;
53cbf65c145450 Tom St Denis      2017-10-17  2561  	struct dc_link *dc_link = aconnector->dc_link;
4562236b3bc0a2 Harry Wentland    2017-09-12  2562  	bool is_mst_root_connector = aconnector->mst_mgr.mst_state;
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2563  	bool result = false;
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2564  	enum dc_connection_type new_connection_type = dc_connection_none;
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2565  	struct amdgpu_device *adev = drm_to_adev(dev);
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2566  	union hpd_irq_data hpd_irq_data;
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2567  
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2568  	memset(&hpd_irq_data, 0, sizeof(hpd_irq_data));
4562236b3bc0a2 Harry Wentland    2017-09-12  2569  
1f6010a96273c3 David Francis     2018-08-15  2570  	/*
1f6010a96273c3 David Francis     2018-08-15  2571  	 * TODO:Temporary add mutex to protect hpd interrupt not have a gpio
4562236b3bc0a2 Harry Wentland    2017-09-12  2572  	 * conflict, after implement i2c helper, this mutex should be
4562236b3bc0a2 Harry Wentland    2017-09-12  2573  	 * retired.
4562236b3bc0a2 Harry Wentland    2017-09-12  2574  	 */
53cbf65c145450 Tom St Denis      2017-10-17  2575  	if (dc_link->type != dc_connection_mst_branch)
4562236b3bc0a2 Harry Wentland    2017-09-12 @2576  		mutex_lock(&aconnector->hpd_lock);
4562236b3bc0a2 Harry Wentland    2017-09-12  2577  
368e1002e7e95d Qingqing Zhuo     2020-11-23  2578  	read_hpd_rx_irq_data(dc_link, &hpd_irq_data);
368e1002e7e95d Qingqing Zhuo     2020-11-23  2579  
368e1002e7e95d Qingqing Zhuo     2020-11-23  2580  	if ((dc_link->cur_link_settings.lane_count != LANE_COUNT_UNKNOWN) ||
368e1002e7e95d Qingqing Zhuo     2020-11-23  2581  		(dc_link->type == dc_connection_mst_branch)) {
368e1002e7e95d Qingqing Zhuo     2020-11-23  2582  		if (hpd_irq_data.bytes.device_service_irq.bits.UP_REQ_MSG_RDY) {
368e1002e7e95d Qingqing Zhuo     2020-11-23  2583  			result = true;
368e1002e7e95d Qingqing Zhuo     2020-11-23  2584  			dm_handle_hpd_rx_irq(aconnector);
368e1002e7e95d Qingqing Zhuo     2020-11-23  2585  			goto out;
368e1002e7e95d Qingqing Zhuo     2020-11-23  2586  		} else if (hpd_irq_data.bytes.device_service_irq.bits.DOWN_REP_MSG_RDY) {
368e1002e7e95d Qingqing Zhuo     2020-11-23  2587  			result = false;
368e1002e7e95d Qingqing Zhuo     2020-11-23  2588  			dm_handle_hpd_rx_irq(aconnector);
368e1002e7e95d Qingqing Zhuo     2020-11-23  2589  			goto out;
368e1002e7e95d Qingqing Zhuo     2020-11-23  2590  		}
368e1002e7e95d Qingqing Zhuo     2020-11-23  2591  	}
368e1002e7e95d Qingqing Zhuo     2020-11-23  2592  
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2593  	mutex_lock(&adev->dm.dc_lock);
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2594  #ifdef CONFIG_DRM_AMD_DC_HDCP
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2595  	result = dc_link_handle_hpd_rx_irq(dc_link, &hpd_irq_data, NULL);
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2596  #else
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2597  	result = dc_link_handle_hpd_rx_irq(dc_link, NULL, NULL);
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2598  #endif
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2599  	mutex_unlock(&adev->dm.dc_lock);
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2600  
368e1002e7e95d Qingqing Zhuo     2020-11-23  2601  out:
4e70749dc4b02a Qingqing Zhuo     2020-10-01  2602  	if (result && !is_mst_root_connector) {
4562236b3bc0a2 Harry Wentland    2017-09-12  2603  		/* Downstream Port status changed. */
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2604  		if (!dc_link_detect_sink(dc_link, &new_connection_type))
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2605  			DRM_ERROR("KMS: Failed to detect connector\n");
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2606  
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2607  		if (aconnector->base.force && new_connection_type == dc_connection_none) {
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2608  			emulated_link_detect(dc_link);
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2609  
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2610  			if (aconnector->fake_enable)
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2611  				aconnector->fake_enable = false;
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2612  
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2613  			amdgpu_dm_update_connector_after_detect(aconnector);
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2614  
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2615  
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2616  			drm_modeset_lock_all(dev);
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2617  			dm_restore_drm_connector_state(dev, connector);
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2618  			drm_modeset_unlock_all(dev);
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2619  
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2620  			drm_kms_helper_hotplug_event(dev);
fbbdadf2faf17c Bhawanpreet Lakha 2018-09-26  2621  		} else if (dc_link_detect(dc_link, DETECT_REASON_HPDRX)) {
88ac3ddab12e2b Roman Li          2018-02-09  2622  
88ac3ddab12e2b Roman Li          2018-02-09  2623  			if (aconnector->fake_enable)
88ac3ddab12e2b Roman Li          2018-02-09  2624  				aconnector->fake_enable = false;
88ac3ddab12e2b Roman Li          2018-02-09  2625  
4562236b3bc0a2 Harry Wentland    2017-09-12  2626  			amdgpu_dm_update_connector_after_detect(aconnector);
4562236b3bc0a2 Harry Wentland    2017-09-12  2627  
4562236b3bc0a2 Harry Wentland    2017-09-12  2628  
4562236b3bc0a2 Harry Wentland    2017-09-12  2629  			drm_modeset_lock_all(dev);
4562236b3bc0a2 Harry Wentland    2017-09-12  2630  			dm_restore_drm_connector_state(dev, connector);
4562236b3bc0a2 Harry Wentland    2017-09-12  2631  			drm_modeset_unlock_all(dev);
4562236b3bc0a2 Harry Wentland    2017-09-12  2632  
4562236b3bc0a2 Harry Wentland    2017-09-12  2633  			drm_kms_helper_hotplug_event(dev);
4562236b3bc0a2 Harry Wentland    2017-09-12  2634  		}
4562236b3bc0a2 Harry Wentland    2017-09-12  2635  	}
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2636  #ifdef CONFIG_DRM_AMD_DC_HDCP
e22bb5626cd6cd Alex Deucher      2020-02-18  2637  	if (hpd_irq_data.bytes.device_service_irq.bits.CP_IRQ) {
e22bb5626cd6cd Alex Deucher      2020-02-18  2638  		if (adev->dm.hdcp_workqueue)
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2639  			hdcp_handle_cpirq(adev->dm.hdcp_workqueue,  aconnector->base.index);
e22bb5626cd6cd Alex Deucher      2020-02-18  2640  	}
2a0f92700fe348 Bhawanpreet Lakha 2019-06-10  2641  #endif
4562236b3bc0a2 Harry Wentland    2017-09-12  2642  
e86e894751f042 Hans Verkuil      2018-08-27  2643  	if (dc_link->type != dc_connection_mst_branch) {
e86e894751f042 Hans Verkuil      2018-08-27  2644  		drm_dp_cec_irq(&aconnector->dm_dp_aux.aux);
4562236b3bc0a2 Harry Wentland    2017-09-12  2645  		mutex_unlock(&aconnector->hpd_lock);
4562236b3bc0a2 Harry Wentland    2017-09-12  2646  	}
e86e894751f042 Hans Verkuil      2018-08-27 @2647  }
4562236b3bc0a2 Harry Wentland    2017-09-12  2648  

:::::: The code at line 2647 was first introduced by commit
:::::: e86e894751f0420fbe05d834e02a6777c4b4ac3f drm/amdgpu: add DisplayPort CEC-Tunneling-over-AUX support

:::::: TO: Hans Verkuil <hans.verkuil@cisco.com>
:::::: CC: Hans Verkuil <hans.verkuil@cisco.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 38789 bytes --]

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

only message in thread, other threads:[~2020-12-10 22:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-10 22:23 [radeon-alex:amd-staging-drm-next 877/908] drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c:2647:0-1: preceding lock on line 2576 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.