内核中的 Radeon 堆栈跟踪 - 时钟恢复

内核中的 Radeon 堆栈跟踪 - 时钟恢复

我的 dmesg 中有一个令人担忧的条目。

我的内核:

$ uname -a
Linux metric 4.8.0-41-generic #44-Ubuntu SMP Fri Mar 3 15:27:17 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

我的显卡:

$ sudo lspci | grep VGA
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X]

每次启动时,我都会得到这个:

[    7.228303] [drm] initializing kernel modesetting (VERDE 0x1002:0x683D 0x1043:0x045D 0x00).
[    7.228327] [drm] register mmio base: 0xFCDC0000
[    7.228332] [drm] register mmio size: 262144
[    7.228433] ATOM BIOS: 683D.15.21.0.0.AS01
[    7.228575] radeon 0000:01:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
[    7.228582] radeon 0000:01:00.0: GTT: 2048M 0x0000000040000000 - 0x00000000BFFFFFFF
[    7.228588] [drm] Detected VRAM RAM=1024M, BAR=256M
[    7.228591] [drm] RAM width 128bits DDR
[    7.228694] [TTM] Zone  kernel: Available graphics memory: 15828162 kiB
[    7.228703] [TTM] Zone   dma32: Available graphics memory: 2097152 kiB
[    7.228708] [TTM] Initializing pool allocator
[    7.228724] [TTM] Initializing DMA pool allocator
[    7.228763] [drm] radeon: 1024M of VRAM memory ready
[    7.228769] [drm] radeon: 2048M of GTT memory ready.
[    7.228791] [drm] Loading verde Microcode
[    7.228968] [drm] Internal thermal controller with fan control
[    7.229055] [drm] probing gen 2 caps for device 8086:4021 = 4394d02/0
[    7.235853] [drm] radeon: dpm initialized
[    7.238026] [drm] Found VCE firmware/feedback version 50.0.1 / 17!
[    7.238038] [drm] GART: num cpu pages 524288, num gpu pages 524288
[    7.240889] [drm] probing gen 2 caps for device 8086:4021 = 4394d02/0
[    7.240901] [drm] PCIE gen 2 link speeds already enabled
[    7.278757] [drm] PCIE GART of 2048M enabled (table at 0x00000000001D6000).
[    7.278892] radeon 0000:01:00.0: WB enabled
[    7.278898] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff99b5439a9c00
[    7.278904] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000040000c04 and cpu addr 0xffff99b5439a9c04
[    7.278911] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000040000c08 and cpu addr 0xffff99b5439a9c08
[    7.278917] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff99b5439a9c0c
[    7.278923] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000040000c10 and cpu addr 0xffff99b5439a9c10
[    7.279293] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000075a18 and cpu addr 0xffffabef44035a18
[    7.299297] radeon 0000:01:00.0: fence driver on ring 6 use gpu addr 0x0000000040000c18 and cpu addr 0xffff99b5439a9c18
[    7.299304] radeon 0000:01:00.0: fence driver on ring 7 use gpu addr 0x0000000040000c1c and cpu addr 0xffff99b5439a9c1c
[    7.299310] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    7.299314] [drm] Driver supports precise vblank timestamp query.
[    7.299318] radeon 0000:01:00.0: radeon: MSI limited to 32-bit
[    7.299371] radeon 0000:01:00.0: radeon: using MSI.
[    7.299405] [drm] radeon: irq initialized.
[    7.580009] ioc0: LSISAS1068E B3: Capabilities={Initiator}
[    7.775188] [drm] ring test on 0 succeeded in 1 usecs
[    7.775201] [drm] ring test on 1 succeeded in 1 usecs
[    7.775207] [drm] ring test on 2 succeeded in 1 usecs
[    7.775222] [drm] ring test on 3 succeeded in 9 usecs
[    7.775230] [drm] ring test on 4 succeeded in 3 usecs
[    7.950916] [drm] ring test on 5 succeeded in 2 usecs
[    7.950925] [drm] UVD initialized successfully.
[    8.060126] [drm] ring test on 6 succeeded in 21 usecs
[    8.060140] [drm] ring test on 7 succeeded in 3 usecs
[    8.060143] [drm] VCE initialized successfully.
[    8.060633] [drm] ib test on ring 0 succeeded in 0 usecs
[    8.060661] [drm] ib test on ring 1 succeeded in 0 usecs
[    8.060688] [drm] ib test on ring 2 succeeded in 0 usecs
[    8.060765] [drm] ib test on ring 3 succeeded in 0 usecs
[    8.060813] [drm] ib test on ring 4 succeeded in 0 usecs
[    8.672035] floppy0: no floppy controllers found
[    8.736038] [drm] ib test on ring 5 succeeded
[    9.248037] [drm] ib test on ring 6 succeeded
[    9.760024] [drm] ib test on ring 7 succeeded
[    9.761065] [drm] Radeon Display Connectors
[    9.761078] [drm] Connector 0:
[    9.761081] [drm]   DP-1
[    9.761084] [drm]   HPD4
[    9.761088] [drm]   DDC: 0x6540 0x6540 0x6544 0x6544 0x6548 0x6548 0x654c 0x654c
[    9.761092] [drm]   Encoders:
[    9.761095] [drm]     DFP1: INTERNAL_UNIPHY2
[    9.761099] [drm] Connector 1:
[    9.761101] [drm]   HDMI-A-1
[    9.761104] [drm]   HPD3
[    9.761107] [drm]   DDC: 0x6530 0x6530 0x6534 0x6534 0x6538 0x6538 0x653c 0x653c
[    9.761112] [drm]   Encoders:
[    9.761114] [drm]     DFP2: INTERNAL_UNIPHY2
[    9.761117] [drm] Connector 2:
[    9.761120] [drm]   DVI-I-1
[    9.761122] [drm]   HPD1
[    9.761126] [drm]   DDC: 0x6560 0x6560 0x6564 0x6564 0x6568 0x6568 0x656c 0x656c
[    9.761130] [drm]   Encoders:
[    9.761133] [drm]     DFP3: INTERNAL_UNIPHY
[    9.761136] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    9.823031] [drm] fb mappable at 0xD05D9000
[    9.823035] [drm] vram apper at 0xD0000000
[    9.823038] [drm] size 8294400
[    9.823041] [drm] fb depth is 24
[    9.823043] [drm]    pitch is 6912
[    9.823105] fbcon: radeondrmfb (fb0) is primary device
[    9.861409] [drm:radeon_dp_link_train [radeon]] *ERROR* clock recovery tried 5 times
[    9.861450] [drm:radeon_dp_link_train [radeon]] *ERROR* clock recovery failed
[    9.881669] Console: switching to colour frame buffer device 200x65
[    9.885004] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    9.900036] [drm] Initialized radeon 2.46.0 20080528 for 0000:01:00.0 on minor 0
[   10.805071] ------------[ cut here ]------------
[   10.805119] WARNING: CPU: 4 PID: 75 at /build/linux-xXpTKI/linux-4.8.0/include/drm/drm_crtc.h:3131 drm_helper_choose_encoder_dpms+0x8a/0x90 [drm_kms_helper]
[   10.805186] Modules linked in: amdkfd amd_iommu_v2 radeon i2c_algo_bit ttm drm_kms_helper tg3 syscopyarea sysfillrect ptp sysimgblt mptsas(+) hid_generic fb_sys_fops mptscsih usbhid mptbase hid pata_acpi drm pps_core ahci scsi_transport_sas libahci
[   10.805363] CPU: 4 PID: 75 Comm: kworker/4:1 Not tainted 4.8.0-41-generic #44-Ubuntu
[   10.805393] Hardware name: Dell Inc. Precision WorkStation T7400  /0RW199, BIOS A11 04/30/2012
[   10.805474] Workqueue: events radeon_dp_work_func [radeon]
[   10.805500]  0000000000000286 000000000e7db13a ffff99b54c9fbd18 ffffffff82830e92
[   10.805542]  0000000000000000 0000000000000000 ffff99b54c9fbd58 ffffffff8248319b
[   10.805583]  00000c3b43a39488 ffff99b54cdcb800 ffff99b543c91600 ffff99b543a3b000
[   10.805625] Call Trace:
[   10.805641]  [<ffffffff82830e92>] dump_stack+0x63/0x81
[   10.805664]  [<ffffffff8248319b>] __warn+0xcb/0xf0
[   10.805685]  [<ffffffff824832cd>] warn_slowpath_null+0x1d/0x20
[   10.805712]  [<ffffffffc047150a>] drm_helper_choose_encoder_dpms+0x8a/0x90 [drm_kms_helper]
[   10.805744]  [<ffffffffc04715fb>] drm_helper_connector_dpms+0x4b/0x100 [drm_kms_helper]
[   10.805785]  [<ffffffffc04d3917>] radeon_connector_hotplug+0xf7/0x100 [radeon]
[   10.805828]  [<ffffffffc04e174f>] radeon_dp_work_func+0x3f/0x60 [radeon]
[   10.805856]  [<ffffffff8249d96c>] process_one_work+0x1fc/0x4b0
[   10.805880]  [<ffffffff8249dc6b>] worker_thread+0x4b/0x500
[   10.805902]  [<ffffffff8249dc20>] ? process_one_work+0x4b0/0x4b0
[   10.805927]  [<ffffffff8249dc20>] ? process_one_work+0x4b0/0x4b0
[   10.805952]  [<ffffffff824a40d8>] kthread+0xd8/0xf0
[   10.805972]  [<ffffffff82ca071f>] ret_from_fork+0x1f/0x40
[   10.805992]  [<ffffffff824a4000>] ? kthread_create_on_node+0x1e0/0x1e0
[   10.806017] ---[ end trace 54c886ab4efdb67a ]---
[   10.806037] ------------[ cut here ]------------
[   10.806061] WARNING: CPU: 4 PID: 75 at /build/linux-xXpTKI/linux-4.8.0/include/drm/drm_crtc.h:3131 drm_helper_choose_crtc_dpms+0x93/0xa0 [drm_kms_helper]
[   10.806104] Modules linked in: amdkfd amd_iommu_v2 radeon i2c_algo_bit ttm drm_kms_helper tg3 syscopyarea sysfillrect ptp sysimgblt mptsas(+) hid_generic fb_sys_fops mptscsih usbhid mptbase hid pata_acpi drm pps_core ahci scsi_transport_sas libahci
[   10.806268] CPU: 4 PID: 75 Comm: kworker/4:1 Tainted: G        W       4.8.0-41-generic #44-Ubuntu
[   10.806302] Hardware name: Dell Inc. Precision WorkStation T7400  /0RW199, BIOS A11 04/30/2012
[   10.806350] Workqueue: events radeon_dp_work_func [radeon]
[   10.806376]  0000000000000286 000000000e7db13a ffff99b54c9fbd18 ffffffff82830e92
[   10.806417]  0000000000000000 0000000000000000 ffff99b54c9fbd58 ffffffff8248319b
[   10.807990]  00000c3b43a39488 ffff99b54cdcb800 ffff99b543a3b000 ffff99b543a3b000
[   10.809053] Call Trace:
[   10.809053]  [<ffffffff82830e92>] dump_stack+0x63/0x81
[   10.809053]  [<ffffffff8248319b>] __warn+0xcb/0xf0
[   10.809053]  [<ffffffff824832cd>] warn_slowpath_null+0x1d/0x20
[   10.809053]  [<ffffffffc04715a3>] drm_helper_choose_crtc_dpms+0x93/0xa0 [drm_kms_helper]
[   10.809053]  [<ffffffffc0471627>] drm_helper_connector_dpms+0x77/0x100 [drm_kms_helper]
[   10.809053]  [<ffffffffc04ba010>] ? atombios_blank_crtc+0x150/0x150 [radeon]
[   10.809053]  [<ffffffffc04d3917>] radeon_connector_hotplug+0xf7/0x100 [radeon]
[   10.809053]  [<ffffffffc04e174f>] radeon_dp_work_func+0x3f/0x60 [radeon]
[   10.809053]  [<ffffffff8249d96c>] process_one_work+0x1fc/0x4b0
[   10.809053]  [<ffffffff8249dc6b>] worker_thread+0x4b/0x500
[   10.809053]  [<ffffffff8249dc20>] ? process_one_work+0x4b0/0x4b0
[   10.809053]  [<ffffffff8249dc20>] ? process_one_work+0x4b0/0x4b0
[   10.809053]  [<ffffffff824a40d8>] kthread+0xd8/0xf0
[   10.809053]  [<ffffffff82ca071f>] ret_from_fork+0x1f/0x40
[   10.809053]  [<ffffffff824a4000>] ? kthread_create_on_node+0x1e0/0x1e0
[   10.834872] ---[ end trace 54c886ab4efdb67b ]---

然后它挂起约 25 秒,然后继续。显卡似乎能够恢复,因为在运行时我没有看到任何图形问题。

这是什么原因造成的?有什么方法可以修复它吗?

相关内容