diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2018-09-05 02:04:41 -0400 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2018-09-06 02:40:18 -0400 |
commit | ec2fae2558ba6b7b166db20901545cab7e41a050 (patch) | |
tree | 12e4ba4bfbfdf5a9082d29a289b6c3a11c399c73 | |
parent | 0e94043ee1d98d5112aa4e1d68733b0197dfdafa (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.h | 22 |
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 | |||
28 | struct drm_device; | 50 | struct drm_device; |
29 | struct drm_mode_fb_cmd2; | 51 | struct drm_mode_fb_cmd2; |
30 | 52 | ||