.../bindings/display/bridge/ti,sn65dsi83.yaml | 3 + drivers/gpu/drm/bridge/ti-sn65dsi83.c | 142 ++++++++++++++++++ drivers/gpu/drm/drm_atomic_helper.c | 41 +++++ drivers/gpu/drm/vc4/vc4_hdmi.c | 30 +--- include/drm/drm_atomic_helper.h | 2 + 5 files changed, 189 insertions(+), 29 deletions(-)
Hi,
Usually the TI SN65DSI83 recovers from error by itself but during ESD
tests, we have some cases where the TI SN65DSI83 didn't recover.
In order to handle those cases, this series adds support for a recovery
mechanism.
Compare to the previous iteration, this v6 series fixes a NULL
pointer dereference.
Best regards,
Hervé Codina
Changes v5 -> v6
v5: https://lore.kernel.org/lkml/20250203161607.223731-1-herve.codina@bootlin.com/
- Patch 1:
No change
- Patch 2
Add 'Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>'
Add 'Reviewed-by: Maxime Ripard <mripard@kernel.org>'
- Patch 3
Add 'Acked-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>'
Add 'Reviewed-by: Maxime Ripard <mripard@kernel.org>'
- Patch 4
Add 'Reviewed-by: Maxime Ripard <mripard@kernel.org>'
Fix a NULL pointer dereference reported by Alexander Stein in v5.
Mode the dev_warn() signaling the pipe reset closer to the pipe
reset operation itfelf.
Changes v4 -> v5
v4: https://lore.kernel.org/lkml/20250203145824.155869-1-herve.codina@bootlin.com/
Exact same changes as the v4. The v4 series doesn't apply on top of
v6.14-rc1 and should be simply ignore.
This v5 series is the v4 fixed to apply on top of v6.14-rc1.
Changes v3 -> v4
v3: https://lore.kernel.org/lkml/20250108101907.410456-1-herve.codina@bootlin.com/
- Patch 1:
No changes
- Patch 2 and 3 (patch 2 in v3):
Rename the helper to drm_atomic_helper_reset_crtc()
Split the patch available in v3 in two patches.
- Patch 4 (patch 3 in v3):
Take into account commit d2b8c6d549570 ("drm/bridge: ti-sn65dsi83:
Add ti,lvds-vod-swing optional properties"), available in v6.14-rc1.
Disable irq when a fault is detected and re-enable it after the pipe
reset.
Remove state duplication and use bridge.encoder->crtc directly
Changes v2 -> v3
v2: https://lore.kernel.org/lkml/20241217143216.658461-1-herve.codina@bootlin.com/
- Patch 1:
No changes
- Patch 2 (new in v3)
Move reset_pipe() from VC4 HDMI driver to a new atomic helper
- Patch 3
Use the new drm_atomic_helper_reset_pipe()
Patch removed in v3
- Patch 2 in v2
No more needed
Changes v1 -> v2
v1: https://lore.kernel.org/lkml/20241024095539.1637280-1-herve.codina@bootlin.com/
- Patch 1:
Add 'Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>'
Add 'Acked-by: Conor Dooley <conor.dooley@microchip.com>'
- Patch 2 (new patch in v2)
Introduce drm_atomic_helper_disable_connector()
- Patch 3 (patch 2 in v1)
Reset the output path instead of the full pipeline.
Update and add more information related to the bridge in commit log.
Herve Codina (4):
dt-bindings: display: bridge: sn65dsi83: Add interrupt
drm/atomic-helper: Introduce drm_atomic_helper_reset_crtc()
drm/vc4: hdmi: Use drm_atomic_helper_reset_crtc()
drm: bridge: ti-sn65dsi83: Add error recovery mechanism
.../bindings/display/bridge/ti,sn65dsi83.yaml | 3 +
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 142 ++++++++++++++++++
drivers/gpu/drm/drm_atomic_helper.c | 41 +++++
drivers/gpu/drm/vc4/vc4_hdmi.c | 30 +---
include/drm/drm_atomic_helper.h | 2 +
5 files changed, 189 insertions(+), 29 deletions(-)
--
2.48.1
Hi,
Am Montag, 10. Februar 2025, 14:26:15 CET schrieb Herve Codina:
> Hi,
>
> Usually the TI SN65DSI83 recovers from error by itself but during ESD
> tests, we have some cases where the TI SN65DSI83 didn't recover.
>
> In order to handle those cases, this series adds support for a recovery
> mechanism.
>
> Compare to the previous iteration, this v6 series fixes a NULL
> pointer dereference.
>
> Best regards,
> Hervé Codina
FWIW
Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> #tqma8mqml-mba8mx
> Changes v5 -> v6
> v5: https://lore.kernel.org/lkml/20250203161607.223731-1-herve.codina@bootlin.com/
>
> - Patch 1:
> No change
>
> - Patch 2
> Add 'Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>'
> Add 'Reviewed-by: Maxime Ripard <mripard@kernel.org>'
>
> - Patch 3
> Add 'Acked-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>'
> Add 'Reviewed-by: Maxime Ripard <mripard@kernel.org>'
>
> - Patch 4
> Add 'Reviewed-by: Maxime Ripard <mripard@kernel.org>'
> Fix a NULL pointer dereference reported by Alexander Stein in v5.
> Mode the dev_warn() signaling the pipe reset closer to the pipe
> reset operation itfelf.
>
> Changes v4 -> v5
> v4: https://lore.kernel.org/lkml/20250203145824.155869-1-herve.codina@bootlin.com/
>
> Exact same changes as the v4. The v4 series doesn't apply on top of
> v6.14-rc1 and should be simply ignore.
> This v5 series is the v4 fixed to apply on top of v6.14-rc1.
>
> Changes v3 -> v4
> v3: https://lore.kernel.org/lkml/20250108101907.410456-1-herve.codina@bootlin.com/
>
> - Patch 1:
> No changes
>
> - Patch 2 and 3 (patch 2 in v3):
> Rename the helper to drm_atomic_helper_reset_crtc()
> Split the patch available in v3 in two patches.
>
> - Patch 4 (patch 3 in v3):
> Take into account commit d2b8c6d549570 ("drm/bridge: ti-sn65dsi83:
> Add ti,lvds-vod-swing optional properties"), available in v6.14-rc1.
> Disable irq when a fault is detected and re-enable it after the pipe
> reset.
> Remove state duplication and use bridge.encoder->crtc directly
>
> Changes v2 -> v3
> v2: https://lore.kernel.org/lkml/20241217143216.658461-1-herve.codina@bootlin.com/
>
> - Patch 1:
> No changes
>
> - Patch 2 (new in v3)
> Move reset_pipe() from VC4 HDMI driver to a new atomic helper
>
> - Patch 3
> Use the new drm_atomic_helper_reset_pipe()
>
> Patch removed in v3
> - Patch 2 in v2
> No more needed
>
> Changes v1 -> v2
> v1: https://lore.kernel.org/lkml/20241024095539.1637280-1-herve.codina@bootlin.com/
>
> - Patch 1:
> Add 'Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>'
> Add 'Acked-by: Conor Dooley <conor.dooley@microchip.com>'
>
> - Patch 2 (new patch in v2)
> Introduce drm_atomic_helper_disable_connector()
>
> - Patch 3 (patch 2 in v1)
> Reset the output path instead of the full pipeline.
> Update and add more information related to the bridge in commit log.
>
> Herve Codina (4):
> dt-bindings: display: bridge: sn65dsi83: Add interrupt
> drm/atomic-helper: Introduce drm_atomic_helper_reset_crtc()
> drm/vc4: hdmi: Use drm_atomic_helper_reset_crtc()
> drm: bridge: ti-sn65dsi83: Add error recovery mechanism
>
> .../bindings/display/bridge/ti,sn65dsi83.yaml | 3 +
> drivers/gpu/drm/bridge/ti-sn65dsi83.c | 142 ++++++++++++++++++
> drivers/gpu/drm/drm_atomic_helper.c | 41 +++++
> drivers/gpu/drm/vc4/vc4_hdmi.c | 30 +---
> include/drm/drm_atomic_helper.h | 2 +
> 5 files changed, 189 insertions(+), 29 deletions(-)
>
>
--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/
On Mon, Feb 10, 2025 at 02:26:15PM +0100, Herve Codina wrote: > Hi, > > Usually the TI SN65DSI83 recovers from error by itself but during ESD > tests, we have some cases where the TI SN65DSI83 didn't recover. > > In order to handle those cases, this series adds support for a recovery > mechanism. > > Compare to the previous iteration, this v6 series fixes a NULL > pointer dereference. Applied to drm-misc-next, thanks Maxime
© 2016 - 2025 Red Hat, Inc.