@@ -218,6 +218,11 @@ extern "C" {
#define DRM_MODE_CONTENT_PROTECTION_DESIRED 1
#define DRM_MODE_CONTENT_PROTECTION_ENABLED 2
+/* DRM buffer allocation flags */
+#define DRM_BUF_ALLOC_FLAG_DUMB_IMPORT (1UL << 63)
+#define DRM_BUF_ALLOC_FLAG_SEPARATE_PLANE (1UL << 62)
+/* bits 0~31 were reserved for DMA-heap heap_flags */
+
/**
* struct drm_mode_modeinfo - Display mode information.
* @clock: pixel clock in kHz
@@ -1168,6 +1173,37 @@ struct drm_format_modifier {
__u64 modifier;
};
+struct drm_buf_alloc_flags_blob {
+#define FORMAT_BLOB_CURRENT 1
+ /* Version of this blob format */
+ __u32 version;
+
+ /* Flags */
+ __u32 flags;
+
+ /* Number of fourcc formats supported */
+ __u32 count_formats;
+
+ /* Where in this blob the formats exist (in bytes) */
+ __u32 formats_offset;
+
+ /* Number of drm_buf_alloc_flags */
+ __u32 count_alloc_flags;
+
+ /* Where in this blob the modifiers exist (in bytes) */
+ __u32 alloc_flags_offset;
+
+ /* __u32 formats[] */
+ /* struct drm_buf_alloc_flags alloc_flags[] */
+};
+
+struct drm_buf_alloc_flags {
+ __u32 format;
+ __u32 pad;
+ __u64 modifier_mask;
+ __u64 flags;
+};
+
/**
* struct drm_mode_create_blob - Create New blob property
*