1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright (C) 2016 Noralf Trønnes 4 */ 5 6 #ifndef __LINUX_DRM_FORMAT_HELPER_H 7 #define __LINUX_DRM_FORMAT_HELPER_H 8 9 struct drm_format_info; 10 struct drm_framebuffer; 11 struct drm_rect; 12 13 unsigned int drm_fb_clip_offset(unsigned int pitch, const struct drm_format_info *format, 14 const struct drm_rect *clip); 15 16 void drm_fb_memcpy(void *dst, unsigned int dst_pitch, const void *vaddr, 17 const struct drm_framebuffer *fb, const struct drm_rect *clip); 18 void drm_fb_memcpy_toio(void __iomem *dst, unsigned int dst_pitch, const void *vaddr, 19 const struct drm_framebuffer *fb, const struct drm_rect *clip); 20 void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src, 21 const struct drm_framebuffer *fb, const struct drm_rect *clip, 22 bool cached); 23 void drm_fb_xrgb8888_to_rgb332(void *dst, unsigned int dst_pitch, const void *vaddr, 24 const struct drm_framebuffer *fb, const struct drm_rect *clip); 25 void drm_fb_xrgb8888_to_rgb565(void *dst, unsigned int dst_pitch, const void *vaddr, 26 const struct drm_framebuffer *fb, const struct drm_rect *clip, 27 bool swab); 28 void drm_fb_xrgb8888_to_rgb565_toio(void __iomem *dst, unsigned int dst_pitch, 29 const void *vaddr, const struct drm_framebuffer *fb, 30 const struct drm_rect *clip, bool swab); 31 void drm_fb_xrgb8888_to_rgb888(void *dst, unsigned int dst_pitch, const void *src, 32 const struct drm_framebuffer *fb, const struct drm_rect *clip); 33 void drm_fb_xrgb8888_to_rgb888_toio(void __iomem *dst, unsigned int dst_pitch, 34 const void *vaddr, const struct drm_framebuffer *fb, 35 const struct drm_rect *clip); 36 void drm_fb_xrgb8888_to_xrgb2101010_toio(void __iomem *dst, unsigned int dst_pitch, 37 const void *vaddr, const struct drm_framebuffer *fb, 38 const struct drm_rect *clip); 39 void drm_fb_xrgb8888_to_gray8(void *dst, unsigned int dst_pitch, const void *vaddr, 40 const struct drm_framebuffer *fb, const struct drm_rect *clip); 41 42 int drm_fb_blit_toio(void __iomem *dst, unsigned int dst_pitch, uint32_t dst_format, 43 const void *vmap, const struct drm_framebuffer *fb, 44 const struct drm_rect *rect); 45 46 void drm_fb_xrgb8888_to_mono(void *dst, unsigned int dst_pitch, const void *src, 47 const struct drm_framebuffer *fb, const struct drm_rect *clip); 48 49 #endif /* __LINUX_DRM_FORMAT_HELPER_H */ 50