aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2018-09-05 02:04:41 -0400
committerGerd Hoffmann <kraxel@redhat.com>2018-09-06 02:40:18 -0400
commitec2fae2558ba6b7b166db20901545cab7e41a050 (patch)
tree12e4ba4bfbfdf5a9082d29a289b6c3a11c399c73
parent0e94043ee1d98d5112aa4e1d68733b0197dfdafa (diff)
drm: byteorder: add DRM_FORMAT_HOST_*
Add fourcc variants in host byte order. With these at hand we don't need #ifdefs in drivers which support framebuffers in cpu endianess. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20180905060445.15008-3-kraxel@redhat.com
-rw-r--r--include/drm/drm_fourcc.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h
index f9c15845f465..fac831c40106 100644
--- a/include/drm/drm_fourcc.h
+++ b/include/drm/drm_fourcc.h
@@ -25,6 +25,28 @@
25#include <linux/types.h> 25#include <linux/types.h>
26#include <uapi/drm/drm_fourcc.h> 26#include <uapi/drm/drm_fourcc.h>
27 27
28/*
29 * DRM formats are little endian. Define host endian variants for the
30 * most common formats here, to reduce the #ifdefs needed in drivers.
31 *
32 * Note that the DRM_FORMAT_BIG_ENDIAN flag should only be used in
33 * case the format can't be specified otherwise, so we don't end up
34 * with two values describing the same format.
35 */
36#ifdef __BIG_ENDIAN
37# define DRM_FORMAT_HOST_XRGB1555 (DRM_FORMAT_XRGB1555 | \
38 DRM_FORMAT_BIG_ENDIAN)
39# define DRM_FORMAT_HOST_RGB565 (DRM_FORMAT_RGB565 | \
40 DRM_FORMAT_BIG_ENDIAN)
41# define DRM_FORMAT_HOST_XRGB8888 DRM_FORMAT_BGRX8888
42# define DRM_FORMAT_HOST_ARGB8888 DRM_FORMAT_BGRA8888
43#else
44# define DRM_FORMAT_HOST_XRGB1555 DRM_FORMAT_XRGB1555
45# define DRM_FORMAT_HOST_RGB565 DRM_FORMAT_RGB565
46# define DRM_FORMAT_HOST_XRGB8888 DRM_FORMAT_XRGB8888
47# define DRM_FORMAT_HOST_ARGB8888 DRM_FORMAT_ARGB8888
48#endif
49
28struct drm_device; 50struct drm_device;
29struct drm_mode_fb_cmd2; 51struct drm_mode_fb_cmd2;
30 52