From: Sam Ravnborg <sam@ravnborg.org>
To: Paul Cercueil <paul@crapouillou.net>
Cc: Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@linux.ie>,
dri-devel@lists.freedesktop.org, stable@vger.kernel.org
Subject: Re: [PATCH] drm/dbi: Fix SPI Type 1 (9-bit) transfer
Date: Fri, 3 Jul 2020 16:23:57 +0200 [thread overview]
Message-ID: <20200703142357.GA25632@ravnborg.org> (raw)
In-Reply-To: <20200703141341.1266263-1-paul@crapouillou.net>
On Fri, Jul 03, 2020 at 04:13:41PM +0200, Paul Cercueil wrote:
> The function mipi_dbi_spi1_transfer() will transfer its payload as 9-bit
> data, the 9th (MSB) bit being the data/command bit. In order to do that,
> it unpacks the 8-bit values into 16-bit values, then sets the 9th bit if
> the byte corresponds to data, clears it otherwise. The 7 MSB are
> padding. The array of now 16-bit values is then passed to the SPI core
> for transfer.
>
> This function was broken since its introduction, as the length of the
> SPI transfer was set to the payload size before its conversion, but the
> payload doubled in size due to the 8-bit -> 16-bit conversion.
>
> Fixes: 02dd95fe3169 ("drm/tinydrm: Add MIPI DBI support")
> Cc: <stable@vger.kernel.org> # 4.10
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
As discussed on irc this looks correct to me too.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
I will apply later, but let's wait and see if Noralf or others
have any feedback first.
Sam
> ---
> drivers/gpu/drm/drm_mipi_dbi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> index bb27c82757f1..bf7888ad9ad4 100644
> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> @@ -923,7 +923,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
> }
> }
>
> - tr.len = chunk;
> + tr.len = chunk * 2;
> len -= chunk;
>
> ret = spi_sync(spi, &m);
> --
> 2.27.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Sam Ravnborg <sam@ravnborg.org>
To: Paul Cercueil <paul@crapouillou.net>
Cc: "Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@linux.ie>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Noralf Trønnes" <noralf@tronnes.org>,
dri-devel@lists.freedesktop.org, stable@vger.kernel.org
Subject: Re: [PATCH] drm/dbi: Fix SPI Type 1 (9-bit) transfer
Date: Fri, 3 Jul 2020 16:23:57 +0200 [thread overview]
Message-ID: <20200703142357.GA25632@ravnborg.org> (raw)
In-Reply-To: <20200703141341.1266263-1-paul@crapouillou.net>
On Fri, Jul 03, 2020 at 04:13:41PM +0200, Paul Cercueil wrote:
> The function mipi_dbi_spi1_transfer() will transfer its payload as 9-bit
> data, the 9th (MSB) bit being the data/command bit. In order to do that,
> it unpacks the 8-bit values into 16-bit values, then sets the 9th bit if
> the byte corresponds to data, clears it otherwise. The 7 MSB are
> padding. The array of now 16-bit values is then passed to the SPI core
> for transfer.
>
> This function was broken since its introduction, as the length of the
> SPI transfer was set to the payload size before its conversion, but the
> payload doubled in size due to the 8-bit -> 16-bit conversion.
>
> Fixes: 02dd95fe3169 ("drm/tinydrm: Add MIPI DBI support")
> Cc: <stable@vger.kernel.org> # 4.10
> Signed-off-by: Paul Cercueil <paul@crapouillou.net>
As discussed on irc this looks correct to me too.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
I will apply later, but let's wait and see if Noralf or others
have any feedback first.
Sam
> ---
> drivers/gpu/drm/drm_mipi_dbi.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_mipi_dbi.c b/drivers/gpu/drm/drm_mipi_dbi.c
> index bb27c82757f1..bf7888ad9ad4 100644
> --- a/drivers/gpu/drm/drm_mipi_dbi.c
> +++ b/drivers/gpu/drm/drm_mipi_dbi.c
> @@ -923,7 +923,7 @@ static int mipi_dbi_spi1_transfer(struct mipi_dbi *dbi, int dc,
> }
> }
>
> - tr.len = chunk;
> + tr.len = chunk * 2;
> len -= chunk;
>
> ret = spi_sync(spi, &m);
> --
> 2.27.0
next prev parent reply other threads:[~2020-07-03 14:24 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-03 14:13 [PATCH] drm/dbi: Fix SPI Type 1 (9-bit) transfer Paul Cercueil
2020-07-03 14:13 ` Paul Cercueil
2020-07-03 14:23 ` Sam Ravnborg [this message]
2020-07-03 14:23 ` Sam Ravnborg
2020-07-27 18:36 ` Sam Ravnborg
2020-07-27 18:36 ` Sam Ravnborg
2020-07-03 14:26 ` Sam Ravnborg
2020-07-03 14:26 ` Sam Ravnborg
2020-07-05 15:58 ` Noralf Trønnes
2020-07-05 15:58 ` Noralf Trønnes
2020-07-06 23:49 ` Paul Cercueil
2020-07-06 23:49 ` Paul Cercueil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200703142357.GA25632@ravnborg.org \
--to=sam@ravnborg.org \
--cc=airlied@linux.ie \
--cc=dri-devel@lists.freedesktop.org \
--cc=paul@crapouillou.net \
--cc=stable@vger.kernel.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.