[3/3] drm/tinydrm: Fix setting of the column/page end addresses.
diff mbox series

Message ID 20181024184313.2967-4-eric@anholt.net
State New
Headers show
Series
  • drm: tinydrm driver for adafruit PiTFT 3.5" touchscreen
Related show

Commit Message

Eric Anholt Oct. 24, 2018, 6:43 p.m. UTC
If the clipped dirty region's x/y happened to align to 256, we would
have set the top 8 bits wrong.  Noticed by inspection, not by
reproducing a bug.

Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/gpu/drm/tinydrm/mipi-dbi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Noralf Trønnes Oct. 27, 2018, 4:13 p.m. UTC | #1
Den 24.10.2018 20.43, skrev Eric Anholt:
> If the clipped dirty region's x/y happened to align to 256, we would
> have set the top 8 bits wrong.  Noticed by inspection, not by
> reproducing a bug.
>
> Signed-off-by: Eric Anholt <eric@anholt.net>
> ---

Good catch.
Reviewed-by: Noralf Trønnes <noralf@tronnes.org>

>   drivers/gpu/drm/tinydrm/mipi-dbi.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c
> index cb3441e51d5f..1bb870021f6e 100644
> --- a/drivers/gpu/drm/tinydrm/mipi-dbi.c
> +++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c
> @@ -240,10 +240,10 @@ static int mipi_dbi_fb_dirty(struct drm_framebuffer *fb,
>   
>   	mipi_dbi_command(mipi, MIPI_DCS_SET_COLUMN_ADDRESS,
>   			 (clip.x1 >> 8) & 0xFF, clip.x1 & 0xFF,
> -			 (clip.x2 >> 8) & 0xFF, (clip.x2 - 1) & 0xFF);
> +			 ((clip.x2 - 1) >> 8) & 0xFF, (clip.x2 - 1) & 0xFF);
>   	mipi_dbi_command(mipi, MIPI_DCS_SET_PAGE_ADDRESS,
>   			 (clip.y1 >> 8) & 0xFF, clip.y1 & 0xFF,
> -			 (clip.y2 >> 8) & 0xFF, (clip.y2 - 1) & 0xFF);
> +			 ((clip.y2 - 1) >> 8) & 0xFF, (clip.y2 - 1) & 0xFF);
>   
>   	ret = mipi_dbi_command_buf(mipi, MIPI_DCS_WRITE_MEMORY_START, tr,
>   				(clip.x2 - clip.x1) * (clip.y2 - clip.y1) * 2);

Patch
diff mbox series

diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c b/drivers/gpu/drm/tinydrm/mipi-dbi.c
index cb3441e51d5f..1bb870021f6e 100644
--- a/drivers/gpu/drm/tinydrm/mipi-dbi.c
+++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c
@@ -240,10 +240,10 @@  static int mipi_dbi_fb_dirty(struct drm_framebuffer *fb,
 
 	mipi_dbi_command(mipi, MIPI_DCS_SET_COLUMN_ADDRESS,
 			 (clip.x1 >> 8) & 0xFF, clip.x1 & 0xFF,
-			 (clip.x2 >> 8) & 0xFF, (clip.x2 - 1) & 0xFF);
+			 ((clip.x2 - 1) >> 8) & 0xFF, (clip.x2 - 1) & 0xFF);
 	mipi_dbi_command(mipi, MIPI_DCS_SET_PAGE_ADDRESS,
 			 (clip.y1 >> 8) & 0xFF, clip.y1 & 0xFF,
-			 (clip.y2 >> 8) & 0xFF, (clip.y2 - 1) & 0xFF);
+			 ((clip.y2 - 1) >> 8) & 0xFF, (clip.y2 - 1) & 0xFF);
 
 	ret = mipi_dbi_command_buf(mipi, MIPI_DCS_WRITE_MEMORY_START, tr,
 				(clip.x2 - clip.x1) * (clip.y2 - clip.y1) * 2);