1 /*
2  * Copyright (C) 2016 Noralf Trønnes
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  */
9 
10 #ifndef __LINUX_DRM_FORMAT_HELPER_H
11 #define __LINUX_DRM_FORMAT_HELPER_H
12 
13 struct drm_framebuffer;
14 struct drm_rect;
15 
16 void drm_fb_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb,
17 		   struct drm_rect *clip);
18 void drm_fb_memcpy_dstclip(void __iomem *dst, void *vaddr,
19 			   struct drm_framebuffer *fb,
20 			   struct drm_rect *clip);
21 void drm_fb_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb,
22 		   struct drm_rect *clip);
23 void drm_fb_xrgb8888_to_rgb565(void *dst, void *vaddr,
24 			       struct drm_framebuffer *fb,
25 			       struct drm_rect *clip, bool swap);
26 void drm_fb_xrgb8888_to_rgb565_dstclip(void *dst, unsigned int dst_pitch,
27 				       void *vaddr, struct drm_framebuffer *fb,
28 				       struct drm_rect *clip, bool swap);
29 void drm_fb_xrgb8888_to_rgb888_dstclip(void *dst, unsigned int dst_pitch,
30 				       void *vaddr, struct drm_framebuffer *fb,
31 				       struct drm_rect *clip);
32 void drm_fb_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb,
33 			      struct drm_rect *clip);
34 
35 #endif /* __LINUX_DRM_FORMAT_HELPER_H */
36