12874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 27415287eSGerd Hoffmann /* 37415287eSGerd Hoffmann * Copyright (C) 2016 Noralf Trønnes 47415287eSGerd Hoffmann */ 57415287eSGerd Hoffmann 67415287eSGerd Hoffmann #ifndef __LINUX_DRM_FORMAT_HELPER_H 77415287eSGerd Hoffmann #define __LINUX_DRM_FORMAT_HELPER_H 87415287eSGerd Hoffmann 97415287eSGerd Hoffmann struct drm_framebuffer; 107415287eSGerd Hoffmann struct drm_rect; 117415287eSGerd Hoffmann 127415287eSGerd Hoffmann void drm_fb_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb, 137415287eSGerd Hoffmann struct drm_rect *clip); 145ab7af71SThomas Zimmermann void drm_fb_memcpy_dstclip(void __iomem *dst, unsigned int dst_pitch, void *vaddr, 15bf4f6d16SGerd Hoffmann struct drm_framebuffer *fb, 1626f024f5SGerd Hoffmann struct drm_rect *clip); 17bd34cea2SNoralf Trønnes void drm_fb_swab(void *dst, void *src, struct drm_framebuffer *fb, 18bd34cea2SNoralf Trønnes struct drm_rect *clip, bool cached); 19bcc44420SGerd Hoffmann void drm_fb_xrgb8888_to_rgb565(void *dst, void *vaddr, 207415287eSGerd Hoffmann struct drm_framebuffer *fb, 21d653bd39SGerd Hoffmann struct drm_rect *clip, bool swab); 22d653bd39SGerd Hoffmann void drm_fb_xrgb8888_to_rgb565_dstclip(void __iomem *dst, unsigned int dst_pitch, 23bcc44420SGerd Hoffmann void *vaddr, struct drm_framebuffer *fb, 24d653bd39SGerd Hoffmann struct drm_rect *clip, bool swab); 255c5373b5SGerd Hoffmann void drm_fb_xrgb8888_to_rgb888_dstclip(void __iomem *dst, unsigned int dst_pitch, 26ec3de7a4SGerd Hoffmann void *vaddr, struct drm_framebuffer *fb, 27ec3de7a4SGerd Hoffmann struct drm_rect *clip); 287415287eSGerd Hoffmann void drm_fb_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb, 297415287eSGerd Hoffmann struct drm_rect *clip); 307415287eSGerd Hoffmann 31*900d3e4aSThomas Zimmermann int drm_fb_blit_rect_dstclip(void __iomem *dst, unsigned int dst_pitch, 32*900d3e4aSThomas Zimmermann uint32_t dst_format, void *vmap, 33*900d3e4aSThomas Zimmermann struct drm_framebuffer *fb, 34*900d3e4aSThomas Zimmermann struct drm_rect *rect); 35*900d3e4aSThomas Zimmermann int drm_fb_blit_dstclip(void __iomem *dst, unsigned int dst_pitch, 36*900d3e4aSThomas Zimmermann uint32_t dst_format, void *vmap, 37*900d3e4aSThomas Zimmermann struct drm_framebuffer *fb); 38*900d3e4aSThomas Zimmermann 397415287eSGerd Hoffmann #endif /* __LINUX_DRM_FORMAT_HELPER_H */ 40