On 15.11.2017 21:26, Eric Anholt wrote: > 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? I guess you should call component_add only when all required resources are present(including panel), I suppose moving it to vc4_dsi_host_attach should help. Another (maybe better) solution is to look for panel after mipi_dsi_host_register, but before component_add, and fail if the panel is not present. On the other side I am curious why EPROBE_DEFER from bind does not fail probing of some component (the last one probed), with proper error propagation it should cause defer_probing of one of the components or master, and probe/bind should be retried after panel's probe. Regards Andrzej > > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel