Re: [PATCH 7/8] drm/ssd13xx: Add support for the SSD132x OLED controller family

From: Geert Uytterhoeven
Date: Wed Oct 11 2023 - 04:13:38 EST


Hi Javier,

On Mon, Oct 9, 2023 at 8:36 PM Javier Martinez Canillas
<javierm@xxxxxxxxxx> wrote:
> The Solomon SSD132x controllers (such as the SSD1322, SSD1325 and SSD1327)
> are used by 16 grayscale dot matrix OLED panels, extend the driver to also
> support this chip family.
>
> Signed-off-by: Javier Martinez Canillas <javierm@xxxxxxxxxx>

Thanks for your patch!

> --- a/drivers/gpu/drm/solomon/ssd13xx.c
> +++ b/drivers/gpu/drm/solomon/ssd13xx.c

> @@ -631,9 +821,12 @@ static int ssd13xx_fb_blit_rect(struct drm_framebuffer *fb,
> unsigned int dst_pitch;
> int ret = 0;
>
> - /* Align y to display page boundaries */
> - rect->y1 = round_down(rect->y1, SSD130X_PAGE_HEIGHT);
> - rect->y2 = min_t(unsigned int, round_up(rect->y2, SSD130X_PAGE_HEIGHT), ssd13xx->height);
> + if (ssd13xx->device_info->family_id == SSD130X_FAMILY) {
> + /* Align y to display page boundaries */
> + rect->y1 = round_down(rect->y1, SSD130X_PAGE_HEIGHT);
> + rect->y2 = min_t(unsigned int, round_up(rect->y2, SSD130X_PAGE_HEIGHT),
> + ssd13xx->height);
> + }

Don't you need to align to page boundaries (2 pixels per page)
on SSD132X?

This should be handled through ssd13xx_funcs instead of a family check.

>
> dst_pitch = drm_format_info_min_pitch(fi, 0, drm_rect_width(rect));
>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds