* [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.