UPSTREAM: 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 (cherry picked from commit ec2fae2558ba6b7b166db20901545cab7e41a050) Signed-off-by: Greg Hartman <ghartman@google.com> BUG: 139386237 Change-Id: I2ca0265de54f1a0e5dc49f4c3575d3575f09d25e
This commit is contained in:
parent
fb58ca2898
commit
4fdb8b8630
1 changed files with 22 additions and 0 deletions
|
@ -25,6 +25,28 @@
|
|||
#include <linux/types.h>
|
||||
#include <uapi/drm/drm_fourcc.h>
|
||||
|
||||
/*
|
||||
* DRM formats are little endian. Define host endian variants for the
|
||||
* most common formats here, to reduce the #ifdefs needed in drivers.
|
||||
*
|
||||
* Note that the DRM_FORMAT_BIG_ENDIAN flag should only be used in
|
||||
* case the format can't be specified otherwise, so we don't end up
|
||||
* with two values describing the same format.
|
||||
*/
|
||||
#ifdef __BIG_ENDIAN
|
||||
# define DRM_FORMAT_HOST_XRGB1555 (DRM_FORMAT_XRGB1555 | \
|
||||
DRM_FORMAT_BIG_ENDIAN)
|
||||
# define DRM_FORMAT_HOST_RGB565 (DRM_FORMAT_RGB565 | \
|
||||
DRM_FORMAT_BIG_ENDIAN)
|
||||
# define DRM_FORMAT_HOST_XRGB8888 DRM_FORMAT_BGRX8888
|
||||
# define DRM_FORMAT_HOST_ARGB8888 DRM_FORMAT_BGRA8888
|
||||
#else
|
||||
# define DRM_FORMAT_HOST_XRGB1555 DRM_FORMAT_XRGB1555
|
||||
# define DRM_FORMAT_HOST_RGB565 DRM_FORMAT_RGB565
|
||||
# define DRM_FORMAT_HOST_XRGB8888 DRM_FORMAT_XRGB8888
|
||||
# define DRM_FORMAT_HOST_ARGB8888 DRM_FORMAT_ARGB8888
|
||||
#endif
|
||||
|
||||
struct drm_device;
|
||||
struct drm_mode_fb_cmd2;
|
||||
|
||||
|
|
Loading…
Reference in a new issue