Messages in this thread Patch in this message | | | Date | Wed, 23 Feb 2022 20:40:29 +0100 | Subject | Re: [PATCH] drm/repaper: Use format helper for xrgb8888 to monochrome conversion | From | Thomas Zimmermann <> |
| |
Hi
Am 23.02.22 um 20:37 schrieb Javier Martinez Canillas: > There is now a drm_fb_xrgb8888_to_mono_reversed() helper function to do > format conversion from XRGB8888 to reversed monochrome. > > Use that helper and remove the open coded version in the repaper driver. > > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Looks good.
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> --- > > This was only built tested because I don't have access to the hardware. > > drivers/gpu/drm/tiny/repaper.c | 24 +----------------------- > 1 file changed, 1 insertion(+), 23 deletions(-) > > diff --git a/drivers/gpu/drm/tiny/repaper.c b/drivers/gpu/drm/tiny/repaper.c > index 97a775c48cea..5c74e236b16d 100644 > --- a/drivers/gpu/drm/tiny/repaper.c > +++ b/drivers/gpu/drm/tiny/repaper.c > @@ -508,26 +508,6 @@ static void repaper_get_temperature(struct repaper_epd *epd) > epd->factored_stage_time = epd->stage_time * factor10x / 10; > } > > -static void repaper_gray8_to_mono_reversed(u8 *buf, u32 width, u32 height) > -{ > - u8 *gray8 = buf, *mono = buf; > - int y, xb, i; > - > - for (y = 0; y < height; y++) > - for (xb = 0; xb < width / 8; xb++) { > - u8 byte = 0x00; > - > - for (i = 0; i < 8; i++) { > - int x = xb * 8 + i; > - > - byte >>= 1; > - if (gray8[y * width + x] >> 7) > - byte |= BIT(7); > - } > - *mono++ = byte; > - } > -} > - > static int repaper_fb_dirty(struct drm_framebuffer *fb) > { > struct drm_gem_cma_object *cma_obj = drm_fb_cma_get_gem_obj(fb, 0); > @@ -560,12 +540,10 @@ static int repaper_fb_dirty(struct drm_framebuffer *fb) > if (ret) > goto out_free; > > - drm_fb_xrgb8888_to_gray8(buf, 0, cma_obj->vaddr, fb, &clip); > + drm_fb_xrgb8888_to_mono_reversed(buf, 0, cma_obj->vaddr, fb, &clip); > > drm_gem_fb_end_cpu_access(fb, DMA_FROM_DEVICE); > > - repaper_gray8_to_mono_reversed(buf, fb->width, fb->height); > - > if (epd->partial) { > repaper_frame_data_repeat(epd, buf, epd->current_frame, > REPAPER_NORMAL);
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev [unhandled content-type:application/pgp-signature] | |