diff options
author | Herve Codina <herve.codina@bootlin.com> | 2025-02-10 14:26:19 +0100 |
---|---|---|
committer | Maxime Ripard <mripard@kernel.org> | 2025-02-13 16:18:27 +0100 |
commit | ad5c6ecef27e4f54748b7aa0815a722f83df5bce (patch) | |
tree | 90c2de8d4e782d2681b39be03d6f64acb5016155 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 9f3f59382a4e83c9fdfbaf1d8eb2ccfcd51cd38c (diff) |
drm: bridge: ti-sn65dsi83: Add error recovery mechanism
In some cases observed during ESD tests, the TI SN65DSI83 cannot recover
from errors by itself. A full restart of the bridge is needed in those
cases to have the bridge output LVDS signals again.
Also, during tests, cases were observed where reading the status of the
bridge was not even possible. Indeed, in those cases, the bridge stops
to acknowledge I2C transactions. Only a full reset of the bridge (power
off/on) brings back the bridge to a functional state.
The TI SN65DSI83 has some error detection capabilities. Introduce an
error recovery mechanism based on this detection.
The errors detected are signaled through an interrupt. On system where
this interrupt is not available, the driver uses a polling monitoring
fallback to check for errors. When an error is present or when reading
the bridge status leads to an I2C failure, the recovery process is
launched.
Restarting the bridge needs to redo the initialization sequence. This
initialization sequence has to be done with the DSI data lanes driven in
LP11 state. In order to do that, the recovery process resets the whole
output path (i.e the path from the encoder to the connector) where the
bridge is located.
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20250210132620.42263-5-herve.codina@bootlin.com
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions