Bug 199799 - Setting drm.edid_firmware or drm_kms_firmware.edid_firmware has no effect
Summary: Setting drm.edid_firmware or drm_kms_firmware.edid_firmware has no effect
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(Other) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-22 14:49 UTC by Henrik
Modified: 2018-05-23 11:35 UTC (History)
0 users

See Also:
Kernel Version: 4.15.11
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments
dmesg from 4.16 kernel with regression (67.50 KB, text/plain)
2018-05-22 15:12 UTC, Henrik
Details
dmesg from working 4.14 kernel (67.44 KB, text/plain)
2018-05-22 15:12 UTC, Henrik
Details

Description Henrik 2018-05-22 14:49:25 UTC
This was also reported as a Debian bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=894731

Today I upgraded from linux-image-4.14.17 to 4.15.11. Because the
third monitor connected via VGA
doesn't seem to expose a proper EDID or any EDID at all, I use
"drm_kms_helper.edid_firmware=VGA-1:edid/1280x1024.bin"
to force the resolution. This used to work fine with the built-in firmwares as
well as with a custom EDID I acquired from
the screen by connecting it to HDMI.

With the upgrade to 4.15, the flag doesn't work anymore. The only
relevant message I get in dmesg is:
[    8.750411] [drm] drm_kms_firmware.edid_firmware is deprecated, please use
drm.edid_firmware intead.

When using the config variable drm.edid_firmware, instead, the deprecation
warning disappears, but still, nothing happens.

"edid-decode /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid"
now returns an invalid or no EDID:
Extracted contents:
header:          00 00 00 00 00 00 00 00
serial number:   00 00 00 00 00 00 00 00 00 00
version:         00 00
basic params:    00 00 00 00 00
chroma info:     00 00 00 00 00 00 00 00 00 00
established:     00 00 00
standard:        00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 1:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 2:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 3:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
descriptor 4:    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
extensions:      00
checksum:        00

No header found
Manufacturer: @@@ Model 0 Serial Number 0
EDID version: 0.0
Analog display, Input voltage level: 0.7/0.3 V
Sync:
Image size is variable
Gamma: 1.00
Monochrome or grayscale display
Established timings supported:
Standard timings supported:
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
non-conformant standard timing (0 horiz)
Manufacturer-specified data, tag 0
Manufacturer-specified data, tag 0
Manufacturer-specified data, tag 0
Manufacturer-specified data, tag 0
Checksum: 0x0 (valid)
EDID block does not conform at all!
        Bad year of manufacture
        Manufacturer name field contains garbage


Whereas previously it would display information about the custom EDID.

Additionally, it would print these messages to dmesg:
[   62.914247] platform VGA-1: firmware: direct-loading firmware edid/edid.bin
[   62.914265] [drm] Got external EDID base block and 0 extensions from "edid/edid.bin" for connector "VGA-1"

Which does not happen anymore as of >= 4.15
Comment 1 Henrik 2018-05-22 15:12:25 UTC
Created attachment 276133 [details]
dmesg from 4.16 kernel with regression
Comment 2 Henrik 2018-05-22 15:12:51 UTC
Created attachment 276135 [details]
dmesg from working 4.14 kernel
Comment 3 Jani Nikula 2018-05-23 06:57:58 UTC
Please file drm/i915 bugs at the freedesktop.org bugzilla: https://bugs.freedesktop.org/enter_bug.cgi?product=DRI&component=DRM/Intel

Please add drm.debug=14 module parameter, and grab the dmesgs again, and attach to the bug at fdo.
Comment 4 Jani Nikula 2018-05-23 07:02:46 UTC
Also, try adding "video=VGA-1:e" in addition to the drm.firmware parameter.
Comment 5 Henrik 2018-05-23 11:35:45 UTC
Adding video=VGA-1:e fixed it for me.

Note You need to log in before you can comment on or make changes to this bug.