-EPROBE_DEFER and failed DSI panel probe

Eric Anholt eric at anholt.net
Wed Nov 15 20:26:48 UTC 2017


I'm happy to have the DSI panel finally working on VC4 (just waiting on
https://lists.freedesktop.org/archives/dri-devel/2017-October/156407.html),
but now I've got another problem to solve.  It would be great if I could
include the DSI panel in our upstream DT, so that it automatically
worked when you plugged one in.  However, right now we return
-EPROBE_DEFER during bind unless the panel has actually shown up.  This
means that if you don't have the panel actually connected, you get this
sequence at startup:

[   10.719929] [drm] Initialized
[   10.829510] vc4_hdmi 3f902000.hdmi: vc4-hdmi-hifi <-> 3f902000.hdmi mapping ok
[   10.844043] vc4-drm soc:gpu: bound 3f902000.hdmi (ops vc4_hdmi_ops [vc4])
[   10.848626] vc4-drm soc:gpu: bound 3f806000.vec (ops vc4_vec_ops [vc4])
[   10.850214] vc4-drm soc:gpu: failed to bind 3f700000.dsi (ops vc4_dsi_ops [vc4]): -517
[   10.856559] vc4-drm soc:gpu: master bind failed: -517

[...]

[   10.967718] rpi_touchscreen 3-0045: Atmel I2C read failed: -6

Once the panel driver fails to probe, we never get asked to re-bind vc4,
and drm_of_find_panel_or_bridge looks like it would just give us
-EPROBE_DEFER again since the panel still wasn't registered.

Does anyone have any suggestions for handling this?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20171115/349a09ed/attachment.sig>


More information about the dri-devel mailing list