axime Ripard wrote:
> > > > On Mon, Oct 28, 2024 at 01:28:57PM +0200, Laurent Pinchart wrote:
> > > > > On Mon, Oct 28, 2024 at 09:13:31AM +0100, Herve Codina wrote:
> > > > > > On Sun, 27 Oct 2024 18:23:50 +0200 Laurent Pinchart wrote:
> > > > &g
Hi Marek,
On Sat, 26 Oct 2024 00:53:51 +0200
Marek Vasut wrote:
> On 10/24/24 11:55 AM, Herve Codina wrote:
> > 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 h
Hi Laurent,
On Sun, 27 Oct 2024 18:23:50 +0200
Laurent Pinchart wrote:
[...]
> > +static int sn65dsi83_reset_pipeline(struct sn65dsi83 *sn65dsi83)
> > +{
> > + struct drm_device *dev = sn65dsi83->bridge.dev;
> > + struct drm_modeset_acquire_ctx ctx;
> > + struct drm_atomic_state *state;
>
On Mon, 28 Oct 2024 15:47:25 +0100
Marek Vasut wrote:
> On 10/28/24 2:52 PM, Herve Codina wrote:
> > Hi Marek,
>
> Hi,
>
> >>> On Sat, 26 Oct 2024 00:53:51 +0200
> >>> Marek Vasut wrote:
> >>>
> >>>> On 10/24/24 11:5
Hi Marek,
On Mon, 28 Oct 2024 12:47:14 +0100
Marek Vasut wrote:
> On 10/28/24 9:02 AM, Herve Codina wrote:
> > Hi Marek,
>
> Hi,
>
> > On Sat, 26 Oct 2024 00:53:51 +0200
> > Marek Vasut wrote:
> >
> >> On 10/24/24 11:55 AM, Herve Codina wro
Both the TI SN65DSI83 and SN65DSI84 bridges have an IRQ pin to signal
errors using interrupt.
This interrupt is not documented in the binding.
Add the missing interrupts property.
Signed-off-by: Herve Codina
---
.../devicetree/bindings/display/bridge/ti,sn65dsi83.yaml | 3 +++
1 file
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.
Best regards,
Hervé Codina
Herve Codina (2):
dt-bindings: di
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 entire
pipeline.
Signed-off-by: Herve Codina
---
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 128 ++
1 file changed
Hi all,
Oops, this series doesn't apply on top of v6.14-rc1. My bad, sorry about
that.
Please ignore this series. I will send soon a new iteration fixed.
Apologies,
Hervé
On Mon, 3 Feb 2025 15:58:19 +0100
Herve Codina wrote:
> Hi,
>
> Usually the TI SN65DSI83 recovers from e
Hi Dmitry,
On Mon, 3 Feb 2025 17:56:33 +0200
Dmitry Baryshkov wrote:
> On Mon, Feb 03, 2025 at 03:58:21PM +0100, Herve Codina wrote:
> > drm_atomic_helper_reset_crtc() allows to reset the CRTC active outputs.
> >
> > This resets all active components available
Hi Dmitry,
On Mon, 3 Feb 2025 17:56:46 +0200
Dmitry Baryshkov wrote:
> On Mon, Feb 03, 2025 at 03:58:22PM +0100, Herve Codina wrote:
> > The current code uses a the reset_pipe() local function to reset the
> > CRTC outputs.
> >
> > drm_atomic_helper_reset_crtc() h
#x27;
- 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: sn65d
drm_atomic_helper_reset_crtc() allows to reset the CRTC active outputs.
This resets all active components available between the CRTC and
connectors.
Signed-off-by: Herve Codina
---
drivers/gpu/drm/drm_atomic_helper.c | 41 +
include/drm/drm_atomic_helper.h | 2
The current code uses a the reset_pipe() local function to reset the
CRTC outputs.
drm_atomic_helper_reset_crtc() has been introduced recently and it
performs exact same operations.
In order to avoid code duplication, use the new helper instead of the
local function.
Signed-off-by: Herve Codina
Both the TI SN65DSI83 and SN65DSI84 bridges have an IRQ pin to signal
errors using interrupt.
This interrupt is not documented in the binding.
Add the missing interrupts property.
Signed-off-by: Herve Codina
Reviewed-by: Laurent Pinchart
Acked-by: Conor Dooley
---
.../devicetree/bindings
: Herve Codina
---
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 131 ++
1 file changed, 131 insertions(+)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index d6814b065897..856fdd774c8c 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
l 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-sn65
The current code uses a the reset_pipe() local function to reset the
CRTC outputs.
drm_atomic_helper_reset_crtc() has been introduced recently and it
performs exact same operations.
In order to avoid code duplication, use the new helper instead of the
local function.
Signed-off-by: Herve Codina
drm_atomic_helper_reset_crtc() allows to reset the CRTC active outputs.
This resets all active components available between the CRTC and
connectors.
Signed-off-by: Herve Codina
---
drivers/gpu/drm/drm_atomic_helper.c | 41 +
include/drm/drm_atomic_helper.h | 2
Both the TI SN65DSI83 and SN65DSI84 bridges have an IRQ pin to signal
errors using interrupt.
This interrupt is not documented in the binding.
Add the missing interrupts property.
Signed-off-by: Herve Codina
Reviewed-by: Laurent Pinchart
Acked-by: Conor Dooley
---
.../devicetree/bindings
: Herve Codina
---
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 131 ++
1 file changed, 131 insertions(+)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index 336380114eea..26a050b13997 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
On Tue, 4 Feb 2025 16:17:10 +0100
Maxime Ripard wrote:
> Hi,
>
> On Fri, Jan 17, 2025 at 09:12:13AM +0100, Herve Codina wrote:
> > Hi Maxime,
> >
> > On Thu, 16 Jan 2025 09:38:45 +0100
> > Maxime Ripard wrote:
> >
> > > On Tue, Jan
On Tue, 4 Feb 2025 18:11:01 +0100
Maxime Ripard wrote:
> On Tue, Feb 04, 2025 at 04:34:04PM +0100, Herve Codina wrote:
> > On Tue, 4 Feb 2025 16:17:10 +0100
> > Maxime Ripard wrote:
> >
> > > Hi,
> > >
> > > On Fri, Jan 17, 2025 at 09:12:13A
Hi Alexander,
On Thu, 06 Feb 2025 16:39:09 +0100
Alexander Stein wrote:
> Hi Herve,
>
> Am Donnerstag, 6. Februar 2025, 16:20:48 CET schrieb Herve Codina:
> > Hi Alexander,
> >
> > On Thu, 06 Feb 2025 15:38:42 +0100
> > Alexander Stein wrote:
> >
>
The current code uses a the reset_pipe() local function to reset the
CRTC outputs.
drm_atomic_helper_reset_crtc() has been introduced recently and it
performs exact same operations.
In order to avoid code duplication, use the new helper instead of the
local function.
Signed-off-by: Herve Codina
Hi Alexander,
On Mon, 10 Feb 2025 11:42:09 +0100
Alexander Stein wrote:
> Hi Herve,
>
> Am Freitag, 7. Februar 2025, 19:08:16 CET schrieb Herve Codina:
> > Hi Alexander,
> >
> > On Thu, 06 Feb 2025 16:39:09 +0100
> > Alexander Stein wrote:
> >
> &
: Herve Codina
Reviewed-by: Maxime Ripard
---
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 142 ++
1 file changed, 142 insertions(+)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index 336380114eea..d84a03c79773 100644
--- a/drivers
- 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:
drm_atomic_helper_reset_crtc() allows to reset the CRTC active outputs.
This resets all active components available between the CRTC and
connectors.
Signed-off-by: Herve Codina
Reviewed-by: Dmitry Baryshkov
Reviewed-by: Maxime Ripard
---
drivers/gpu/drm/drm_atomic_helper.c | 41
Both the TI SN65DSI83 and SN65DSI84 bridges have an IRQ pin to signal
errors using interrupt.
This interrupt is not documented in the binding.
Add the missing interrupts property.
Signed-off-by: Herve Codina
Reviewed-by: Laurent Pinchart
Acked-by: Conor Dooley
---
.../devicetree/bindings
Hi Alexander,
On Thu, 06 Feb 2025 15:38:42 +0100
Alexander Stein wrote:
...
> With interrupt configured I got the following stack trace upon
> reboot/poweroff:
>
> [ 91.317264] sn65dsi83 2-002d: reset the pipe
> [ 91.344093] Unable to handle ke
> ** replaying previous printk message **
> [
Hi Lee, Daniel, Jingoo,
On Wed, 22 Jan 2025 10:19:14 +0100
Herve Codina wrote:
> Lockdep detects the following issue on led-backlight removal:
> [ 142.315935] [ cut here ]
> [ 142.315954] WARNING: CPU: 2 PID: 292 at drivers/leds/led-core.c:455
> led_
drm_atomic_helper_disable_connector() disables a connector taking care
of disabling the CRTC as well if the disabled connector was the only one
connector connected to the CRTC.
Signed-off-by: Herve Codina
---
drivers/gpu/drm/drm_atomic_helper.c | 67 +
include/drm
: Herve Codina
---
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 142 ++
1 file changed, 142 insertions(+)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index e6264514bb3f..f3d66d17f28c 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
e information related to the bridge in commit log.
Herve Codina (3):
dt-bindings: display: bridge: sn65dsi83: Add interrupt
drm/atomic-helpers: Introduce drm_atomic_helper_disable_connector()
drm: bridge: ti-sn65dsi83: Add error recovery mechanism
.../bindings/display/bridge/ti,sn65dsi83.y
Both the TI SN65DSI83 and SN65DSI84 bridges have an IRQ pin to signal
errors using interrupt.
This interrupt is not documented in the binding.
Add the missing interrupts property.
Signed-off-by: Herve Codina
Reviewed-by: Laurent Pinchart
Acked-by: Conor Dooley
---
.../devicetree/bindings
Hi Maxime,
On Wed, 18 Dec 2024 16:54:02 +0100
Maxime Ripard wrote:
> > > > +static int sn65dsi83_reset_drm_output(struct sn65dsi83 *sn65dsi83)
> > > > +{
> > > > + struct drm_atomic_state *state = ERR_PTR(-EINVAL);
> > > > + struct drm_device *dev = sn65dsi83->bridge.dev;
> > > > +
Hi Maxime,
On Tue, 17 Dec 2024 18:30:52 +0100
Maxime Ripard wrote:
> On Tue, Dec 17, 2024 at 03:32:15PM +0100, Herve Codina wrote:
> > 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 tho
Hi Maxime,
On Thu, 19 Dec 2024 15:01:39 +0100
Maxime Ripard wrote:
> On Wed, Dec 18, 2024 at 05:37:28PM +0100, Herve Codina wrote:
> > Hi Maxime,
> >
> > On Wed, 18 Dec 2024 16:54:02 +0100
> > Maxime Ripard wrote:
> >
> > > > > > +sta
Hi Alexander,
On Wed, 08 Jan 2025 11:54:49 +0100
Alexander Stein wrote:
[...]
> > #include
> > #include
> > +#include /* DRM_MODESET_LOCK_ALL_BEGIN() needs
> > drm_drv_uses_atomic_modeset() */
>
> Shouldn't this include be added to include/drm/drm_modeset_lock.h instead?
Yes indeed. I
("backlight: add led-backlight driver")
Cc: sta...@vger.kernel.org
Signed-off-by: Herve Codina
---
drivers/video/backlight/led_bl.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/video/backlight/led_bl.c b/drivers/video/backlight/led_bl.c
index ae34d1ecbfbe..d2
Hi Maxime,
On Tue, 14 Jan 2025 08:40:51 +0100
Maxime Ripard wrote:
...
> >
> > +static int sn65dsi83_reset_pipe(struct sn65dsi83 *sn65dsi83)
> > +{
> > + struct drm_atomic_state *state = ERR_PTR(-EINVAL);
> > + struct drm_device *dev = sn65dsi83->bridge.dev;
> > + struct drm_connector_s
Hi Maxime,
On Thu, 16 Jan 2025 09:38:45 +0100
Maxime Ripard wrote:
> On Tue, Jan 14, 2025 at 01:54:56PM +0100, Herve Codina wrote:
> > Hi Maxime,
> >
> > On Tue, 14 Jan 2025 08:40:51 +0100
> > Maxime Ripard wrote:
> >
> > ...
> >
> > &g
: Herve Codina
---
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 147 ++
1 file changed, 147 insertions(+)
diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
b/drivers/gpu/drm/bridge/ti-sn65dsi83.c
index e6264514bb3f..74bc05647436 100644
--- a/drivers/gpu/drm/bridge/ti-sn65dsi83.c
reset_pipe() allows to reset the CRTC active outputs.
In order to use it from other drivers without code duplication, move it
to an atomic helper without any functional changes.
Signed-off-by: Herve Codina
---
drivers/gpu/drm/drm_atomic_helper.c | 41 +
drivers/gpu
Both the TI SN65DSI83 and SN65DSI84 bridges have an IRQ pin to signal
errors using interrupt.
This interrupt is not documented in the binding.
Add the missing interrupts property.
Signed-off-by: Herve Codina
Reviewed-by: Laurent Pinchart
Acked-by: Conor Dooley
---
.../devicetree/bindings
ewed-by: Laurent Pinchart
'
Add 'Acked-by: Conor Dooley '
- 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 brid
Hi Alexander,
On Wed, 8 Jan 2025 18:44:42 +0100
Herve Codina wrote:
> > > #include
> > > #include
> > > +#include /* DRM_MODESET_LOCK_ALL_BEGIN() needs
> > > drm_drv_uses_atomic_modeset() */
> >
> > Shouldn't this include be added
On Thu, 09 Jan 2025 11:49:13 +0100
Alexander Stein wrote:
> Hi Herve,
>
> Am Mittwoch, 8. Januar 2025, 18:44:42 CET schrieb Herve Codina:
> > Hi Alexander,
> >
> > On Wed, 08 Jan 2025 11:54:49 +0100
> > Alexander Stein wrote:
> >
> >
Hi Maxime,
On Tue, 14 Jan 2025 13:54:56 +0100
Herve Codina wrote:
> Hi Maxime,
>
> On Tue, 14 Jan 2025 08:40:51 +0100
> Maxime Ripard wrote:
>
> ...
>
> > >
> > > +static int sn65dsi83_reset_pipe(struct sn65dsi83 *sn65dsi83)
> > > +{
> include/drm/drm_bridge_helper.h | 12
> 3 files changed, 68 insertions(+)
>
Reviewed-by: Herve Codina
Also tested on my system using the ti-sn65dsi83 driver (updated in this series)
with faults manually generated on the hardware. No
Hi Luca,
On Mon, 07 Apr 2025 16:23:28 +0200
Luca Ceresoli wrote:
> This is the new API for allocating DRM bridges.
>
> Signed-off-by: Luca Ceresoli
> ---
> drivers/gpu/drm/bridge/ti-sn65dsi86.c | 7 +++
> 1 file changed, 3 insertions(+), 4 deletions(-)
Reviewed-by: H
On Mon, 3 Mar 2025 16:00:33 +0100
Maxime Ripard wrote:
> On Mon, Mar 03, 2025 at 02:34:04PM +0100, Herve Codina wrote:
> > Hi Maxime,
> >
> > On Mon, 3 Mar 2025 14:11:05 +0100
> > Maxime Ripard wrote:
> >
> > > On Thu, Feb 27, 2025 at 12:00:04
Hi Maxime,
On Mon, 3 Mar 2025 14:11:05 +0100
Maxime Ripard wrote:
> On Thu, Feb 27, 2025 at 12:00:04PM +0100, Herve Codina wrote:
> > Hi Maxime,
> >
> > On Tue, 25 Feb 2025 17:43:48 +0100
> > Maxime Ripard wrote:
> >
> > > Hi,
> > >
bridge/ti-sn65dsi83.c | 28 +++-
> 1 file changed, 11 insertions(+), 17 deletions(-)
>
Reviewed-by: Herve Codina
Also tested on my system with faults manually generated and no regressions
were observed in the driver recovery process. Works fine.
Tested-by: Herve Codina
Best regards,
Hervé
include/drm/drm_atomic.h | 3 +++
> 2 files changed, 48 insertions(+)
>
Tested the drm_atomic_get_connector_for_encoder() in the context of the
ti-sn65dsi83 driver recovery process (later modification in this series).
Tested-by: Herve Codina
Best regards,
Hervé
Hi Maxime,
On Wed, 19 Feb 2025 10:07:39 +0100
Maxime Ripard wrote:
> Hi,
>
> On Tue, Feb 04, 2025 at 07:52:40PM +0100, Herve Codina wrote:
> > On Tue, 4 Feb 2025 18:11:01 +0100
> > Maxime Ripard wrote:
> >
> > > On Tue, Feb 04, 2025 at 04:34:04PM +0100, H
Hi Maxime,
On Thu, 20 Feb 2025 11:44:37 +0100
Maxime Ripard wrote:
...
>
> Given that the patch is already merged, Herve, could you send a
> subsequent patch fixing up the doc at least?
Did the patch:
https://lore.kernel.org/all/20250220140406.593314-1-herve.cod...@bootlin.com/
Best regards
As suggested in [0], add a note indicating that
drm_atomic_helper_reset_crtc() can be a no-op in some cases.
[0]:https://lore.kernel.org/all/Z7XfnPGDYspwG42y@phenom.ffwll.local/
Signed-off-by: Herve Codina
---
This patch applies on top of the following commit available in drm-misc
val |= bridge_state->output_bus_cfg.flags & DRM_BUS_FLAG_DE_LOW ?
> +REG_LVDS_FMT_DE_NEG_POLARITY : 0;
>
> /* Set up bits-per-pixel, 18bpp or 24bpp. */
> if (lvds_format_24bpp) {
Tested without regression on my system.
Tested-by: Herve Codina
Best regards,
Hervé
Hi Maxime,
On Tue, 25 Feb 2025 17:43:48 +0100
Maxime Ripard wrote:
> Hi,
>
> Here's a series of changes after to the KMS helpers and bridge API
> following a bunch of reviews I did.
>
> It's mostly centered across providing an easier time to deal with bridge
> states, and a somewhat consistent
klight device and the
> supplying LED device, as other drivers and subsystems do as well.
>
> Tested-by: Alexander Sverdlin
> Fixes: ae232e45acf9 ("backlight: add led-backlight driver")
> Signed-off-by: Luca Ceresoli
Reviewed-by: Herve Codina
Best regards,
Hervé
Hi Luca,
On Mon, 19 May 2025 17:16:39 +0200
Luca Ceresoli wrote:
...
> diff --git a/drivers/video/backlight/led_bl.c
> b/drivers/video/backlight/led_bl.c
> index
> d2db157b2c290adc3a159023e9e2394fc877388c..8fe645b5b75447d009e1045dcf0c62d3bbc5425e
> 100644
> --- a/drivers/video/backlight/led_
sentence when I previously wrote
the comment.
"The interrupt will be re-enabled after the reset."
^^
Can you fix it ?
Other than that,
Reviewed-by: Herve Codina
Thanks,
Hervé
64 matches
Mail list logo