drm: switch drm_fb_xrgb8888_to_rgb565_dstclip to accept __iomem dst
Not all archs have the __io_virt() macro, so cirrus can't simply convert pointers that way. The drm format helpers have to use memcpy_toio() instead. This patch makes drm_fb_xrgb8888_to_rgb565_dstclip() accept a __iomem dst pointer and use memcpy_toio() instead of memcpy(). The helper function (drm_fb_xrgb8888_to_rgb565_line) has been changed to process a single scanline. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Noralf Trønnes <noralf@tronnes.org> Link: http://patchwork.freedesktop.org/patch/msgid/20190410063815.17062-3-kraxel@redhat.com
This commit is contained in:
@@ -311,7 +311,7 @@ static int cirrus_fb_blit_rect(struct drm_framebuffer *fb,
|
||||
vmap, fb, rect);
|
||||
|
||||
else if (fb->format->cpp[0] == 4 && cirrus->cpp == 2)
|
||||
drm_fb_xrgb8888_to_rgb565_dstclip(__io_virt(cirrus->vram),
|
||||
drm_fb_xrgb8888_to_rgb565_dstclip(cirrus->vram,
|
||||
cirrus->pitch,
|
||||
vmap, fb, rect, false);
|
||||
|
||||
|
Reference in New Issue
Block a user