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 *dst, void *vaddr, struct drm_framebuffer *fb,
19 			   struct drm_rect *clip);
20 void drm_fb_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb,
21 		   struct drm_rect *clip);
22 void drm_fb_xrgb8888_to_rgb565(void *dst, void *vaddr,
23 			       struct drm_framebuffer *fb,
24 			       struct drm_rect *clip, bool swap);
25 void drm_fb_xrgb8888_to_rgb565_dstclip(void *dst, unsigned int dst_pitch,
26 				       void *vaddr, struct drm_framebuffer *fb,
27 				       struct drm_rect *clip, bool swap);
28 void drm_fb_xrgb8888_to_rgb888_dstclip(void *dst, unsigned int dst_pitch,
29 				       void *vaddr, struct drm_framebuffer *fb,
30 				       struct drm_rect *clip);
31 void drm_fb_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb,
32 			      struct drm_rect *clip);
33 
34 #endif /* __LINUX_DRM_FORMAT_HELPER_H */
35