2023-01-31 01:59:43

by Xinlei Lee (李昕磊)

[permalink] [raw]
Subject: [PATCH v3 0/2] Reduce lcm_reset to DSI LP11 send cmd time

From: Xinlei Lee <[email protected]>

The panel spec stipulates that after lcm_reset is pulled high, cmd
should be sent to initialize the panel. Within the allowable range of
the DSI spec, this time needs to be reduced to avoid panel exceptions.

Base on the branch of linus/master v6.2.

Change since v2:
1. Remove the applied patch.
2. Change the commit title and the description.

Change since v1:
1. Added fine-tuning panel power sequence modification.

Xinlei Lee (2):
drm/panel: boe-tv101wum-nl6: Reduce lcm_reset to send initial code
time
drm/panel: boe-tv101wum-nl6: Fine tune the panel power sequence

drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

--
2.18.0



2023-01-31 02:00:16

by Xinlei Lee (李昕磊)

[permalink] [raw]
Subject: [PATCH v3 1/2] drm/panel: boe-tv101wum-nl6: Remove extra delay

From: Xinlei Lee <[email protected]>

Reduce the delay after LCM reset by removing an extra delay in the
initialization commands array. The required delay of at least 6ms after
reset is guaranteed by boe_panel_prepare().

Signed-off-by: Xinlei Lee <[email protected]>
---
drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
index 857a2f0420d7..f0093035f1ff 100644
--- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
+++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
@@ -780,7 +780,6 @@ static const struct panel_init_cmd inx_hj110iz_init_cmd[] = {
};

static const struct panel_init_cmd boe_init_cmd[] = {
- _INIT_DELAY_CMD(24),
_INIT_DCS_CMD(0xB0, 0x05),
_INIT_DCS_CMD(0xB1, 0xE5),
_INIT_DCS_CMD(0xB3, 0x52),
--
2.18.0


2023-01-31 02:00:20

by Xinlei Lee (李昕磊)

[permalink] [raw]
Subject: [PATCH v3 2/2] drm/panel: boe-tv101wum-nl6: Fine tune the panel power sequence

From: Xinlei Lee <[email protected]>

For "boe,tv105wum-nw0" this special panel, it is stipulated in
the panel spec that MIPI needs to keep the LP11 state before
the lcm_reset pin is pulled high.

Signed-off-by: Xinlei Lee <[email protected]>
---
drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
index f0093035f1ff..67df61de64ae 100644
--- a/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
+++ b/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c
@@ -36,6 +36,7 @@ struct panel_desc {
const struct panel_init_cmd *init_cmds;
unsigned int lanes;
bool discharge_on_disable;
+ bool lp11_before_reset;
};

struct boe_panel {
@@ -1261,6 +1262,10 @@ static int boe_panel_prepare(struct drm_panel *panel)

usleep_range(10000, 11000);

+ if (boe->desc->lp11_before_reset) {
+ mipi_dsi_dcs_nop(boe->dsi);
+ usleep_range(1000, 2000);
+ }
gpiod_set_value(boe->enable_gpio, 1);
usleep_range(1000, 2000);
gpiod_set_value(boe->enable_gpio, 0);
@@ -1487,6 +1492,7 @@ static const struct panel_desc boe_tv105wum_nw0_desc = {
.mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE |
MIPI_DSI_MODE_LPM,
.init_cmds = boe_init_cmd,
+ .lp11_before_reset = true,
};

static int boe_panel_get_modes(struct drm_panel *panel,
--
2.18.0


Subject: Re: [PATCH v3 1/2] drm/panel: boe-tv101wum-nl6: Remove extra delay

Il 31/01/23 02:59, [email protected] ha scritto:
> From: Xinlei Lee <[email protected]>
>
> Reduce the delay after LCM reset by removing an extra delay in the
> initialization commands array. The required delay of at least 6ms after
> reset is guaranteed by boe_panel_prepare().
>
> Signed-off-by: Xinlei Lee <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>



Subject: Re: [PATCH v3 2/2] drm/panel: boe-tv101wum-nl6: Fine tune the panel power sequence

Il 31/01/23 02:59, [email protected] ha scritto:
> From: Xinlei Lee <[email protected]>
>
> For "boe,tv105wum-nw0" this special panel, it is stipulated in
> the panel spec that MIPI needs to keep the LP11 state before
> the lcm_reset pin is pulled high.
>
> Signed-off-by: Xinlei Lee <[email protected]>

Reviewed-by: AngeloGioacchino Del Regno <[email protected]>