The bounding rectangle is adjusted to ensure it aligns to
SSD132X_SEGMENT_WIDTH, which may adjust the pitch. Calcuate the pitch
after alighting the left and right edge.
Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
---
drivers/gpu/drm/solomon/ssd130x.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/solomon/ssd130x.c b/drivers/gpu/drm/solomon/ssd130x.c
index 64f1123080996..38f31c3624062 100644
--- a/drivers/gpu/drm/solomon/ssd130x.c
+++ b/drivers/gpu/drm/solomon/ssd130x.c
@@ -1037,7 +1037,7 @@ static int ssd132x_fb_blit_rect(struct drm_framebuffer *fb,
struct drm_format_conv_state *fmtcnv_state)
{
struct ssd130x_device *ssd130x = drm_to_ssd130x(fb->dev);
- unsigned int dst_pitch = drm_rect_width(rect);
+ unsigned int dst_pitch;
struct iosys_map dst;
int ret = 0;
@@ -1046,6 +1046,8 @@ static int ssd132x_fb_blit_rect(struct drm_framebuffer *fb,
rect->x2 = min_t(unsigned int, round_up(rect->x2, SSD132X_SEGMENT_WIDTH),
ssd130x->width);
+ dst_pitch = drm_rect_width(rect);
+
ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE);
if (ret)
return ret;
--
2.47.1
John Keeping <jkeeping@inmusicbrands.com> writes:
> The bounding rectangle is adjusted to ensure it aligns to
> SSD132X_SEGMENT_WIDTH, which may adjust the pitch. Calcuate the pitch
Calculate
> after alighting the left and right edge.
>
aligning
> Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
> ---
> drivers/gpu/drm/solomon/ssd130x.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/solomon/ssd130x.c b/drivers/gpu/drm/solomon/ssd130x.c
> index 64f1123080996..38f31c3624062 100644
> --- a/drivers/gpu/drm/solomon/ssd130x.c
> +++ b/drivers/gpu/drm/solomon/ssd130x.c
> @@ -1037,7 +1037,7 @@ static int ssd132x_fb_blit_rect(struct drm_framebuffer *fb,
> struct drm_format_conv_state *fmtcnv_state)
> {
> struct ssd130x_device *ssd130x = drm_to_ssd130x(fb->dev);
> - unsigned int dst_pitch = drm_rect_width(rect);
> + unsigned int dst_pitch;
> struct iosys_map dst;
> int ret = 0;
>
> @@ -1046,6 +1046,8 @@ static int ssd132x_fb_blit_rect(struct drm_framebuffer *fb,
> rect->x2 = min_t(unsigned int, round_up(rect->x2, SSD132X_SEGMENT_WIDTH),
> ssd130x->width);
>
> + dst_pitch = drm_rect_width(rect);
> +
> ret = drm_gem_fb_begin_cpu_access(fb, DMA_FROM_DEVICE);
> if (ret)
> return ret;
> --
> 2.47.1
>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat
Javier Martinez Canillas <javierm@redhat.com> writes:
> John Keeping <jkeeping@inmusicbrands.com> writes:
>
>> The bounding rectangle is adjusted to ensure it aligns to
>> SSD132X_SEGMENT_WIDTH, which may adjust the pitch. Calcuate the pitch
>
> Calculate
>
>> after alighting the left and right edge.
>>
>
> aligning
>
I forgot that this patch also needs a
Fixes: fdd591e00a9c ("drm/ssd130x: Add support for the SSD132x OLED controller family")
>> Signed-off-by: John Keeping <jkeeping@inmusicbrands.com>
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat
© 2016 - 2025 Red Hat, Inc.