<div dir="ltr">Hi,<div><br></div><div>thanks for the answer. I believe I got it. I did not know that there are already some edids build into the kernel. What I did try to achieve is that my edid placed in the file system (under /lib/firmware/edid/) is loaded on boot. I named my special edid file also 1024x786.bin so I never noticed that my file wasn't loaded. Instead the edid build into the kernel was used. Got it.</div><div><br></div><div>For testing I renamed my edid to myedid.bin. Now I got (of course):</div><div><div>[    0.767201] pinctrl-single 44e10800.pinmux: pin 44e10854 already requested by 44e10800.pinmux; cannot claim for gpio-leds.8</div><div>[    0.778895] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status -22</div><div>[    0.786166] pinctrl-single 44e10800.pinmux: could not request pin 21 on device pinctrl-single</div><div>[   61.001555] [drm:edid_load] *ERROR* Requesting EDID firmware "edid/myedid.bin" failed (err=-2)</div></div><div><br></div><div>But there is the file:</div><div><div>debian@beaglebone:~$ ls  -ls /lib/firmware/edid/</div><div>total 4</div><div>4 -rw-r--r-- 1 debian debian 128 Feb 17  2014 myedid.bin</div></div><div><br></div><div><br></div><div>So with 3.8. its not possible to tell the kernel to load the buildin first? Okay, then I will try the v3.18.x branch for Beaglebone.</div><div><br></div><div>Thanks!</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-01-14 14:32 GMT+01:00 Jani Nikula <span dir="ltr"><<a href="mailto:jani.nikula@linux.intel.com" target="_blank">jani.nikula@linux.intel.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 14 Jan 2015, Robert Kuhn <<a href="mailto:spamhalde2@fastmail.fm">spamhalde2@fastmail.fm</a>> wrote:<br>
> Hi,<br>
><br>
> thanks for the answer. This is my kernel config:<br>
><br>
>     developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep<br>
> FW_LOADER_USER_HELPER .config<br>
<br>
Ah, you wouldn't have that since it's been added in v3.9.<br>
<br>
>     developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep DRM<br>
> .config<br>
>     CONFIG_DRM=y<br>
>     CONFIG_DRM_KMS_HELPER=y<br>
>     CONFIG_DRM_LOAD_EDID_FIRMWARE=y<br>
>     CONFIG_DRM_GEM_CMA_HELPER=y<br>
>     CONFIG_DRM_KMS_CMA_HELPER=y<br>
>     # CONFIG_DRM_I2C_CH7006 is not set<br>
>     # CONFIG_DRM_I2C_SIL164 is not set<br>
>     CONFIG_DRM_I2C_NXP_TDA998X=y<br>
>     # CONFIG_DRM_UDL is not set<br>
>     CONFIG_DRM_TILCDC=y<br>
>     # CONFIG_DRM_OMAP is not set<br>
><br>
><br>
> I am quite sure that in the end kernel finds firmware because otherwise the<br>
> display isn't working. I only get a image on the display if my edid file is<br>
> used.<br>
<br>
Okay, got it:<br>
<br>
[   62.751321] [drm] Got built-in EDID base block and 0 extensions from "edid/1024x768.bin" for connector "HDMI-A-1"<br>
<br>
the "built-in" here tells us the the EDID is embedded in the<br>
drm_kms_helper module (drivers/gpu/drm/drm_edid_load.c). But first the<br>
v3.8 kernel attempts to load the EDID from the filesystem, and fails,<br>
then delegates to the (now deprecated) user mode helper, which fails<br>
after a timeout. This is the delay you see. (See abb139e75c2c firmware:<br>
teach the kernel to load firmware files directly from the filesystem.)<br>
<br>
Starting from v3.13 the EDID firmware loader tries the built-in ones<br>
first, bypassing the regular firmware loader completely if one is<br>
found. (See 9066f83c055e drm: Try loading builtin EDIDs first.)<br>
<br>
Your options are upgrading to at least v3.13 (but hey, why not go all<br>
the way to v3.18 or later while at it?! ;) or making sure you have the<br>
EDID firmware in the filesystem so that the kernel can load it<br>
directly. The path is a concatenation of one of the below (from<br>
drivers/base/firmware_class.c; fw_path_para comes from<br>
firmware_class.path module parameter) and the firmware name, i.e.<br>
drm_kms_helper.edid_firmware in this case:<br>
<br>
static const char * const fw_path[] = {<br>
        fw_path_para,<br>
        "/lib/firmware/updates/" UTS_RELEASE,<br>
        "/lib/firmware/updates",<br>
        "/lib/firmware/" UTS_RELEASE,<br>
        "/lib/firmware"<br>
};<br>
<br>
Just put your edid to, say, /lib/firmware/path/to/edid and add module<br>
parameter drm_kms_helper.edid_firmware=path/to/edid.<br>
<br>
And thus concludes today's lesson in Linux archeology. Thank you for<br>
your attention. ;)<br>
<br>
BR,<br>
Jani.<br>
<br>
<br>
><br>
> Robert<br>
><br>
><br>
> 2015-01-14 11:40 GMT+01:00 Jani Nikula <<a href="mailto:jani.nikula@linux.intel.com">jani.nikula@linux.intel.com</a>>:<br>
><br>
>> On Wed, 14 Jan 2015, Robert Kuhn <<a href="mailto:spamhalde2@fastmail.fm">spamhalde2@fastmail.fm</a>> wrote:<br>
>> > using drm_kms_helper.edid_firmware the boot time is much longer (~1min)<br>
>> > than without it. I attach the boot log ("drm.debug=0x06"), one time<br>
>> > with drm_kms_helper.edid_firmware, one time without.<br>
>> ><br>
>> > What could be the problem?<br>
>> ><br>
>> > I am using Kernel 3.8.13-bone69 on a Beaglebone black. I<br>
>> > used drm_kms_helper.edid_firmware before and never saw this issue.<br>
>><br>
>> Just a guess, kernel doesn't find the firmware and you fallback to user<br>
>> mode helper, which is no longer supported by udev.<br>
>><br>
>> Try ensuring you have the path right, and disable FW_LOADER_USER_HELPER<br>
>> kernel config option.<br>
>><br>
>> HTH,<br>
>> Jani.<br>
<span class="HOEnZb"><font color="#888888">>><br>
>> --<br>
>> Jani Nikula, Intel Open Source Technology Center<br>
>><br>
> _______________________________________________<br>
> dri-devel mailing list<br>
> <a href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/dri-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/dri-devel</a><br>
<br>
--<br>
Jani Nikula, Intel Open Source Technology Center<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Mit freundlichen Grüßen<br>Robert W. Kuhn</div>
</div>