linux/drivers/gpu/drm/bridge
Tomi Valkeinen 8a6483ac63 drm/bridge: tc358767: fix poll timeouts
Link training fails with:

  Link training timeout waiting for LT_LOOPDONE!
  main link enable error: -110

This is caused by too tight timeouts, which were changed recently in
aa92213f38 ("drm/bridge: tc358767: Simplify polling in tc_link_training()").

With a quick glance, the commit does not change the timeouts. However,
the method of delaying/sleeping is different, and as the timeout in the
previous implementation was not explicit, the new version in practice
has much tighter timeout.

The same change was made to other parts in the driver, but the link
training timeout is the only one I have seen causing issues.
Nevertheless, 1 us sleep is not very sane, and the timeouts look pretty
tight, so lets fix all the timeouts.

One exception was the aux busy poll, where the poll sleep was much
longer than necessary (or optimal).

I measured the times on my setup, and now the sleep times are set to
such values that they result in multiple loops, but not too many (say,
5-10 loops). The timeouts were all increased to 100ms, which should be
more than enough for all of these, but in case of bad errors, shouldn't
stop the driver as multi-second timeouts could do.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Fixes: aa92213f38 ("drm/bridge: tc358767: Simplify polling in tc_link_training()")
Tested-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191209082707.24531-1-tomi.valkeinen@ti.com
2020-02-10 10:18:21 +01:00
..
adv7511 drm fixes for 5.4-rc1 2019-09-27 11:13:35 -07:00
analogix drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
synopsys drm main pull for 5.5-rc1 2019-11-27 17:45:48 -08:00
analogix-anx78xx.c drm/bridge: analogix-anx78xx: Avoid drm_dp_link helpers 2019-10-23 18:18:48 +02:00
analogix-anx78xx.h drm/bridge: analogix-anx78xx: add support for 7808 addresses 2019-10-10 11:24:11 +02:00
cdns-dsi.c drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
dumb-vga-dac.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
Kconfig drm/bridge: sil_sii8620: make remote control optional. 2019-10-10 10:42:15 +02:00
lvds-encoder.c drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
Makefile drm/bridge: tc358764: Add DSI to LVDS bridge driver 2018-07-27 09:09:57 +02:00
megachips-stdpxxxx-ge-b850v3-fw.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
nxp-ptn3460.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
panel.c drm/bridge: panel: Infer connector type from panel by default 2019-09-08 19:04:23 +02:00
parade-ps8622.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
sii902x.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
sii9234.c gpu: drm: bridge: sii9234: convert to devm_i2c_new_dummy_device 2019-10-10 08:57:27 +02:00
sil-sii8620.c drm/bridge: sil_sii8620: make remote control optional. 2019-10-10 10:42:15 +02:00
sil-sii8620.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
tc358764.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
tc358767.c drm/bridge: tc358767: fix poll timeouts 2020-02-10 10:18:21 +01:00
thc63lvd1024.c R-Car DU changes for v5.3: 2019-06-11 10:08:49 +02:00
ti-sn65dsi86.c drm: Stop including drm_bridge.h from drm_crtc.h 2019-08-28 22:11:03 +02:00
ti-tfp410.c This is the bulk of GPIO changes for the v5.5 kernel cycle 2019-12-01 17:56:50 -08:00