Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  * Copyright (C) 2016 Noralf Trønnes
0004  */
0005 
0006 #ifndef __LINUX_DRM_FORMAT_HELPER_H
0007 #define __LINUX_DRM_FORMAT_HELPER_H
0008 
0009 struct drm_format_info;
0010 struct drm_framebuffer;
0011 struct drm_rect;
0012 
0013 unsigned int drm_fb_clip_offset(unsigned int pitch, const struct drm_format_info *format,
0014                 const struct drm_rect *clip);
0015 
0016 void drm_fb_memcpy(void *dst, unsigned int dst_pitch, const void *vaddr,
0017            const struct drm_framebuffer *fb, const struct drm_rect *clip);
0018 void drm_fb_memcpy_toio(void __iomem *dst, unsigned int dst_pitch, const void *vaddr,
0019             const struct drm_framebuffer *fb, const struct drm_rect *clip);
0020 void drm_fb_swab(void *dst, unsigned int dst_pitch, const void *src,
0021          const struct drm_framebuffer *fb, const struct drm_rect *clip,
0022          bool cached);
0023 void drm_fb_xrgb8888_to_rgb332(void *dst, unsigned int dst_pitch, const void *vaddr,
0024                    const struct drm_framebuffer *fb, const struct drm_rect *clip);
0025 void drm_fb_xrgb8888_to_rgb565(void *dst, unsigned int dst_pitch, const void *vaddr,
0026                    const struct drm_framebuffer *fb, const struct drm_rect *clip,
0027                    bool swab);
0028 void drm_fb_xrgb8888_to_rgb565_toio(void __iomem *dst, unsigned int dst_pitch,
0029                     const void *vaddr, const struct drm_framebuffer *fb,
0030                     const struct drm_rect *clip, bool swab);
0031 void drm_fb_xrgb8888_to_rgb888(void *dst, unsigned int dst_pitch, const void *src,
0032                    const struct drm_framebuffer *fb, const struct drm_rect *clip);
0033 void drm_fb_xrgb8888_to_rgb888_toio(void __iomem *dst, unsigned int dst_pitch,
0034                     const void *vaddr, const struct drm_framebuffer *fb,
0035                     const struct drm_rect *clip);
0036 void drm_fb_xrgb8888_to_xrgb2101010_toio(void __iomem *dst, unsigned int dst_pitch,
0037                      const void *vaddr, const struct drm_framebuffer *fb,
0038                      const struct drm_rect *clip);
0039 void drm_fb_xrgb8888_to_gray8(void *dst, unsigned int dst_pitch, const void *vaddr,
0040                   const struct drm_framebuffer *fb, const struct drm_rect *clip);
0041 
0042 int drm_fb_blit_toio(void __iomem *dst, unsigned int dst_pitch, uint32_t dst_format,
0043              const void *vmap, const struct drm_framebuffer *fb,
0044              const struct drm_rect *rect);
0045 
0046 void drm_fb_xrgb8888_to_mono(void *dst, unsigned int dst_pitch, const void *src,
0047                  const struct drm_framebuffer *fb, const struct drm_rect *clip);
0048 
0049 #endif /* __LINUX_DRM_FORMAT_HELPER_H */