17415287eSGerd Hoffmann /*
27415287eSGerd Hoffmann  * Copyright (C) 2016 Noralf Trønnes
37415287eSGerd Hoffmann  *
47415287eSGerd Hoffmann  * This program is free software; you can redistribute it and/or modify
57415287eSGerd Hoffmann  * it under the terms of the GNU General Public License as published by
67415287eSGerd Hoffmann  * the Free Software Foundation; either version 2 of the License, or
77415287eSGerd Hoffmann  * (at your option) any later version.
87415287eSGerd Hoffmann  */
97415287eSGerd Hoffmann 
107415287eSGerd Hoffmann #ifndef __LINUX_DRM_FORMAT_HELPER_H
117415287eSGerd Hoffmann #define __LINUX_DRM_FORMAT_HELPER_H
127415287eSGerd Hoffmann 
137415287eSGerd Hoffmann struct drm_framebuffer;
147415287eSGerd Hoffmann struct drm_rect;
157415287eSGerd Hoffmann 
167415287eSGerd Hoffmann void drm_fb_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb,
177415287eSGerd Hoffmann 		   struct drm_rect *clip);
18bf4f6d16SGerd Hoffmann void drm_fb_memcpy_dstclip(void __iomem *dst, void *vaddr,
19bf4f6d16SGerd Hoffmann 			   struct drm_framebuffer *fb,
2026f024f5SGerd Hoffmann 			   struct drm_rect *clip);
217415287eSGerd Hoffmann void drm_fb_swab16(u16 *dst, void *vaddr, struct drm_framebuffer *fb,
227415287eSGerd Hoffmann 		   struct drm_rect *clip);
23bcc44420SGerd Hoffmann void drm_fb_xrgb8888_to_rgb565(void *dst, void *vaddr,
247415287eSGerd Hoffmann 			       struct drm_framebuffer *fb,
257415287eSGerd Hoffmann 			       struct drm_rect *clip, bool swap);
26bcc44420SGerd Hoffmann void drm_fb_xrgb8888_to_rgb565_dstclip(void *dst, unsigned int dst_pitch,
27bcc44420SGerd Hoffmann 				       void *vaddr, struct drm_framebuffer *fb,
28bcc44420SGerd Hoffmann 				       struct drm_rect *clip, bool swap);
29ec3de7a4SGerd Hoffmann void drm_fb_xrgb8888_to_rgb888_dstclip(void *dst, unsigned int dst_pitch,
30ec3de7a4SGerd Hoffmann 				       void *vaddr, struct drm_framebuffer *fb,
31ec3de7a4SGerd Hoffmann 				       struct drm_rect *clip);
327415287eSGerd Hoffmann void drm_fb_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb,
337415287eSGerd Hoffmann 			      struct drm_rect *clip);
347415287eSGerd Hoffmann 
357415287eSGerd Hoffmann #endif /* __LINUX_DRM_FORMAT_HELPER_H */
36