* boot delay with drm_kms_helper.edid_firmware
@ 2015-01-14 7:40 Robert Kuhn
2015-01-14 10:40 ` Jani Nikula
0 siblings, 1 reply; 6+ messages in thread
From: Robert Kuhn @ 2015-01-14 7:40 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 359 bytes --]
Hi,
using drm_kms_helper.edid_firmware the boot time is much longer (~1min)
than without it. I attach the boot log ("drm.debug=0x06"), one time
with drm_kms_helper.edid_firmware, one time without.
What could be the problem?
I am using Kernel 3.8.13-bone69 on a Beaglebone black. I
used drm_kms_helper.edid_firmware before and never saw this issue.
Robert
[-- Attachment #1.2: Type: text/html, Size: 884 bytes --]
[-- Attachment #2: drm.log --]
[-- Type: application/octet-stream, Size: 13749 bytes --]
With edid_helper:
[ 0.000000] Kernel command line: console=ttyO0,115200n8 drm_kms_helper.edid_firmware=edid/1024x768.bin drm.debug=0x06 root=UUID=5473d0f0-8679-4fd9-9d0c-cd76cfc1785d ro rootfstype=ext4 rootwait fixrtc
[ 1.292503] [drm] Initialized drm 1.1.0 20060810
[ 2.530257] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 2.537176] [drm] No driver support for vblank timestamp query.
[ 2.543461] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1]
[ 62.751321] [drm] Got built-in EDID base block and 0 extensions from "edid/1024x768.bin" for connector "HDMI-A-1"
[ 62.762151] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1] probed modes :
[ 62.762165] [drm:drm_mode_debug_printmodeline], Modeline 7:"1024x768" 60 65000 1024 1032 1176 1344 768 771 777 806 0x48 0xa
[ 62.762181] [drm:drm_mode_debug_printmodeline], Modeline 8:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 62.762197] [drm:drm_setup_crtcs],
[ 62.762208] [drm:drm_enable_connectors], connector 5 enabled? yes
[ 62.762219] [drm:drm_target_preferred], looking for cmdline mode on connector 5
[ 62.762228] [drm:drm_target_preferred], looking for preferred mode on connector 5
[ 62.762238] [drm:drm_target_preferred], found mode 1024x768
[ 62.762246] [drm:drm_setup_crtcs], picking CRTCs for 2048x2048 config
[ 62.762258] [drm:drm_setup_crtcs], desired mode 1024x768 set on crtc 3
[ 62.762274] [drm:drm_fbdev_cma_create], surface width(1024), height(768) and bpp(16)
[ 62.764898] [drm:drm_crtc_helper_set_config],
[ 62.764907] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:10] #connectors=1 (x y) (0 0)
[ 62.764927] [drm:drm_crtc_helper_set_config], crtc has no fb, full mode set
[ 62.764933] [drm:drm_crtc_helper_set_config], modes are different, full mode set
[ 62.764943] [drm:drm_mode_debug_printmodeline], Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0
[ 62.764954] [drm:drm_mode_debug_printmodeline], Modeline 9:"1024x768" 60 65000 1024 1032 1176 1344 768 771 777 806 0x48 0xa
[ 62.764960] [drm:drm_crtc_helper_set_config], encoder changed, full mode switch
[ 62.764965] [drm:drm_crtc_helper_set_config], crtc changed, full mode switch
[ 62.764973] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 62.764979] [drm:drm_crtc_helper_set_config], attempting to set mode from userspace
[ 62.764990] [drm:drm_mode_debug_printmodeline], Modeline 9:"1024x768" 60 65000 1024 1032 1176 1344 768 771 777 806 0x48 0xa
[ 62.765007] [drm:drm_crtc_helper_set_mode], [CRTC:3]
[ 62.765252] [drm:drm_crtc_helper_set_mode], [ENCODER:4:TMDS-4] set [MODE:9:1024x768]
[ 62.802623] [drm:drm_crtc_helper_set_config], Setting connector DPMS state to on
[ 62.802633] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] set DPMS on
[ 62.802732] [drm:drm_crtc_helper_set_config],
[ 62.802741] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:10] #connectors=1 (x y) (0 0)
[ 62.802755] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 62.809056] [drm:drm_crtc_helper_set_config],
[ 62.809063] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:10] #connectors=1 (x y) (0 0)
[ 62.809076] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 62.832695] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[ 68.783090] [drm:drm_crtc_helper_set_config],
[ 68.783103] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:10] #connectors=1 (x y) (0 0)
[ 68.783131] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 70.388643] [drm:drm_crtc_helper_set_config],
[ 70.388656] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:10] #connectors=1 (x y) (0 0)
[ 70.388699] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 70.943587] [drm:drm_crtc_helper_set_config],
[ 70.943600] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:10] #connectors=1 (x y) (0 0)
[ 70.943630] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 72.845180] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 74.345648] [drm:drm_mode_getresources], CRTC[1] CONNECTORS[1] ENCODERS[1]
[ 74.345696] [drm:drm_mode_getresources], CRTC[1] CONNECTORS[1] ENCODERS[1]
[ 74.345730] [drm:drm_mode_getconnector], [CONNECTOR:5:?]
[ 74.345747] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1]
[ 74.367803] [drm] Got external EDID base block and 0 extensions from "edid/1024x768.bin" for connector "HDMI-A-1"
[ 74.367952] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1] probed modes :
[ 74.367967] [drm:drm_mode_debug_printmodeline], Modeline 7:"1024x768" 60 65000 1024 1032 1176 1344 768 771 777 806 0x48 0xa
[ 74.367983] [drm:drm_mode_debug_printmodeline], Modeline 8:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 74.368046] [drm:drm_mode_getconnector], [CONNECTOR:5:?]
[ 74.376351] [drm:drm_mode_addfb], [FB:11]
[ 74.424578] [drm:drm_mode_addfb], [FB:12]
[ 74.438231] [drm:drm_mode_setcrtc], [CRTC:3]
[ 74.438268] [drm:drm_mode_setcrtc], [CONNECTOR:5:HDMI-A-1]
[ 74.438280] [drm:drm_crtc_helper_set_config],
[ 74.438290] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:11] #connectors=1 (x y) (0 0)
[ 74.438319] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 74.438331] [drm:drm_crtc_helper_set_config], attempting to set mode from userspace
[ 74.438341] [drm:drm_mode_debug_printmodeline], Modeline 13:"1024x768" 60 65000 1024 1032 1176 1344 768 771 777 806 0x48 0xa
[ 74.438365] [drm:drm_crtc_helper_set_mode], [CRTC:3]
[ 74.522756] [drm:drm_crtc_helper_set_mode], [ENCODER:4:TMDS-4] set [MODE:13:1024x768]
[ 74.564698] [drm:drm_crtc_helper_set_config], Setting connector DPMS state to on
[ 74.564725] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] set DPMS on
[ 82.876613] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 92.907836] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 102.939096] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 112.970359] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 123.001594] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 133.032851] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 143.064105] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
Without edid_helper:
ubuntu@arm:~$ dmesg | grep drm
[ 0.000000] Kernel command line: console=ttyO0,115200n8 drm.debug=0x06 root=UUID=5473d0f0-8679-4fd9-9d0c-cd76cfc1785d ro rootfstype=ext4 rootwait fixrtc
[ 1.288626] [drm] Initialized drm 1.1.0 20060810
[ 2.524641] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[ 2.531559] [drm] No driver support for vblank timestamp query.
[ 2.537851] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1]
[ 2.561935] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1] probed modes :
[ 2.561950] [drm:drm_mode_debug_printmodeline], Modeline 7:"1024x768" 60 64090 1024 1080 1184 1344 768 769 775 795 0x48 0x5
[ 2.561966] [drm:drm_mode_debug_printmodeline], Modeline 10:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 2.561981] [drm:drm_mode_debug_printmodeline], Modeline 13:"1024x576" 60 46970 1024 1064 1168 1312 576 577 580 597 0x0 0x6
[ 2.561995] [drm:drm_mode_debug_printmodeline], Modeline 8:"800x600" 60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[ 2.562010] [drm:drm_mode_debug_printmodeline], Modeline 11:"800x600" 56 36000 800 824 896 1024 600 601 603 625 0x40 0x5
[ 2.562024] [drm:drm_mode_debug_printmodeline], Modeline 12:"848x480" 60 33750 848 864 976 1088 480 486 494 517 0x40 0x5
[ 2.562038] [drm:drm_mode_debug_printmodeline], Modeline 9:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa
[ 2.562053] [drm:drm_setup_crtcs],
[ 2.562064] [drm:drm_enable_connectors], connector 5 enabled? yes
[ 2.562075] [drm:drm_target_preferred], looking for cmdline mode on connector 5
[ 2.562084] [drm:drm_target_preferred], looking for preferred mode on connector 5
[ 2.562093] [drm:drm_target_preferred], found mode 1024x768
[ 2.562101] [drm:drm_setup_crtcs], picking CRTCs for 2048x2048 config
[ 2.562114] [drm:drm_setup_crtcs], desired mode 1024x768 set on crtc 3
[ 2.562130] [drm:drm_fbdev_cma_create], surface width(1024), height(768) and bpp(16)
[ 2.564690] [drm:drm_crtc_helper_set_config],
[ 2.564698] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:15] #connectors=1 (x y) (0 0)
[ 2.564717] [drm:drm_crtc_helper_set_config], crtc has no fb, full mode set
[ 2.564724] [drm:drm_crtc_helper_set_config], modes are different, full mode set
[ 2.564734] [drm:drm_mode_debug_printmodeline], Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0
[ 2.564745] [drm:drm_mode_debug_printmodeline], Modeline 14:"1024x768" 60 64090 1024 1080 1184 1344 768 769 775 795 0x48 0x5
[ 2.564751] [drm:drm_crtc_helper_set_config], encoder changed, full mode switch
[ 2.564756] [drm:drm_crtc_helper_set_config], crtc changed, full mode switch
[ 2.564764] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 2.564770] [drm:drm_crtc_helper_set_config], attempting to set mode from userspace
[ 2.564781] [drm:drm_mode_debug_printmodeline], Modeline 14:"1024x768" 60 64090 1024 1080 1184 1344 768 769 775 795 0x48 0x5
[ 2.564795] [drm:drm_crtc_helper_set_mode], [CRTC:3]
[ 2.564988] [drm:drm_crtc_helper_set_mode], [ENCODER:4:TMDS-4] set [MODE:14:1024x768]
[ 2.601718] [drm:drm_crtc_helper_set_config], Setting connector DPMS state to on
[ 2.601727] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] set DPMS on
[ 2.601825] [drm:drm_crtc_helper_set_config],
[ 2.601833] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:15] #connectors=1 (x y) (0 0)
[ 2.601847] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 2.608074] [drm:drm_crtc_helper_set_config],
[ 2.608081] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:15] #connectors=1 (x y) (0 0)
[ 2.608095] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 2.631670] [drm] Initialized tilcdc 1.0.0 20121205 on minor 0
[ 8.920684] [drm:drm_crtc_helper_set_config],
[ 8.920697] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:15] #connectors=1 (x y) (0 0)
[ 8.920727] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 10.401051] [drm:drm_crtc_helper_set_config],
[ 10.401065] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:15] #connectors=1 (x y) (0 0)
[ 10.401101] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 10.916268] [drm:drm_crtc_helper_set_config],
[ 10.916280] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:15] #connectors=1 (x y) (0 0)
[ 10.916309] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 12.659905] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[ 14.391691] [drm:drm_mode_getresources], CRTC[1] CONNECTORS[1] ENCODERS[1]
[ 14.391743] [drm:drm_mode_getresources], CRTC[1] CONNECTORS[1] ENCODERS[1]
[ 14.391781] [drm:drm_mode_getconnector], [CONNECTOR:5:?]
[ 14.391799] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1]
[ 14.423676] [drm:drm_helper_probe_single_connector_modes], [CONNECTOR:5:HDMI-A-1] probed modes :
[ 14.423701] [drm:drm_mode_debug_printmodeline], Modeline 7:"1024x768" 60 64090 1024 1080 1184 1344 768 769 775 795 0x48 0x5
[ 14.423718] [drm:drm_mode_debug_printmodeline], Modeline 10:"1024x768" 60 65000 1024 1048 1184 1344 768 771 777 806 0x40 0xa
[ 14.423733] [drm:drm_mode_debug_printmodeline], Modeline 13:"1024x576" 60 46970 1024 1064 1168 1312 576 577 580 597 0x0 0x6
[ 14.423747] [drm:drm_mode_debug_printmodeline], Modeline 8:"800x600" 60 40000 800 840 968 1056 600 601 605 628 0x40 0x5
[ 14.423761] [drm:drm_mode_debug_printmodeline], Modeline 11:"800x600" 56 36000 800 824 896 1024 600 601 603 625 0x40 0x5
[ 14.423776] [drm:drm_mode_debug_printmodeline], Modeline 12:"848x480" 60 33750 848 864 976 1088 480 486 494 517 0x40 0x5
[ 14.423790] [drm:drm_mode_debug_printmodeline], Modeline 9:"640x480" 60 25200 640 656 752 800 480 490 492 525 0x40 0xa
[ 14.423835] [drm:drm_mode_getconnector], [CONNECTOR:5:?]
[ 14.427680] [drm:drm_mode_addfb], [FB:16]
[ 14.452794] [drm:drm_mode_addfb], [FB:17]
[ 14.463976] [drm:drm_mode_setcrtc], [CRTC:3]
[ 14.464022] [drm:drm_mode_setcrtc], [CONNECTOR:5:HDMI-A-1]
[ 14.464034] [drm:drm_crtc_helper_set_config],
[ 14.464043] [drm:drm_crtc_helper_set_config], [CRTC:3] [FB:16] #connectors=1 (x y) (0 0)
[ 14.464071] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] to [CRTC:3]
[ 14.464084] [drm:drm_crtc_helper_set_config], attempting to set mode from userspace
[ 14.464093] [drm:drm_mode_debug_printmodeline], Modeline 18:"1024x768" 60 64090 1024 1080 1184 1344 768 769 775 795 0x48 0x5
[ 14.464116] [drm:drm_crtc_helper_set_mode], [CRTC:3]
[ 14.554344] [drm:drm_crtc_helper_set_mode], [ENCODER:4:TMDS-4] set [MODE:18:1024x768]
[ 14.594240] [drm:drm_crtc_helper_set_config], Setting connector DPMS state to on
[ 14.594269] [drm:drm_crtc_helper_set_config], [CONNECTOR:5:HDMI-A-1] set DPMS on
[ 22.689340] [drm:output_poll_execute], [CONNECTOR:5:HDMI-A-1] status updated from 1 to 1
[-- Attachment #3: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: boot delay with drm_kms_helper.edid_firmware
2015-01-14 7:40 boot delay with drm_kms_helper.edid_firmware Robert Kuhn
@ 2015-01-14 10:40 ` Jani Nikula
2015-01-14 11:42 ` Robert Kuhn
0 siblings, 1 reply; 6+ messages in thread
From: Jani Nikula @ 2015-01-14 10:40 UTC (permalink / raw)
To: Robert Kuhn, dri-devel
On Wed, 14 Jan 2015, Robert Kuhn <spamhalde2@fastmail.fm> wrote:
> using drm_kms_helper.edid_firmware the boot time is much longer (~1min)
> than without it. I attach the boot log ("drm.debug=0x06"), one time
> with drm_kms_helper.edid_firmware, one time without.
>
> What could be the problem?
>
> I am using Kernel 3.8.13-bone69 on a Beaglebone black. I
> used drm_kms_helper.edid_firmware before and never saw this issue.
Just a guess, kernel doesn't find the firmware and you fallback to user
mode helper, which is no longer supported by udev.
Try ensuring you have the path right, and disable FW_LOADER_USER_HELPER
kernel config option.
HTH,
Jani.
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: boot delay with drm_kms_helper.edid_firmware
2015-01-14 10:40 ` Jani Nikula
@ 2015-01-14 11:42 ` Robert Kuhn
2015-01-14 13:32 ` Jani Nikula
0 siblings, 1 reply; 6+ messages in thread
From: Robert Kuhn @ 2015-01-14 11:42 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 1566 bytes --]
Hi,
thanks for the answer. This is my kernel config:
developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep
FW_LOADER_USER_HELPER .config
developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep DRM
.config
CONFIG_DRM=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
CONFIG_DRM_I2C_NXP_TDA998X=y
# CONFIG_DRM_UDL is not set
CONFIG_DRM_TILCDC=y
# CONFIG_DRM_OMAP is not set
I am quite sure that in the end kernel finds firmware because otherwise the
display isn't working. I only get a image on the display if my edid file is
used.
Robert
2015-01-14 11:40 GMT+01:00 Jani Nikula <jani.nikula@linux.intel.com>:
> On Wed, 14 Jan 2015, Robert Kuhn <spamhalde2@fastmail.fm> wrote:
> > using drm_kms_helper.edid_firmware the boot time is much longer (~1min)
> > than without it. I attach the boot log ("drm.debug=0x06"), one time
> > with drm_kms_helper.edid_firmware, one time without.
> >
> > What could be the problem?
> >
> > I am using Kernel 3.8.13-bone69 on a Beaglebone black. I
> > used drm_kms_helper.edid_firmware before and never saw this issue.
>
> Just a guess, kernel doesn't find the firmware and you fallback to user
> mode helper, which is no longer supported by udev.
>
> Try ensuring you have the path right, and disable FW_LOADER_USER_HELPER
> kernel config option.
>
> HTH,
> Jani.
>
> --
> Jani Nikula, Intel Open Source Technology Center
>
[-- Attachment #1.2: Type: text/html, Size: 2375 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: boot delay with drm_kms_helper.edid_firmware
2015-01-14 11:42 ` Robert Kuhn
@ 2015-01-14 13:32 ` Jani Nikula
2015-01-14 15:21 ` Robert Kuhn
0 siblings, 1 reply; 6+ messages in thread
From: Jani Nikula @ 2015-01-14 13:32 UTC (permalink / raw)
To: Robert Kuhn, dri-devel
On Wed, 14 Jan 2015, Robert Kuhn <spamhalde2@fastmail.fm> wrote:
> Hi,
>
> thanks for the answer. This is my kernel config:
>
> developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep
> FW_LOADER_USER_HELPER .config
Ah, you wouldn't have that since it's been added in v3.9.
> developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep DRM
> .config
> CONFIG_DRM=y
> CONFIG_DRM_KMS_HELPER=y
> CONFIG_DRM_LOAD_EDID_FIRMWARE=y
> CONFIG_DRM_GEM_CMA_HELPER=y
> CONFIG_DRM_KMS_CMA_HELPER=y
> # CONFIG_DRM_I2C_CH7006 is not set
> # CONFIG_DRM_I2C_SIL164 is not set
> CONFIG_DRM_I2C_NXP_TDA998X=y
> # CONFIG_DRM_UDL is not set
> CONFIG_DRM_TILCDC=y
> # CONFIG_DRM_OMAP is not set
>
>
> I am quite sure that in the end kernel finds firmware because otherwise the
> display isn't working. I only get a image on the display if my edid file is
> used.
Okay, got it:
[ 62.751321] [drm] Got built-in EDID base block and 0 extensions from "edid/1024x768.bin" for connector "HDMI-A-1"
the "built-in" here tells us the the EDID is embedded in the
drm_kms_helper module (drivers/gpu/drm/drm_edid_load.c). But first the
v3.8 kernel attempts to load the EDID from the filesystem, and fails,
then delegates to the (now deprecated) user mode helper, which fails
after a timeout. This is the delay you see. (See abb139e75c2c firmware:
teach the kernel to load firmware files directly from the filesystem.)
Starting from v3.13 the EDID firmware loader tries the built-in ones
first, bypassing the regular firmware loader completely if one is
found. (See 9066f83c055e drm: Try loading builtin EDIDs first.)
Your options are upgrading to at least v3.13 (but hey, why not go all
the way to v3.18 or later while at it?! ;) or making sure you have the
EDID firmware in the filesystem so that the kernel can load it
directly. The path is a concatenation of one of the below (from
drivers/base/firmware_class.c; fw_path_para comes from
firmware_class.path module parameter) and the firmware name, i.e.
drm_kms_helper.edid_firmware in this case:
static const char * const fw_path[] = {
fw_path_para,
"/lib/firmware/updates/" UTS_RELEASE,
"/lib/firmware/updates",
"/lib/firmware/" UTS_RELEASE,
"/lib/firmware"
};
Just put your edid to, say, /lib/firmware/path/to/edid and add module
parameter drm_kms_helper.edid_firmware=path/to/edid.
And thus concludes today's lesson in Linux archeology. Thank you for
your attention. ;)
BR,
Jani.
>
> Robert
>
>
> 2015-01-14 11:40 GMT+01:00 Jani Nikula <jani.nikula@linux.intel.com>:
>
>> On Wed, 14 Jan 2015, Robert Kuhn <spamhalde2@fastmail.fm> wrote:
>> > using drm_kms_helper.edid_firmware the boot time is much longer (~1min)
>> > than without it. I attach the boot log ("drm.debug=0x06"), one time
>> > with drm_kms_helper.edid_firmware, one time without.
>> >
>> > What could be the problem?
>> >
>> > I am using Kernel 3.8.13-bone69 on a Beaglebone black. I
>> > used drm_kms_helper.edid_firmware before and never saw this issue.
>>
>> Just a guess, kernel doesn't find the firmware and you fallback to user
>> mode helper, which is no longer supported by udev.
>>
>> Try ensuring you have the path right, and disable FW_LOADER_USER_HELPER
>> kernel config option.
>>
>> HTH,
>> Jani.
>>
>> --
>> Jani Nikula, Intel Open Source Technology Center
>>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: boot delay with drm_kms_helper.edid_firmware
2015-01-14 13:32 ` Jani Nikula
@ 2015-01-14 15:21 ` Robert Kuhn
2015-01-15 8:59 ` Jani Nikula
0 siblings, 1 reply; 6+ messages in thread
From: Robert Kuhn @ 2015-01-14 15:21 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 5213 bytes --]
Hi,
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.
For testing I renamed my edid to myedid.bin. Now I got (of course):
[ 0.767201] pinctrl-single 44e10800.pinmux: pin 44e10854 already
requested by 44e10800.pinmux; cannot claim for gpio-leds.8
[ 0.778895] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status
-22
[ 0.786166] pinctrl-single 44e10800.pinmux: could not request pin 21 on
device pinctrl-single
[ 61.001555] [drm:edid_load] *ERROR* Requesting EDID firmware
"edid/myedid.bin" failed (err=-2)
But there is the file:
debian@beaglebone:~$ ls -ls /lib/firmware/edid/
total 4
4 -rw-r--r-- 1 debian debian 128 Feb 17 2014 myedid.bin
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.
Thanks!
2015-01-14 14:32 GMT+01:00 Jani Nikula <jani.nikula@linux.intel.com>:
> On Wed, 14 Jan 2015, Robert Kuhn <spamhalde2@fastmail.fm> wrote:
> > Hi,
> >
> > thanks for the answer. This is my kernel config:
> >
> > developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep
> > FW_LOADER_USER_HELPER .config
>
> Ah, you wouldn't have that since it's been added in v3.9.
>
> > developer@ubuntu:~/beaglebone/debian-fw/bb-kernel/KERNEL$ grep DRM
> > .config
> > CONFIG_DRM=y
> > CONFIG_DRM_KMS_HELPER=y
> > CONFIG_DRM_LOAD_EDID_FIRMWARE=y
> > CONFIG_DRM_GEM_CMA_HELPER=y
> > CONFIG_DRM_KMS_CMA_HELPER=y
> > # CONFIG_DRM_I2C_CH7006 is not set
> > # CONFIG_DRM_I2C_SIL164 is not set
> > CONFIG_DRM_I2C_NXP_TDA998X=y
> > # CONFIG_DRM_UDL is not set
> > CONFIG_DRM_TILCDC=y
> > # CONFIG_DRM_OMAP is not set
> >
> >
> > I am quite sure that in the end kernel finds firmware because otherwise
> the
> > display isn't working. I only get a image on the display if my edid file
> is
> > used.
>
> Okay, got it:
>
> [ 62.751321] [drm] Got built-in EDID base block and 0 extensions from
> "edid/1024x768.bin" for connector "HDMI-A-1"
>
> the "built-in" here tells us the the EDID is embedded in the
> drm_kms_helper module (drivers/gpu/drm/drm_edid_load.c). But first the
> v3.8 kernel attempts to load the EDID from the filesystem, and fails,
> then delegates to the (now deprecated) user mode helper, which fails
> after a timeout. This is the delay you see. (See abb139e75c2c firmware:
> teach the kernel to load firmware files directly from the filesystem.)
>
> Starting from v3.13 the EDID firmware loader tries the built-in ones
> first, bypassing the regular firmware loader completely if one is
> found. (See 9066f83c055e drm: Try loading builtin EDIDs first.)
>
> Your options are upgrading to at least v3.13 (but hey, why not go all
> the way to v3.18 or later while at it?! ;) or making sure you have the
> EDID firmware in the filesystem so that the kernel can load it
> directly. The path is a concatenation of one of the below (from
> drivers/base/firmware_class.c; fw_path_para comes from
> firmware_class.path module parameter) and the firmware name, i.e.
> drm_kms_helper.edid_firmware in this case:
>
> static const char * const fw_path[] = {
> fw_path_para,
> "/lib/firmware/updates/" UTS_RELEASE,
> "/lib/firmware/updates",
> "/lib/firmware/" UTS_RELEASE,
> "/lib/firmware"
> };
>
> Just put your edid to, say, /lib/firmware/path/to/edid and add module
> parameter drm_kms_helper.edid_firmware=path/to/edid.
>
> And thus concludes today's lesson in Linux archeology. Thank you for
> your attention. ;)
>
> BR,
> Jani.
>
>
> >
> > Robert
> >
> >
> > 2015-01-14 11:40 GMT+01:00 Jani Nikula <jani.nikula@linux.intel.com>:
> >
> >> On Wed, 14 Jan 2015, Robert Kuhn <spamhalde2@fastmail.fm> wrote:
> >> > using drm_kms_helper.edid_firmware the boot time is much longer
> (~1min)
> >> > than without it. I attach the boot log ("drm.debug=0x06"), one time
> >> > with drm_kms_helper.edid_firmware, one time without.
> >> >
> >> > What could be the problem?
> >> >
> >> > I am using Kernel 3.8.13-bone69 on a Beaglebone black. I
> >> > used drm_kms_helper.edid_firmware before and never saw this issue.
> >>
> >> Just a guess, kernel doesn't find the firmware and you fallback to user
> >> mode helper, which is no longer supported by udev.
> >>
> >> Try ensuring you have the path right, and disable FW_LOADER_USER_HELPER
> >> kernel config option.
> >>
> >> HTH,
> >> Jani.
> >>
> >> --
> >> Jani Nikula, Intel Open Source Technology Center
> >>
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Jani Nikula, Intel Open Source Technology Center
>
--
Mit freundlichen Grüßen
Robert W. Kuhn
[-- Attachment #1.2: Type: text/html, Size: 6789 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: boot delay with drm_kms_helper.edid_firmware
2015-01-14 15:21 ` Robert Kuhn
@ 2015-01-15 8:59 ` Jani Nikula
0 siblings, 0 replies; 6+ messages in thread
From: Jani Nikula @ 2015-01-15 8:59 UTC (permalink / raw)
To: Robert Kuhn, dri-devel
On Wed, 14 Jan 2015, Robert Kuhn <robert@ku.hn> wrote:
> 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.
>
> For testing I renamed my edid to myedid.bin. Now I got (of course):
> [ 0.767201] pinctrl-single 44e10800.pinmux: pin 44e10854 already
> requested by 44e10800.pinmux; cannot claim for gpio-leds.8
> [ 0.778895] pinctrl-single 44e10800.pinmux: pin-21 (gpio-leds.8) status
> -22
> [ 0.786166] pinctrl-single 44e10800.pinmux: could not request pin 21 on
> device pinctrl-single
> [ 61.001555] [drm:edid_load] *ERROR* Requesting EDID firmware
> "edid/myedid.bin" failed (err=-2)
>
> But there is the file:
> debian@beaglebone:~$ ls -ls /lib/firmware/edid/
> total 4
> 4 -rw-r--r-- 1 debian debian 128 Feb 17 2014 myedid.bin
Hmm, you have drm and drm_kms_helper built-in to the kernel. If you're
using an initrd, I believe the firmware loader will look there instead
of your rootfs. I am not sure if having the modules loadable but still
in initrd helps, probably not. You may need to have the modules in
rootfs or put the edid in initrd. It gets a bit tricky.
> So with 3.8. its not possible to tell the kernel to load the buildin first?
That seems to be the case.
> Okay, then I will try the v3.18.x branch for Beaglebone.
Good luck!
> Thanks!
No problem.
BR,
Jani.
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-01-15 8:59 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-14 7:40 boot delay with drm_kms_helper.edid_firmware Robert Kuhn
2015-01-14 10:40 ` Jani Nikula
2015-01-14 11:42 ` Robert Kuhn
2015-01-14 13:32 ` Jani Nikula
2015-01-14 15:21 ` Robert Kuhn
2015-01-15 8:59 ` Jani Nikula
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.