Bug 107414

Summary: [amdgpu] "No EDID firmware found on connector" when display forced on and EDID file provided
Product: DRI Reporter: James Le Cuirot <chewi>
Component: DRM/AMDgpuAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: harry.wentland
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Kernel log showing one display on and one display off none

Description James Le Cuirot 2018-07-28 16:23:14 UTC
Created attachment 140869 [details]
Kernel log showing one display on and one display off

I've been using drm.edid_firmware for a long time now to provide some stability in my setup, which includes an A/V receiver that isn't always on. However, I've found that it still isn't as stable as I'd like it to be because this alone doesn't force the display to be connected. Only the "e" option in the video parameter does that so I've added it and it works but only if the display is actually switched on at boot time!

It seems that the provided EDID file is initially ignored when the "e" option is checked, resulting in the following error and the display actually being forced off.

[drm:amdgpu_dm_connector_mode_valid [amdgpu]] *ERROR* No EDID firmware found on connector: HDMI-A-1 ,forcing to OFF!

This may be because the EDID file only seems to be read during a mode set. It certainly isn't because the file isn't available yet as I've added it to the initramfs to make sure and the second display that is switched on picks it up.
Comment 1 Timothy Pearson 2019-01-12 13:50:38 UTC
I'm also seeing this on 4.20 with amdgpu.  In my case though it also triggers a problem with amdgpu, a problem that would not be hit if the options were honored correctly:

[    7.843957] [drm] Display Core initialized with v3.1.68!
[    7.844448] [drm] forcing DP-3 connector on
[   11.785325] [drm:emulated_link_detect [amdgpu]] *ERROR* Failed to read EDID
[   11.785372] [drm] forcing DP-4 connector on
[   11.805994] [drm] Got external EDID base block and 1 extension from "edid/edid.bin" for connector "DP-4"
[   11.822809] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   11.822825] [drm] Driver supports precise vblank timestamp query.
[   11.849368] [drm] UVD and UVD ENC initialized successfully.
[   11.950326] [drm] VCE initialized successfully.
[   11.950636] [drm:amdgpu_dm_connector_mode_valid [amdgpu]] *ERROR* No EDID firmware found on connector: DP-3 ,forcing to OFF!
[   11.950731] [drm:amdgpu_dm_connector_mode_valid [amdgpu]] *ERROR* No EDID firmware found on connector: DP-3 ,forcing to OFF!
[   11.950782] ------------[ cut here ]------------
[   11.950802] kernel BUG at mm/slub.c:294

Kernel command line:
amdgpu.dc=1 drm_kms_helper.edid_firmware=DP-3:edid/edid.bin drm_kms_helper.edid_firmware=DP-4:edid/edid.bin video=DP-3:1920x1080D video=DP-4:1920x1080D

This is for a video broadcast system that "features" output sinks being connected and disconnected quite frequently; this should be handled seamlessly but Linux is not honoring the options here.
Comment 2 Martin Peres 2019-11-19 08:45:59 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/469.

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.