Michael, > On Sun, 11 Mar 2012 22:23:22 +0100, Carsten Emde wrote: >> On 03/11/2012 02:44 PM, Alan Cox wrote: >>>> This patch allows to load an EDID data set via the firmware interface. >>>> It contains data sets of frequently used screen resolutions (1024x768, >>>> 1280x1024, 1680x1050 and 1920x1080). The requested EDID data are >>>> specified as a module parameter of the drm_kms_helper module, e.g. >>>> options drm_kms_helper edid_firmware=edid/1280x1024.bin or as kernel >>>> command line parameter. >>> What if the DRM layer and driver are compiled in. They'll come up as >>> console before the file system so the firmware request will hang ? >> Admittedly I did not try to compile the DRM layer and driver into the >> kernel. However, I created an error condition by specifying a >> non-existing EDID file. In this case, the function returns with error, >> the mode count remains 0, and the system continues to run as if the >> edid_firmware= parameter had not been specified. > Unfortunately, as of at least last month, my system hangs when I try to > use your feature (just as described by Alan Cox); the log shows that > during the boot process, there is a one-minute hang: > > [ 0.175207] [drm] radeon: power management initialized > [ 60.896507] [drm:edid_load] *ERROR* Requesting EDID firmware > "edid/1920x1200.bin" failed (err=-2) > > Is there any way to make your feature smarter about its timing with > relation to file system accessibility? Sure.
Please copy your EDID data file to the directory "firmware/edid" of the kernel source tree, configure CONFIG_EXTRA_FIRMWARE="edid/1920x1200.bin" CONFIG_EXTRA_FIRMWARE_DIR="firmware" and rebuild/reboot your kernel. Does it work then? -Carsten.