18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (C) 2016 Noralf Trønnes
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#ifndef __LINUX_DRM_FORMAT_HELPER_H
78c2ecf20Sopenharmony_ci#define __LINUX_DRM_FORMAT_HELPER_H
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cistruct drm_framebuffer;
108c2ecf20Sopenharmony_cistruct drm_rect;
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_civoid drm_fb_memcpy(void *dst, void *vaddr, struct drm_framebuffer *fb,
138c2ecf20Sopenharmony_ci		   struct drm_rect *clip);
148c2ecf20Sopenharmony_civoid drm_fb_memcpy_dstclip(void __iomem *dst, void *vaddr,
158c2ecf20Sopenharmony_ci			   struct drm_framebuffer *fb,
168c2ecf20Sopenharmony_ci			   struct drm_rect *clip);
178c2ecf20Sopenharmony_civoid drm_fb_swab(void *dst, void *src, struct drm_framebuffer *fb,
188c2ecf20Sopenharmony_ci		 struct drm_rect *clip, bool cached);
198c2ecf20Sopenharmony_civoid drm_fb_xrgb8888_to_rgb565(void *dst, void *vaddr,
208c2ecf20Sopenharmony_ci			       struct drm_framebuffer *fb,
218c2ecf20Sopenharmony_ci			       struct drm_rect *clip, bool swab);
228c2ecf20Sopenharmony_civoid drm_fb_xrgb8888_to_rgb565_dstclip(void __iomem *dst, unsigned int dst_pitch,
238c2ecf20Sopenharmony_ci				       void *vaddr, struct drm_framebuffer *fb,
248c2ecf20Sopenharmony_ci				       struct drm_rect *clip, bool swab);
258c2ecf20Sopenharmony_civoid drm_fb_xrgb8888_to_rgb888_dstclip(void __iomem *dst, unsigned int dst_pitch,
268c2ecf20Sopenharmony_ci				       void *vaddr, struct drm_framebuffer *fb,
278c2ecf20Sopenharmony_ci				       struct drm_rect *clip);
288c2ecf20Sopenharmony_civoid drm_fb_xrgb8888_to_gray8(u8 *dst, void *vaddr, struct drm_framebuffer *fb,
298c2ecf20Sopenharmony_ci			      struct drm_rect *clip);
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci#endif /* __LINUX_DRM_FORMAT_HELPER_H */
32