The SPI DCS code was a bit hard to understand as the
device accepts 9-bit transfers packed into 16-bit words
with the most significant bit in bit 9 of the
16-bit word. Add some clarifying comments.

Cc: Stephan Gerhold <step...@gerhold.net>
Cc: Paweł Chmiel <pawel.mikolaj.chm...@gmail.com>
Signed-off-by: Linus Walleij <linus.wall...@linaro.org>
---
 drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c 
b/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c
index 9e1552a7ccc7..e47647f418ff 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c
@@ -42,10 +42,17 @@ static int s6e63m0_spi_dcs_write(struct device *dev, const 
u8 *data, size_t len)
        int ret = 0;
 
        dev_dbg(dev, "SPI writing dcs seq: %*ph\n", (int)len, data);
+
+       /*
+        * This sends 9 bits with the first bit (bit 8) set to 0
+        * This indicates that this is a command. Anything after the
+        * command is data.
+        */
        ret = s6e63m0_spi_write_word(dev, *data);
 
        while (!ret && --len) {
                ++data;
+               /* This sends 9 bits with the first bit (bit 8) set to 1 */
                ret = s6e63m0_spi_write_word(dev, *data | DATA_MASK);
        }
 
-- 
2.26.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to