Re: -EPROBE_DEFER and failed DSI panel probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 15, 2017 at 2:26 PM, Eric Anholt <eric@xxxxxxxxxx> 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?

You can modify the live DT marking the panel disabled (updating/adding
the status property) in the rpi_touchscreen probe. Then you would need
to get the status property re-read on the panel node which I'm not
sure would happen currently. Getting this latter part working would be
useful also for cases were applying a DT overlay enables/disables a
panel.

Rob
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux