]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/mcde/panel: Inverse misunderstood flag
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 4 Mar 2021 00:41:38 +0000 (01:41 +0100)
committerKelsey Skunberg <kelsey.skunberg@canonical.com>
Mon, 24 May 2021 23:46:28 +0000 (17:46 -0600)
BugLink: https://bugs.launchpad.net/bugs/1929455
[ Upstream commit d0c5ac04e7feedbc069f26f4dcbf35b521ae7fc5 ]

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: 5fc537bfd000 ("drm/mcde: Add new driver for ST-Ericsson MCDE")
Fixes: 899f24ed8d3a ("drm/panel: Add driver for Novatek NT35510-based panels")
Fixes: ac1d6d74884e ("drm/panel: Add driver for Samsung S6D16D0 panel")
Fixes: 435e06c06cb2 ("drm/panel: s6e63m0: Add DSI transport")
Fixes: 8152c2bfd780 ("drm/panel: Add driver for Sony ACX424AKP panel")
Link: https://patchwork.freedesktop.org/patch/msgid/20210304004138.1785057-1-linus.walleij@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kelsey Skunberg <kelsey.skunberg@canonical.com>
drivers/gpu/drm/mcde/mcde_dsi.c
drivers/gpu/drm/panel/panel-novatek-nt35510.c
drivers/gpu/drm/panel/panel-samsung-s6d16d0.c
drivers/gpu/drm/panel/panel-samsung-s6e63m0-dsi.c
drivers/gpu/drm/panel/panel-sony-acx424akp.c

index 2314c81229920dc96f385272571b2857a8ef2cb1..b3fd3501c41279979dea06abf2de9eac392a5ea7 100644 (file)
@@ -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);
 
index b9a0e56f33e24ab58d03c76e25a61423fbacdf1a..ef70140c5b09da351eba4be180771b210e7bebde 100644 (file)
@@ -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
index 4aac0d1573dd096bfd6af013780131d8f61c4286..70560cac53a99e1a9d7709df7203feedba73a37b 100644 (file)
@@ -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))
index eec74c10dddaf35236a1502e612843b1126e5e91..9c3563c61e8cc77c688e44931c369fb621204d53 100644 (file)
@@ -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,
index 065efae213f5b04584fdd6024f330c98cef5958b..95659a4d15e979d0a05c6c1d4709ff8580aa380f 100644 (file)
@@ -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))