mirror of https://gitee.com/openkylin/linux.git
drm/mcde/panel: Inverse misunderstood flag
A recent patch renaming MIPI_DSI_MODE_EOT_PACKET to MIPI_DSI_MODE_NO_EOT_PACKET brought to light the misunderstanding in the current MCDE driver and all its associated panel drivers that MIPI_DSI_MODE_EOT_PACKET would mean "use EOT packet" when in fact it means the reverse. Fix it up by implementing the flag right in the MCDE DSI driver and remove the flag from panels that actually want the EOT packet. Suggested-by: Nicolas Boichat <drinkcat@chromium.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Fixes:5fc537bfd0
("drm/mcde: Add new driver for ST-Ericsson MCDE") Fixes:899f24ed8d
("drm/panel: Add driver for Novatek NT35510-based panels") Fixes:ac1d6d7488
("drm/panel: Add driver for Samsung S6D16D0 panel") Fixes:435e06c06c
("drm/panel: s6e63m0: Add DSI transport") Fixes:8152c2bfd7
("drm/panel: Add driver for Sony ACX424AKP panel") Link: https://patchwork.freedesktop.org/patch/msgid/20210304004138.1785057-1-linus.walleij@linaro.org
This commit is contained in:
parent
762949bb1d
commit
d0c5ac04e7
|
@ -760,7 +760,7 @@ static void mcde_dsi_start(struct mcde_dsi *d)
|
|||
DSI_MCTL_MAIN_DATA_CTL_BTA_EN |
|
||||
DSI_MCTL_MAIN_DATA_CTL_READ_EN |
|
||||
DSI_MCTL_MAIN_DATA_CTL_REG_TE_EN;
|
||||
if (d->mdsi->mode_flags & MIPI_DSI_MODE_EOT_PACKET)
|
||||
if (!(d->mdsi->mode_flags & MIPI_DSI_MODE_EOT_PACKET))
|
||||
val |= DSI_MCTL_MAIN_DATA_CTL_HOST_EOT_GEN;
|
||||
writel(val, d->regs + DSI_MCTL_MAIN_DATA_CTL);
|
||||
|
||||
|
|
|
@ -898,8 +898,7 @@ static int nt35510_probe(struct mipi_dsi_device *dsi)
|
|||
*/
|
||||
dsi->hs_rate = 349440000;
|
||||
dsi->lp_rate = 9600000;
|
||||
dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS |
|
||||
MIPI_DSI_MODE_EOT_PACKET;
|
||||
dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS;
|
||||
|
||||
/*
|
||||
* Every new incarnation of this display must have a unique
|
||||
|
|
|
@ -184,9 +184,7 @@ static int s6d16d0_probe(struct mipi_dsi_device *dsi)
|
|||
* As we only send commands we do not need to be continuously
|
||||
* clocked.
|
||||
*/
|
||||
dsi->mode_flags =
|
||||
MIPI_DSI_CLOCK_NON_CONTINUOUS |
|
||||
MIPI_DSI_MODE_EOT_PACKET;
|
||||
dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS;
|
||||
|
||||
s6->supply = devm_regulator_get(dev, "vdd1");
|
||||
if (IS_ERR(s6->supply))
|
||||
|
|
|
@ -97,7 +97,6 @@ static int s6e63m0_dsi_probe(struct mipi_dsi_device *dsi)
|
|||
dsi->hs_rate = 349440000;
|
||||
dsi->lp_rate = 9600000;
|
||||
dsi->mode_flags = MIPI_DSI_MODE_VIDEO |
|
||||
MIPI_DSI_MODE_EOT_PACKET |
|
||||
MIPI_DSI_MODE_VIDEO_BURST;
|
||||
|
||||
ret = s6e63m0_probe(dev, s6e63m0_dsi_dcs_read, s6e63m0_dsi_dcs_write,
|
||||
|
|
|
@ -449,8 +449,7 @@ static int acx424akp_probe(struct mipi_dsi_device *dsi)
|
|||
MIPI_DSI_MODE_VIDEO_BURST;
|
||||
else
|
||||
dsi->mode_flags =
|
||||
MIPI_DSI_CLOCK_NON_CONTINUOUS |
|
||||
MIPI_DSI_MODE_EOT_PACKET;
|
||||
MIPI_DSI_CLOCK_NON_CONTINUOUS;
|
||||
|
||||
acx->supply = devm_regulator_get(dev, "vddi");
|
||||
if (IS_ERR(acx->supply))
|
||||
|
|
Loading…
Reference in New Issue