* [PATCH 1/5] drm/panel: mantix: Enable DSI LPM
2026-01-05 20:24 [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-05 20:24 ` Sebastian Krzyszkowiak via B4 Relay
2026-01-06 8:14 ` Neil Armstrong
2026-01-05 20:24 ` [PATCH 2/5] drm/panel: mantix: Improve power on sequence timings Sebastian Krzyszkowiak via B4 Relay
` (4 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Sebastian Krzyszkowiak via B4 Relay @ 2026-01-05 20:24 UTC (permalink / raw)
To: Guido Günther, Purism Kernel Team, Neil Armstrong,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, Sebastian Krzyszkowiak
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
This improves reliability of sending DSI commands.
Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
index 55664f5d5aa5..fafd80f3e952 100644
--- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
+++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
@@ -258,7 +258,7 @@ static int mantix_probe(struct mipi_dsi_device *dsi)
dsi->lanes = 4;
dsi->format = MIPI_DSI_FMT_RGB888;
- dsi->mode_flags = MIPI_DSI_MODE_VIDEO |
+ dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM |
MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE;
ctx->avdd = devm_regulator_get(dev, "avdd");
--
2.52.0
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH 1/5] drm/panel: mantix: Enable DSI LPM
2026-01-05 20:24 ` [PATCH 1/5] drm/panel: mantix: Enable DSI LPM Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-06 8:14 ` Neil Armstrong
0 siblings, 0 replies; 12+ messages in thread
From: Neil Armstrong @ 2026-01-06 8:14 UTC (permalink / raw)
To: sebastian.krzyszkowiak, Guido Günther, Purism Kernel Team,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel
On 1/5/26 21:24, Sebastian Krzyszkowiak via B4 Relay wrote:
> From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
>
> This improves reliability of sending DSI commands.
>
> Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
> ---
> drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> index 55664f5d5aa5..fafd80f3e952 100644
> --- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> +++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> @@ -258,7 +258,7 @@ static int mantix_probe(struct mipi_dsi_device *dsi)
>
> dsi->lanes = 4;
> dsi->format = MIPI_DSI_FMT_RGB888;
> - dsi->mode_flags = MIPI_DSI_MODE_VIDEO |
> + dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_LPM |
> MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_VIDEO_SYNC_PULSE;
>
> ctx->avdd = devm_regulator_get(dev, "avdd");
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks,
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2/5] drm/panel: mantix: Improve power on sequence timings
2026-01-05 20:24 [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Sebastian Krzyszkowiak via B4 Relay
2026-01-05 20:24 ` [PATCH 1/5] drm/panel: mantix: Enable DSI LPM Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-05 20:24 ` Sebastian Krzyszkowiak via B4 Relay
2026-01-06 8:14 ` Neil Armstrong
2026-01-05 20:24 ` [PATCH 3/5] drm/panel: mantix: Improve power off sequence Sebastian Krzyszkowiak via B4 Relay
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Sebastian Krzyszkowiak via B4 Relay @ 2026-01-05 20:24 UTC (permalink / raw)
To: Guido Günther, Purism Kernel Team, Neil Armstrong,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, Sebastian Krzyszkowiak
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
FP8006P datasheet mentions:
> It is necessary to wait 15msec after releasing RESX before sending
> commands. Also Sleep Out command cannot be sent for 120 msec.
This hasn't been respected by the driver so far, which could interfere
with the LCD init code sequence performed by the controller. In some cases
this leads to VCOM voltage being set to a wrong value, causing "halo"
effects, temporary burn-in around the edges of the screen and degraded
image contrast.
T3 and T4 are counted from when VDDI is enabled. There's no need to add
them when we've already waited more than that in T2 and T2d.
While FT8006P datasheet does not mention a delay between exiting sleep
mode and turning the display on, code provided by the vendor uses 120ms
there and it happens to be the same value as required in newer datasheets
for newer controllers from the same family, so it seems appropriate to
use it here as well.
Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
index fafd80f3e952..bb5489e4d7a9 100644
--- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
+++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
@@ -58,11 +58,9 @@ static void mantix_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x09);
mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0x64, 0x00, 0x64, 0x00, 0x00);
- mipi_dsi_msleep(dsi_ctx, 20);
mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_SPI_FINISH, 0xa5);
mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x00, 0x2f);
- mipi_dsi_msleep(dsi_ctx, 20);
}
static int mantix_enable(struct drm_panel *panel)
@@ -75,8 +73,11 @@ static int mantix_enable(struct drm_panel *panel)
if (!dsi_ctx.accum_err)
dev_dbg(ctx->dev, "Panel init sequence done\n");
+ /* remainder to 120ms (7.3.1 Note 4) */
+ mipi_dsi_msleep(&dsi_ctx, 70);
+
mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx);
- mipi_dsi_msleep(&dsi_ctx, 20);
+ mipi_dsi_msleep(&dsi_ctx, 120);
mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
mipi_dsi_usleep_range(&dsi_ctx, 10000, 12000);
@@ -147,10 +148,10 @@ static int mantix_prepare(struct drm_panel *panel)
return ret;
}
- /* T3 + T4 + time for voltage to become stable: */
- usleep_range(6000, 7000);
- gpiod_set_value_cansleep(ctx->reset_gpio, 0);
+ usleep_range(100, 200);
gpiod_set_value_cansleep(ctx->tp_rstn_gpio, 0);
+ usleep_range(100, 200);
+ gpiod_set_value_cansleep(ctx->reset_gpio, 0);
/* T6 */
msleep(50);
--
2.52.0
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH 2/5] drm/panel: mantix: Improve power on sequence timings
2026-01-05 20:24 ` [PATCH 2/5] drm/panel: mantix: Improve power on sequence timings Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-06 8:14 ` Neil Armstrong
0 siblings, 0 replies; 12+ messages in thread
From: Neil Armstrong @ 2026-01-06 8:14 UTC (permalink / raw)
To: sebastian.krzyszkowiak, Guido Günther, Purism Kernel Team,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel
On 1/5/26 21:24, Sebastian Krzyszkowiak via B4 Relay wrote:
> From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
>
> FP8006P datasheet mentions:
>
>> It is necessary to wait 15msec after releasing RESX before sending
>> commands. Also Sleep Out command cannot be sent for 120 msec.
>
> This hasn't been respected by the driver so far, which could interfere
> with the LCD init code sequence performed by the controller. In some cases
> this leads to VCOM voltage being set to a wrong value, causing "halo"
> effects, temporary burn-in around the edges of the screen and degraded
> image contrast.
>
> T3 and T4 are counted from when VDDI is enabled. There's no need to add
> them when we've already waited more than that in T2 and T2d.
>
> While FT8006P datasheet does not mention a delay between exiting sleep
> mode and turning the display on, code provided by the vendor uses 120ms
> there and it happens to be the same value as required in newer datasheets
> for newer controllers from the same family, so it seems appropriate to
> use it here as well.
>
> Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
> ---
> drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> index fafd80f3e952..bb5489e4d7a9 100644
> --- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> +++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> @@ -58,11 +58,9 @@ static void mantix_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
>
> mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x09);
> mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0x64, 0x00, 0x64, 0x00, 0x00);
> - mipi_dsi_msleep(dsi_ctx, 20);
>
> mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_SPI_FINISH, 0xa5);
> mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x00, 0x2f);
> - mipi_dsi_msleep(dsi_ctx, 20);
> }
>
> static int mantix_enable(struct drm_panel *panel)
> @@ -75,8 +73,11 @@ static int mantix_enable(struct drm_panel *panel)
> if (!dsi_ctx.accum_err)
> dev_dbg(ctx->dev, "Panel init sequence done\n");
>
> + /* remainder to 120ms (7.3.1 Note 4) */
> + mipi_dsi_msleep(&dsi_ctx, 70);
> +
> mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx);
> - mipi_dsi_msleep(&dsi_ctx, 20);
> + mipi_dsi_msleep(&dsi_ctx, 120);
>
> mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
> mipi_dsi_usleep_range(&dsi_ctx, 10000, 12000);
> @@ -147,10 +148,10 @@ static int mantix_prepare(struct drm_panel *panel)
> return ret;
> }
>
> - /* T3 + T4 + time for voltage to become stable: */
> - usleep_range(6000, 7000);
> - gpiod_set_value_cansleep(ctx->reset_gpio, 0);
> + usleep_range(100, 200);
> gpiod_set_value_cansleep(ctx->tp_rstn_gpio, 0);
> + usleep_range(100, 200);
> + gpiod_set_value_cansleep(ctx->reset_gpio, 0);
>
> /* T6 */
> msleep(50);
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks,
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 3/5] drm/panel: mantix: Improve power off sequence
2026-01-05 20:24 [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Sebastian Krzyszkowiak via B4 Relay
2026-01-05 20:24 ` [PATCH 1/5] drm/panel: mantix: Enable DSI LPM Sebastian Krzyszkowiak via B4 Relay
2026-01-05 20:24 ` [PATCH 2/5] drm/panel: mantix: Improve power on sequence timings Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-05 20:24 ` Sebastian Krzyszkowiak via B4 Relay
2026-01-06 8:15 ` Neil Armstrong
2026-01-05 20:24 ` [PATCH 4/5] drm/panel: mantix: Drop bank 9 initialization Sebastian Krzyszkowiak via B4 Relay
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Sebastian Krzyszkowiak via B4 Relay @ 2026-01-05 20:24 UTC (permalink / raw)
To: Guido Günther, Purism Kernel Team, Neil Armstrong,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, Sebastian Krzyszkowiak
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
According to the sequence from section 7.3.4 of FT8006P datasheet,
TP_RSTN and RESX should be asserted after disabling AVDD and AVEE and
together with VDDI.
Also, AVEE power down needs to happen at least 150ms after entering
sleep mode.
Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
index bb5489e4d7a9..0e66ee7a727d 100644
--- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
+++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
@@ -96,6 +96,9 @@ static int mantix_disable(struct drm_panel *panel)
mipi_dsi_dcs_set_display_off_multi(&dsi_ctx);
mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx);
+ /* T10 */
+ mipi_dsi_msleep(&dsi_ctx, 150);
+
return dsi_ctx.accum_err;
}
@@ -103,15 +106,16 @@ static int mantix_unprepare(struct drm_panel *panel)
{
struct mantix *ctx = panel_to_mantix(panel);
- gpiod_set_value_cansleep(ctx->tp_rstn_gpio, 1);
- usleep_range(5000, 6000);
- gpiod_set_value_cansleep(ctx->reset_gpio, 1);
-
regulator_disable(ctx->avee);
regulator_disable(ctx->avdd);
/* T11 */
usleep_range(5000, 6000);
regulator_disable(ctx->vddi);
+
+ gpiod_set_value_cansleep(ctx->tp_rstn_gpio, 1);
+ usleep_range(5000, 6000);
+ gpiod_set_value_cansleep(ctx->reset_gpio, 1);
+
/* T14 */
msleep(50);
--
2.52.0
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH 3/5] drm/panel: mantix: Improve power off sequence
2026-01-05 20:24 ` [PATCH 3/5] drm/panel: mantix: Improve power off sequence Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-06 8:15 ` Neil Armstrong
0 siblings, 0 replies; 12+ messages in thread
From: Neil Armstrong @ 2026-01-06 8:15 UTC (permalink / raw)
To: sebastian.krzyszkowiak, Guido Günther, Purism Kernel Team,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel
On 1/5/26 21:24, Sebastian Krzyszkowiak via B4 Relay wrote:
> From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
>
> According to the sequence from section 7.3.4 of FT8006P datasheet,
> TP_RSTN and RESX should be asserted after disabling AVDD and AVEE and
> together with VDDI.
>
> Also, AVEE power down needs to happen at least 150ms after entering
> sleep mode.
>
> Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
> ---
> drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> index bb5489e4d7a9..0e66ee7a727d 100644
> --- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> +++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> @@ -96,6 +96,9 @@ static int mantix_disable(struct drm_panel *panel)
> mipi_dsi_dcs_set_display_off_multi(&dsi_ctx);
> mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx);
>
> + /* T10 */
> + mipi_dsi_msleep(&dsi_ctx, 150);
> +
> return dsi_ctx.accum_err;
> }
>
> @@ -103,15 +106,16 @@ static int mantix_unprepare(struct drm_panel *panel)
> {
> struct mantix *ctx = panel_to_mantix(panel);
>
> - gpiod_set_value_cansleep(ctx->tp_rstn_gpio, 1);
> - usleep_range(5000, 6000);
> - gpiod_set_value_cansleep(ctx->reset_gpio, 1);
> -
> regulator_disable(ctx->avee);
> regulator_disable(ctx->avdd);
> /* T11 */
> usleep_range(5000, 6000);
> regulator_disable(ctx->vddi);
> +
> + gpiod_set_value_cansleep(ctx->tp_rstn_gpio, 1);
> + usleep_range(5000, 6000);
> + gpiod_set_value_cansleep(ctx->reset_gpio, 1);
> +
> /* T14 */
> msleep(50);
>
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks,
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 4/5] drm/panel: mantix: Drop bank 9 initialization
2026-01-05 20:24 [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Sebastian Krzyszkowiak via B4 Relay
` (2 preceding siblings ...)
2026-01-05 20:24 ` [PATCH 3/5] drm/panel: mantix: Improve power off sequence Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-05 20:24 ` Sebastian Krzyszkowiak via B4 Relay
2026-01-06 8:16 ` Neil Armstrong
2026-01-05 20:24 ` [PATCH 5/5] drm/panel: mantix: Don't turn on MIPI peripheral Sebastian Krzyszkowiak via B4 Relay
2026-01-13 9:06 ` [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Neil Armstrong
5 siblings, 1 reply; 12+ messages in thread
From: Sebastian Krzyszkowiak via B4 Relay @ 2026-01-05 20:24 UTC (permalink / raw)
To: Guido Günther, Purism Kernel Team, Neil Armstrong,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, Sebastian Krzyszkowiak
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
This command is part of LIC sequence included in FT8006P firmware.
There's no need to repeat it here.
Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
index 0e66ee7a727d..30e378faafcd 100644
--- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
+++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
@@ -53,11 +53,9 @@ static void mantix_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a);
mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_INT_CANCEL, 0x03);
- mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x03);
- mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0xa9, 0x00);
- mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x09);
- mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0x64, 0x00, 0x64, 0x00, 0x00);
+ mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x03);
+ mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0xa9, 0x00); /* VCOM */
mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_SPI_FINISH, 0xa5);
mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x00, 0x2f);
--
2.52.0
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH 4/5] drm/panel: mantix: Drop bank 9 initialization
2026-01-05 20:24 ` [PATCH 4/5] drm/panel: mantix: Drop bank 9 initialization Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-06 8:16 ` Neil Armstrong
0 siblings, 0 replies; 12+ messages in thread
From: Neil Armstrong @ 2026-01-06 8:16 UTC (permalink / raw)
To: sebastian.krzyszkowiak, Guido Günther, Purism Kernel Team,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel
On 1/5/26 21:24, Sebastian Krzyszkowiak via B4 Relay wrote:
> From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
>
> This command is part of LIC sequence included in FT8006P firmware.
> There's no need to repeat it here.
>
> Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
> ---
> drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> index 0e66ee7a727d..30e378faafcd 100644
> --- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> +++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> @@ -53,11 +53,9 @@ static void mantix_init_sequence(struct mipi_dsi_multi_context *dsi_ctx)
> mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a);
>
> mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_INT_CANCEL, 0x03);
> - mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x03);
> - mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0xa9, 0x00);
>
> - mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x09);
> - mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0x64, 0x00, 0x64, 0x00, 0x00);
> + mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x5a, 0x03);
> + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x80, 0xa9, 0x00); /* VCOM */
>
> mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_SPI_FINISH, 0xa5);
> mipi_dsi_generic_write_seq_multi(dsi_ctx, MANTIX_CMD_OTP_STOP_RELOAD_MIPI, 0x00, 0x2f);
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks,
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 5/5] drm/panel: mantix: Don't turn on MIPI peripheral
2026-01-05 20:24 [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Sebastian Krzyszkowiak via B4 Relay
` (3 preceding siblings ...)
2026-01-05 20:24 ` [PATCH 4/5] drm/panel: mantix: Drop bank 9 initialization Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-05 20:24 ` Sebastian Krzyszkowiak via B4 Relay
2026-01-06 8:16 ` Neil Armstrong
2026-01-13 9:06 ` [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Neil Armstrong
5 siblings, 1 reply; 12+ messages in thread
From: Sebastian Krzyszkowiak via B4 Relay @ 2026-01-05 20:24 UTC (permalink / raw)
To: Guido Günther, Purism Kernel Team, Neil Armstrong,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel, Sebastian Krzyszkowiak
From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
It's not necessary with these panels.
Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
index 30e378faafcd..13352cb4ad77 100644
--- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
+++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
@@ -80,8 +80,6 @@ static int mantix_enable(struct drm_panel *panel)
mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
mipi_dsi_usleep_range(&dsi_ctx, 10000, 12000);
- mipi_dsi_turn_on_peripheral_multi(&dsi_ctx);
-
return dsi_ctx.accum_err;
}
--
2.52.0
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [PATCH 5/5] drm/panel: mantix: Don't turn on MIPI peripheral
2026-01-05 20:24 ` [PATCH 5/5] drm/panel: mantix: Don't turn on MIPI peripheral Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-06 8:16 ` Neil Armstrong
0 siblings, 0 replies; 12+ messages in thread
From: Neil Armstrong @ 2026-01-06 8:16 UTC (permalink / raw)
To: sebastian.krzyszkowiak, Guido Günther, Purism Kernel Team,
Jessica Zhang, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel
On 1/5/26 21:24, Sebastian Krzyszkowiak via B4 Relay wrote:
> From: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
>
> It's not necessary with these panels.
>
> Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
> ---
> drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> index 30e378faafcd..13352cb4ad77 100644
> --- a/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> +++ b/drivers/gpu/drm/panel/panel-mantix-mlaf057we51.c
> @@ -80,8 +80,6 @@ static int mantix_enable(struct drm_panel *panel)
> mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
> mipi_dsi_usleep_range(&dsi_ctx, 10000, 12000);
>
> - mipi_dsi_turn_on_peripheral_multi(&dsi_ctx);
> -
> return dsi_ctx.accum_err;
> }
>
>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks,
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements
2026-01-05 20:24 [PATCH 0/5] drm/panel: mantix-mlaf057we51: Power sequence improvements Sebastian Krzyszkowiak via B4 Relay
` (4 preceding siblings ...)
2026-01-05 20:24 ` [PATCH 5/5] drm/panel: mantix: Don't turn on MIPI peripheral Sebastian Krzyszkowiak via B4 Relay
@ 2026-01-13 9:06 ` Neil Armstrong
5 siblings, 0 replies; 12+ messages in thread
From: Neil Armstrong @ 2026-01-13 9:06 UTC (permalink / raw)
To: Guido Günther, Purism Kernel Team, Jessica Zhang,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter, Sebastian Krzyszkowiak
Cc: dri-devel, linux-kernel
Hi,
On Mon, 05 Jan 2026 21:24:39 +0100, Sebastian Krzyszkowiak wrote:
> These are the patches that fix the issues with low contrast, "halo",
> temporary burn-in and occasional black screen on the Librem 5 phones,
> which use Mantix MLAF057WE51-X and Yashi Changhua YS57PSS36BH5GQ panels.
>
> They're mostly about improving the power sequences to match the ones
> described in FT8006P datasheet, so the driver does not end up disturbing
> the internal initialization process performed by the controller.
> Aside of that, using LP mode has been found to improve the reliability of
> sending DSI commands to the panel to the point where long chains
> of commands can be sent without erroring out - something that, at least
> on i.MX8MQ, wasn't possible without LPM.
>
> [...]
Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)
[1/5] drm/panel: mantix: Enable DSI LPM
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/ef789ce4980b2bf9d61c53207f2b0aa1d32d9da8
[2/5] drm/panel: mantix: Improve power on sequence timings
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/dca84cc795df7f0cf790fbc2afcde53e6abd403a
[3/5] drm/panel: mantix: Improve power off sequence
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/61f028c13c42495964afb61974ec60c22230d81b
[4/5] drm/panel: mantix: Drop bank 9 initialization
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/c8b59651ebe678da004b71e8c20f79ed6881ea8d
[5/5] drm/panel: mantix: Don't turn on MIPI peripheral
https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/8096e71bc875485dd34aa8bf5af15ab3c443cb54
--
Neil
^ permalink raw reply [flat|nested] 12+ messages in thread