Re: [PATCH 2/3] drm/tiny: ili9486: Do not assume 8-bit only SPI controllers

From: Mark Brown
Date: Thu Nov 17 2022 - 06:11:27 EST


On Thu, Nov 17, 2022 at 09:47:40AM +0100, Carlo Caione wrote:
> The ILI9486 driver is wrongly assuming that the SPI panel is interfaced
> only with 8-bit SPI controllers and consequently that the pixel data
> passed by the MIPI DBI subsystem are already swapped before being sent
> over SPI using 8 bits-per-word.
>
> This is not always true for all the SPI controllers.
>
> Make the command function more general to not only support 8-bit only
> SPI controllers and support sending un-swapped data over SPI using 16
> bits-per-word when dealing with pixel data.

I don't understand what the commit log is saying here. The
meson-spicc driver advertises support for 8 bit words, if the
driver is sending data formatted as a byte stream everything
should be fine. It may be that there is some optimisation
available from taking advantage of the hardware's ability to
handle larger word sizes but there should be no data corruption
issue.

> + /*
> + * Check whether pixel data bytes needs to be swapped or not
> + */
> + if (*cmd == MIPI_DCS_WRITE_MEMORY_START && !mipi->swap_bytes)
> + bpw = 16;
> +

You should check the SPI controller compatibility here.

Attachment: signature.asc
Description: PGP signature