History

Merge tag 'drm-misc-next-2018-06-21' of git://anongit.freedesktop.org/drm/drm-misc into drm-next

drm-misc-next for 4.19: UAPI Changes: - Add writeback connector (Brian Starkey/Liviu Dudau) - Add "content type" property to HDMI connectors (Stanislav Lisovskiy) Cross-subsystem Changes: - some devicetree Docs update - fix compile breakage on ION due to the dma-buf cleanups (Christian König) Core Changes: - Reject over-sized allocation requests early (Chris Wilson) - gem-fb-helper: Always do implicit sync (Daniel Vetter) - dma-buf cleanups (Christian König) Driver Changes: - Fixes for the otm8009a panel driver (Philippe Cornu) - Add Innolux TV123WAM panel driver support (Sandeep Panda) - Move GEM BO to drm_framebuffer in few drivers (Daniel Stone) - i915 pinning improvements (Chris Wilson) - Stop consulting plane->fb/crtc in a few drivers (Ville Syrjälä) Signed-off-by: Dave Airlie <airlied@redhat.com>

Dave Airlie committed 8 years ago

Commit f4366e42 parents 3069290 c612ae0131 files · +2277 −1240Browse files

Showing the changes to include/uapi (3 of 131 files). Show all

Unified · Split

3 files
  1. include/uapi/drm/drm.h +9 −0
  2. include/uapi/drm/drm_fourcc.h +59 −0
  3. include/uapi/drm/drm_mode.h +8 −0
include/uapi/drm/drm.h+9−0
@@ -687,6 +687,15 @@ struct drm_get_cap { · 686 unmodified lines
687687 */
688688 #define DRM_CLIENT_CAP_ASPECT_RATIO 4
689689
690+/**
691+ * DRM_CLIENT_CAP_WRITEBACK_CONNECTORS
692+ *
693+ * If set to 1, the DRM core will expose special connectors to be used for
694+ * writing back to memory the scene setup in the commit. Depends on client
695+ * also supporting DRM_CLIENT_CAP_ATOMIC
696+ */
697+#define DRM_CLIENT_CAP_WRITEBACK_CONNECTORS 5
698+
690699 /** DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */
691700 struct drm_set_client_cap {
692701 __u64 capability;
include/uapi/drm/drm_fourcc.h+59−0
@@ -384,6 +384,23 @@ extern "C" { · 383 unmodified lines
384384 #define DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK_THIRTYTWO_GOB \
385385 fourcc_mod_code(NVIDIA, 0x15)
386386
387+/*
388+ * Some Broadcom modifiers take parameters, for example the number of
389+ * vertical lines in the image. Reserve the lower 32 bits for modifier
390+ * type, and the next 24 bits for parameters. Top 8 bits are the
391+ * vendor code.
392+ */
393+#define __fourcc_mod_broadcom_param_shift 8
394+#define __fourcc_mod_broadcom_param_bits 48
395+#define fourcc_mod_broadcom_code(val, params) \
396+ fourcc_mod_code(BROADCOM, ((((__u64)params) << __fourcc_mod_broadcom_param_shift) | val))
397+#define fourcc_mod_broadcom_param(m) \
398+ ((int)(((m) >> __fourcc_mod_broadcom_param_shift) & \
399+ ((1ULL << __fourcc_mod_broadcom_param_bits) - 1)))
400+#define fourcc_mod_broadcom_mod(m) \
401+ ((m) & ~(((1ULL << __fourcc_mod_broadcom_param_bits) - 1) << \
402+ __fourcc_mod_broadcom_param_shift))
403+
387404 /*
388405 * Broadcom VC4 "T" format
389406 *
@@ -405,6 +422,48 @@ extern "C" { · 15 unmodified lines
405422 */
406423 #define DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED fourcc_mod_code(BROADCOM, 1)
407424
425+/*
426+ * Broadcom SAND format
427+ *
428+ * This is the native format that the H.264 codec block uses. For VC4
429+ * HVS, it is only valid for H.264 (NV12/21) and RGBA modes.
430+ *
431+ * The image can be considered to be split into columns, and the
432+ * columns are placed consecutively into memory. The width of those
433+ * columns can be either 32, 64, 128, or 256 pixels, but in practice
434+ * only 128 pixel columns are used.
435+ *
436+ * The pitch between the start of each column is set to optimally
437+ * switch between SDRAM banks. This is passed as the number of lines
438+ * of column width in the modifier (we can't use the stride value due
439+ * to various core checks that look at it , so you should set the
440+ * stride to width*cpp).
441+ *
442+ * Note that the column height for this format modifier is the same
443+ * for all of the planes, assuming that each column contains both Y
444+ * and UV. Some SAND-using hardware stores UV in a separate tiled
445+ * image from Y to reduce the column height, which is not supported
446+ * with these modifiers.
447+ */
448+
449+#define DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(v) \
450+ fourcc_mod_broadcom_code(2, v)
451+#define DRM_FORMAT_MOD_BROADCOM_SAND64_COL_HEIGHT(v) \
452+ fourcc_mod_broadcom_code(3, v)
453+#define DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT(v) \
454+ fourcc_mod_broadcom_code(4, v)
455+#define DRM_FORMAT_MOD_BROADCOM_SAND256_COL_HEIGHT(v) \
456+ fourcc_mod_broadcom_code(5, v)
457+
458+#define DRM_FORMAT_MOD_BROADCOM_SAND32 \
459+ DRM_FORMAT_MOD_BROADCOM_SAND32_COL_HEIGHT(0)
460+#define DRM_FORMAT_MOD_BROADCOM_SAND64 \
461+ DRM_FORMAT_MOD_BROADCOM_SAND64_COL_HEIGHT(0)
462+#define DRM_FORMAT_MOD_BROADCOM_SAND128 \
463+ DRM_FORMAT_MOD_BROADCOM_SAND128_COL_HEIGHT(0)
464+#define DRM_FORMAT_MOD_BROADCOM_SAND256 \
465+ DRM_FORMAT_MOD_BROADCOM_SAND256_COL_HEIGHT(0)
466+
408467 #if defined(__cplusplus)
409468 }
410469 #endif
include/uapi/drm/drm_mode.h+8−0
@@ -96,6 +96,13 @@ extern "C" { · 95 unmodified lines
9696 #define DRM_MODE_PICTURE_ASPECT_64_27 3
9797 #define DRM_MODE_PICTURE_ASPECT_256_135 4
9898
99+/* Content type options */
100+#define DRM_MODE_CONTENT_TYPE_NO_DATA 0
101+#define DRM_MODE_CONTENT_TYPE_GRAPHICS 1
102+#define DRM_MODE_CONTENT_TYPE_PHOTO 2
103+#define DRM_MODE_CONTENT_TYPE_CINEMA 3
104+#define DRM_MODE_CONTENT_TYPE_GAME 4
105+
99106 /* Aspect ratio flag bitmask (4 bits 22:19) */
100107 #define DRM_MODE_FLAG_PIC_AR_MASK (0x0F<<19)
101108 #define DRM_MODE_FLAG_PIC_AR_NONE \
@@ -344,6 +351,7 @@ enum drm_mode_subconnector { · 242 unmodified lines
344351 #define DRM_MODE_CONNECTOR_VIRTUAL 15
345352 #define DRM_MODE_CONNECTOR_DSI 16
346353 #define DRM_MODE_CONNECTOR_DPI 17
354+#define DRM_MODE_CONNECTOR_WRITEBACK 18
347355
348356 struct drm_mode_get_connector {
349357

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t