Bug 102985 - HDMI 2.0 4k EDIDs not available (Radeon RX Vega 56)
Summary: HDMI 2.0 4k EDIDs not available (Radeon RX Vega 56)
Status: RESOLVED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/AMDgpu (show other bugs)
Version: DRI git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-25 21:16 UTC by invergo
Modified: 2017-12-11 11:52 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
DRM/AMDGPU logs (journalctl) (85.31 KB, text/plain)
2017-09-25 21:16 UTC, invergo
no flags Details
edid-decode output (5.95 KB, text/plain)
2017-09-25 21:17 UTC, invergo
no flags Details
TV's binary EDID file (256 bytes, application/octet-stream)
2017-09-25 21:17 UTC, invergo
no flags Details

Description invergo 2017-09-25 21:16:33 UTC
Created attachment 134476 [details]
DRM/AMDGPU logs (journalctl)

I have a Radeon RX Vega 56 connected to a Sony 4K TV (kd-49x8305c) via a "Premium" (certified) HDMI 2.0 cable. The TV's HDMI input is set to "Enhanced Format". Thus, on the hardware side, everything's ready to go for 4k@60Hz. On the software side, I'm running Arch Linux with mesa-git (rev. 066d1dc951), llvm-svn (rev. 313470), and Linux branch amd-staging-drm-next (4.13 rev. dcae401d1113).  I'm running Gnome and I've tested both Wayland and Xorg.

While other functionality such as rendering and acceleration work with this setup, I have been unable to access any 4k resolutions.

As you'll see in the attached logs, the maximum resolution detected from the TV's EDID is 1920x1080. However, using the program edid-decode (output attached), one can see that the EDID clearly advertises 4k modes, however, they're in the Extension block at VIC indexes higher than 64.

Until recently, 64 was the highest supported by drivers/gpu/drm/drm_edid.c in the kernel.  However, that has been fixed:

https://github.com/torvalds/linux/commit/8ec6e0755565192b328059b64f982adabbecda78#diff-f1b0089a97dd0195eb24305ab63a79e3

That commit has been merged into the amd-staging-drm-next kernel (but not amd-staging), and the revision that I have built and installed includes that code.  Nevertheless, I haven't had any luck in getting the computer to recognize any of those extended modes.

I have tried adding the mode manually via xrandr, however when I try to switch to that mode, I get the error "xrandr: Configure crtc 0 failed". Trying to set it in a conf file in /etc/X11/xorg.conf.d also didn't work (I no longer have a configuration file in there). I've also tried forcing it from the kernel command line (video=3840x2160@60) to no avail.  Still, all of those seem like workarounds when I think the problem is pretty clearly that the VIC 65+ modes are not detected.
Comment 1 invergo 2017-09-25 21:17:00 UTC
Created attachment 134477 [details]
edid-decode output
Comment 2 invergo 2017-09-25 21:17:19 UTC
Created attachment 134478 [details]
TV's binary EDID file
Comment 3 invergo 2017-11-16 21:35:31 UTC
I'm now on drm-next-amd-dc-staging commit 4479ed411cf4. I can see in my logs that all of the modes in my TV's EDID are being detected.  GDM launches at 1920x1080 as usual, but when I try to log in, all video output is lost (TV reports no input) and the computer freezes, requiring a hard reboot.  If I first switch to a virtual console and restart GDM, I'm able to log into a 1920x1080 Gnome desktop. Under the Displays settings, all of my TV's supported resolutions are listed.  However, when I switch to a 4k resolution, the system crashes again and the video output is lost.

Checking my logs, I see the following errors:

Nov 16 21:23:28 jackalope kernel: [drm:atom_op_jump [amdgpu]] *ERROR* atombios stuck in loop for more than 5secs aborting
Nov 16 21:23:28 jackalope kernel: [drm:amdgpu_atom_execute_table_locked [amdgpu]] *ERROR* atombios stuck executing B544 (len 1373, WS 12, PS 8) @ 0xB9FF
Nov 16 21:23:28 jackalope kernel: ------------[ cut here ]------------
Nov 16 21:23:28 jackalope kernel: WARNING: CPU: 3 PID: 1020 at drivers/gpu/drm/amd/amdgpu/../display/dc/dce110/dce110_hw_sequencer.c:1262 dce110_prog_pixclk_crtc_otg+0x131/0x140 [amdgpu]
Nov 16 21:23:28 jackalope kernel: Modules linked in: fuse sd_mod joydev uas mousedev input_leds hid_sony ff_memless usb_storage btusb btrtl btbcm amdkfd amd_iommu_v2 amdgpu arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel iTCO_wdt iTCO_vendor_support mxm_wmi evdev mac_hid kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel chash aes_x86_64 ttm crypto_simd glue_helper cryptd intel_cstate drm_kms_helper intel_rapl_perf iwlmvm mac80211 snd_hda_codec_realtek snd_hda_codec_hdmi psmouse pcspkr snd_hda_codec_generic led_class drm syscopyarea sysfillrect iwlwifi sysimgblt snd_hda_intel fb_sys_fops i2c_algo_bit snd_hda_codec snd_hda_core snd_hwdep cfg80211 snd_pcm r8169 snd_timer snd mii hci_uart mei_me btqca tpm_tis i2c_i801 soundcore btintel tpm_tis_core mei shpchp bluetooth
Nov 16 21:23:28 jackalope kernel:  thermal tpm ecdh_generic fan battery rfkill wmi video intel_lpss_acpi i2c_hid intel_lpss acpi_als kfifo_buf acpi_pad industrialio button sch_fq_codel sg crypto_user ip_tables x_tables ext4 crc16 mbcache jbd2 fscrypto hid_logitech_hidpp hid_logitech_dj usbhid hid serio_raw atkbd libps2 crc32c_intel ahci libahci xhci_pci libata nvme xhci_hcd nvme_core scsi_mod usbcore usb_common i8042 serio
Nov 16 21:23:28 jackalope kernel: CPU: 3 PID: 1020 Comm: gnome-shell Not tainted 4.14.0-rc3-4479ed411cf4 #1
Nov 16 21:23:28 jackalope kernel: Hardware name: MSI MS-7A67/H270I GAMING PRO AC (MS-7A67), BIOS 2.00 12/15/2016
Nov 16 21:23:28 jackalope kernel: task: ffff8802538f1e80 task.stack: ffffc90004c5c000
Nov 16 21:23:28 jackalope kernel: RIP: 0010:dce110_prog_pixclk_crtc_otg+0x131/0x140 [amdgpu]
Nov 16 21:23:28 jackalope kernel: RSP: 0018:ffffc90004c5f860 EFLAGS: 00010246
Nov 16 21:23:28 jackalope kernel: RAX: 0000000000000000 RBX: ffff8801edb24188 RCX: 0000000000000000
Nov 16 21:23:28 jackalope kernel: RDX: ffff8802538f1e80 RSI: 000000000001df80 RDI: ffff88025871e188
Nov 16 21:23:28 jackalope kernel: RBP: ffffc90004c5f888 R08: 0000000000000001 R09: ffffffffa08ec301
Nov 16 21:23:28 jackalope kernel: R10: ffffc90004c5f680 R11: ffffffff81e9846d R12: ffff8801edb00000
Nov 16 21:23:28 jackalope kernel: R13: ffff880241a9e000 R14: ffff8801edb24000 R15: ffff8801edb00000
Nov 16 21:23:28 jackalope kernel: FS:  00007fa3cc812f00(0000) GS:ffff88026ed80000(0000) knlGS:0000000000000000
Nov 16 21:23:28 jackalope kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 16 21:23:28 jackalope kernel: CR2: 00005609529fd140 CR3: 000000024213e006 CR4: 00000000003606e0
Nov 16 21:23:28 jackalope kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Nov 16 21:23:28 jackalope kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Nov 16 21:23:28 jackalope kernel: Call Trace:
Nov 16 21:23:28 jackalope kernel:  apply_single_controller_ctx_to_hw+0x49/0x330 [amdgpu]
Nov 16 21:23:28 jackalope kernel:  dce110_apply_ctx_to_hw+0x41b/0x750 [amdgpu]
Nov 16 21:23:28 jackalope kernel:  dc_commit_state+0x2a1/0x3c0 [amdgpu]
Nov 16 21:23:28 jackalope kernel:  amdgpu_dm_atomic_commit_tail+0x2cd/0xa50 [amdgpu]
Nov 16 21:23:28 jackalope kernel:  ? wait_for_common+0x14e/0x180
Nov 16 21:23:28 jackalope kernel:  ? wait_for_common+0x14e/0x180
Nov 16 21:23:28 jackalope kernel:  ? wait_for_completion_timeout+0x13/0x20
Nov 16 21:23:28 jackalope kernel:  commit_tail+0x3f/0x60 [drm_kms_helper]
Nov 16 21:23:28 jackalope kernel:  drm_atomic_helper_commit+0x106/0x110 [drm_kms_helper]
Nov 16 21:23:28 jackalope kernel:  amdgpu_dm_atomic_commit+0x87/0xa0 [amdgpu]
Nov 16 21:23:28 jackalope kernel:  drm_atomic_commit+0x4b/0x50 [drm]
Nov 16 21:23:28 jackalope kernel:  drm_atomic_helper_set_config+0x81/0x90 [drm_kms_helper]
Nov 16 21:23:28 jackalope kernel:  __drm_mode_set_config_internal+0x65/0x110 [drm]
Nov 16 21:23:28 jackalope kernel:  drm_mode_setcrtc+0x485/0x670 [drm]
Nov 16 21:23:28 jackalope kernel:  ? drm_mode_getcrtc+0x190/0x190 [drm]
Nov 16 21:23:28 jackalope kernel:  drm_ioctl_kernel+0x5d/0xb0 [drm]
Nov 16 21:23:28 jackalope kernel:  drm_ioctl+0x32a/0x400 [drm]
Nov 16 21:23:28 jackalope kernel:  ? drm_mode_getcrtc+0x190/0x190 [drm]
Nov 16 21:23:28 jackalope kernel:  amdgpu_drm_ioctl+0x4f/0x90 [amdgpu]
Nov 16 21:23:28 jackalope kernel:  do_vfs_ioctl+0xa5/0x600
Nov 16 21:23:28 jackalope kernel:  ? __fget+0x6e/0x90
Nov 16 21:23:28 jackalope kernel:  SyS_ioctl+0x79/0x90
Nov 16 21:23:28 jackalope kernel:  entry_SYSCALL_64_fastpath+0x1a/0xa5
Nov 16 21:23:28 jackalope kernel: RIP: 0033:0x7fa3cc178387
Nov 16 21:23:28 jackalope kernel: RSP: 002b:00007ffcd5eae168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
Nov 16 21:23:28 jackalope kernel: RAX: ffffffffffffffda RBX: 00007fa38f1eaf34 RCX: 00007fa3cc178387
Nov 16 21:23:28 jackalope kernel: RDX: 00007ffcd5eae1a0 RSI: 00000000c06864a2 RDI: 0000000000000008
Nov 16 21:23:28 jackalope kernel: RBP: 0000000000001082 R08: 0000000000000000 R09: 0000555ee23d7130
Nov 16 21:23:28 jackalope kernel: R10: 0000555edec069e0 R11: 0000000000000246 R12: 000000000000000c
Nov 16 21:23:28 jackalope kernel: R13: 0000000000000100 R14: 00007fa38f1e4000 R15: 0000000000000930
Nov 16 21:23:28 jackalope kernel: Code: 01 00 00 00 0f 85 4e ff ff ff 48 8b bb f0 00 00 00 48 8b 07 ff 50 10 84 c0 0f 85 39 ff ff ff 0f ff b8 ff ff ff ff e9 32 ff ff ff <0f> ff 83 c8 ff e9 28 ff ff ff e8 10 f0 65 e0 0f 1f 44 00 00 55 
Nov 16 21:23:28 jackalope kernel: ---[ end trace f377f3971b292e7d ]---
Nov 16 21:23:31 jackalope kernel: ------------[ cut here ]------------
Nov 16 21:23:31 jackalope kernel: WARNING: CPU: 1 PID: 1020 at drivers/gpu/drm/drm_atomic_helper.c:1240 drm_atomic_helper_wait_for_vblanks.part.9+0x261/0x270 [drm_kms_helper]
Nov 16 21:23:31 jackalope kernel: Modules linked in: fuse sd_mod joydev uas mousedev input_leds hid_sony ff_memless usb_storage btusb btrtl btbcm amdkfd amd_iommu_v2 amdgpu arc4 intel_rapl x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel iTCO_wdt iTCO_vendor_support mxm_wmi evdev mac_hid kvm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc aesni_intel chash aes_x86_64 ttm crypto_simd glue_helper cryptd intel_cstate drm_kms_helper intel_rapl_perf iwlmvm mac80211 snd_hda_codec_realtek snd_hda_codec_hdmi psmouse pcspkr snd_hda_codec_generic led_class drm syscopyarea sysfillrect iwlwifi sysimgblt snd_hda_intel fb_sys_fops i2c_algo_bit snd_hda_codec snd_hda_core snd_hwdep cfg80211 snd_pcm r8169 snd_timer snd mii hci_uart mei_me btqca tpm_tis i2c_i801 soundcore btintel tpm_tis_core mei shpchp bluetooth
Nov 16 21:23:31 jackalope kernel:  thermal tpm ecdh_generic fan battery rfkill wmi video intel_lpss_acpi i2c_hid intel_lpss acpi_als kfifo_buf acpi_pad industrialio button sch_fq_codel sg crypto_user ip_tables x_tables ext4 crc16 mbcache jbd2 fscrypto hid_logitech_hidpp hid_logitech_dj usbhid hid serio_raw atkbd libps2 crc32c_intel ahci libahci xhci_pci libata nvme xhci_hcd nvme_core scsi_mod usbcore usb_common i8042 serio
Nov 16 21:23:31 jackalope kernel: CPU: 1 PID: 1020 Comm: gnome-shell Tainted: G        W       4.14.0-rc3-4479ed411cf4 #1
Nov 16 21:23:31 jackalope kernel: Hardware name: MSI MS-7A67/H270I GAMING PRO AC (MS-7A67), BIOS 2.00 12/15/2016
Nov 16 21:23:31 jackalope kernel: task: ffff8802538f1e80 task.stack: ffffc90004c5c000
Nov 16 21:23:31 jackalope kernel: RIP: 0010:drm_atomic_helper_wait_for_vblanks.part.9+0x261/0x270 [drm_kms_helper]
Nov 16 21:23:31 jackalope kernel: RSP: 0018:ffffc90004c5f9b0 EFLAGS: 00010282
Nov 16 21:23:31 jackalope kernel: RAX: 0000000000000026 RBX: 0000000000000000 RCX: 0000000000000000
Nov 16 21:23:31 jackalope kernel: RDX: 0000000000000000 RSI: ffff88026ec8dc48 RDI: ffff88026ec8dc48
Nov 16 21:23:31 jackalope kernel: RBP: ffffc90004c5fa28 R08: 00000000000003bd R09: 0000000000000004
Nov 16 21:23:31 jackalope kernel: R10: ffffc90004c5f9b0 R11: 0000000000000001 R12: ffff88025ae18800
Nov 16 21:23:31 jackalope kernel: R13: 0000000000000000 R14: 0000000000000000 R15: ffff88025384dd00
Nov 16 21:23:31 jackalope kernel: FS:  00007fa3cc812f00(0000) GS:ffff88026ec80000(0000) knlGS:0000000000000000
Nov 16 21:23:31 jackalope kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Nov 16 21:23:31 jackalope kernel: CR2: 00007fc4e077c4e6 CR3: 000000024213e001 CR4: 00000000003606e0
Nov 16 21:23:31 jackalope kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Nov 16 21:23:31 jackalope kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Nov 16 21:23:31 jackalope kernel: Call Trace:
Nov 16 21:23:31 jackalope kernel:  ? wait_woken+0x80/0x80
Nov 16 21:23:31 jackalope kernel:  drm_atomic_helper_wait_for_vblanks+0x14/0x20 [drm_kms_helper]
Nov 16 21:23:31 jackalope kernel:  amdgpu_dm_atomic_commit_tail+0x7f6/0xa50 [amdgpu]
Nov 16 21:23:31 jackalope kernel:  ? wait_for_completion_timeout+0x13/0x20
Nov 16 21:23:31 jackalope kernel:  commit_tail+0x3f/0x60 [drm_kms_helper]
Nov 16 21:23:31 jackalope kernel:  drm_atomic_helper_commit+0x106/0x110 [drm_kms_helper]
Nov 16 21:23:31 jackalope kernel:  amdgpu_dm_atomic_commit+0x87/0xa0 [amdgpu]
Nov 16 21:23:31 jackalope kernel:  drm_atomic_commit+0x4b/0x50 [drm]
Nov 16 21:23:31 jackalope kernel:  drm_atomic_helper_set_config+0x81/0x90 [drm_kms_helper]
Nov 16 21:23:31 jackalope kernel:  __drm_mode_set_config_internal+0x65/0x110 [drm]
Nov 16 21:23:31 jackalope kernel:  drm_mode_setcrtc+0x485/0x670 [drm]
Nov 16 21:23:31 jackalope kernel:  ? drm_mode_getcrtc+0x190/0x190 [drm]
Nov 16 21:23:31 jackalope kernel:  drm_ioctl_kernel+0x5d/0xb0 [drm]
Nov 16 21:23:31 jackalope kernel:  drm_ioctl+0x32a/0x400 [drm]
Nov 16 21:23:31 jackalope kernel:  ? drm_mode_getcrtc+0x190/0x190 [drm]
Nov 16 21:23:31 jackalope kernel:  amdgpu_drm_ioctl+0x4f/0x90 [amdgpu]
Nov 16 21:23:31 jackalope kernel:  do_vfs_ioctl+0xa5/0x600
Nov 16 21:23:31 jackalope kernel:  ? __fget+0x6e/0x90
Nov 16 21:23:31 jackalope kernel:  SyS_ioctl+0x79/0x90
Nov 16 21:23:31 jackalope kernel:  entry_SYSCALL_64_fastpath+0x1a/0xa5
Nov 16 21:23:31 jackalope kernel: RIP: 0033:0x7fa3cc178387
Nov 16 21:23:31 jackalope kernel: RSP: 002b:00007ffcd5eae168 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
Nov 16 21:23:31 jackalope kernel: RAX: ffffffffffffffda RBX: 00007fa38f1eaf34 RCX: 00007fa3cc178387
Nov 16 21:23:31 jackalope kernel: RDX: 00007ffcd5eae1a0 RSI: 00000000c06864a2 RDI: 0000000000000008
Nov 16 21:23:31 jackalope kernel: RBP: 0000000000001082 R08: 0000000000000000 R09: 0000555ee23d7130
Nov 16 21:23:31 jackalope kernel: R10: 0000555edec069e0 R11: 0000000000000246 R12: 000000000000000c
Nov 16 21:23:31 jackalope kernel: R13: 0000000000000100 R14: 00007fa38f1e4000 R15: 0000000000000930
Nov 16 21:23:31 jackalope kernel: Code: 48 01 df 48 83 c7 08 e8 ee 30 8f e0 45 85 f6 0f 85 b1 fe ff ff 49 8b 54 24 20 41 8b 74 24 60 48 c7 c7 f0 2c 7d a0 e8 a0 d9 90 e0 <0f> ff e9 94 fe ff ff 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 f6 
Nov 16 21:23:31 jackalope kernel: ---[ end trace f377f3971b292e7e ]---
Comment 4 invergo 2017-11-16 21:40:49 UTC
Sorry, I should have attached that in a file.

Just before those kernel errors were these:

Nov 16 21:23:21 jackalope gnome-shell[1020]: JS WARNING: [resource:///org/gnome/shell/ui/modalDialog.js 218]: reference to undefined property "GdkX11Screen"
Nov 16 21:23:21 jackalope gnome-shell[1020]: Failed to apply DRM plane transform 0: Invalid argument
Nov 16 21:23:21 jackalope kernel: [drm] {3840x2160, 4400x2250@594000Khz}
Nov 16 21:23:28 jackalope kernel: [drm] {1920x1080, 2200x1125@148500Khz}
N

I'm not sure if the first two gnome-shell errors are relevant.
The latter two kernel messages I guess reflect the attempt to change resolutions to 3840x2160, but then is it trying to revert back to 1920x1080 albeit at 15Khz?
Comment 5 invergo 2017-12-09 09:12:54 UTC
I am on commit 23d3505d648e and this now appears to be resolved: I can select 4k@60Hz (among several other new resolutions) without crashing. Furthermore, this also resolves a problem I hadn't mentioned of not having HDMI audio (didn't realize that it could be related).
Comment 6 Michel Dänzer 2017-12-11 11:52:43 UTC
Resolving per comment 5, thanks for the followup, glad it's working now!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.