History

Merge tag 'drm-misc-next-2019-05-24' of git://anongit.freedesktop.org/drm/drm-misc into drm-next

drm-misc-next for v5.3, try #2: UAPI Changes: - Add HDR source metadata property. - Make drm.h compile on GNU/kFreeBSD by including stdint.h - Clarify how the userspace reviewer has to review new kernel UAPI. - Clarify that for using new UAPI, merging to drm-next or drm-misc-next should be enough. Cross-subsystem Changes: - video/hdmi: Add unpack function for DRM infoframes. - Device tree bindings: * Updating a property for Mali Midgard GPUs * Updating a property for STM32 DSI panel * Adding support for FriendlyELEC HD702E 800x1280 panel * Adding support for Evervision VGG804821 800x480 5.0" WVGA TFT panel * Adding support for the EDT ET035012DM6 3.5" 320x240 QVGA 24-bit RGB TFT. * Adding support for Three Five displays TFC S9700RTWV43TR-01B 800x480 panel with resistive touch found on TI's AM335X-EVM. * Adding support for EDT ETM0430G0DH6 480x272 panel. - Add OSD101T2587-53TS driver with DT bindings. - Add Samsung S6E63M0 panel driver with DT bindings. - Add VXT VL050-8048NT-C01 800x480 panel with DT bindings. - Dma-buf: - Make mmap callback actually optional. - Documentation updates. - Fix debugfs refcount inbalance. - Remove unused sync_dump function. - Fix device tree bindings in drm-misc-next after a botched merge. Core Changes: - Add support for HDR infoframes and related EDID parsing. - Remove prime sg_table caching, now done inside dma-buf. - Add shiny new drm_gem_vram helpers for simple VRAM drivers; with some fixes to the new API on top. - Small fix to job cleanup without timeout handler. - Documentation fixes to drm_fourcc. - Replace lookups of drm_format with struct drm_format_info; remove functions that become obsolete by this conversion. - Remove double include in bridge/panel.c and some drivers. - Remove drmP.h include from drm/edid and drm/dp. - Fix null pointer deref in drm_fb_helper_hotplug_event(). - Remove most members from drm_fb_helper_crtc, only mode_set is kept. - Remove race of fb helpers with userspace; only restore mode when userspace is not master. - Move legacy setup from drm_file.c to drm_legacy_misc.c - Rework scheduler job destruction. - drm/bus was removed, remove from TODO. - Add __drm_atomic_helper_crtc_reset() to subclass crtc_state, and convert some drivers to use it (conversion is not complete yet). - Bump vblank timeout wait to 100 ms for atomic. - Docbook fix for drm_hdmi_infoframe_set_hdr_metadata. Driver Changes: - sun4i: Use DRM_GEM_CMA_VMAP_DRIVER_OPS instead of definining manually. - v3d: Small cleanups, adding support for compute shaders, reservation/synchronization fixes and job management refactoring, fixes MMU and debugfs. - lima: Fix null pointer in irq handler on startup, set default timeout for scheduled jobs. - stm/ltdc: Assorted fixes and adding FB modifier support. - amdgpu: Avoid hw reset if guilty job was already signaled. - virtio: Add seqno to fences, add trace events, use correct flags for fence allocation. - Convert AST, bochs, mgag200, vboxvideo, hisilicon to the new drm_gem_vram API. - sun6i_mipi_dsi: Support DSI GENERIC_SHORT_WRITE_2 transfers. - bochs: Small fix to use PTR_RET_OR_ZERO and driver unload. - gma500: header fixes - cirrus: Remove unused files. - mediatek: Fix compiler warning after merging the HDR series. - vc4: Rework binner bo handling. Signed-off-by: Dave Airlie <airlied@redhat.com>

Dave Airlie committed 7 years ago

Commit 88cd7a22 parents cd6c84d 909fa33220 files · +5943 −4593Browse files

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

Unified · Split

3 files
  1. include/uapi/drm/drm.h +1 −0
  2. include/uapi/drm/drm_mode.h +23 −0
  3. include/uapi/drm/v3d_drm.h +28 −0
include/uapi/drm/drm.h+1−0
@@ -50,6 +50,7 @@ typedef unsigned int drm_handle_t; · 49 unmodified lines
50 50
51#else /* One of the BSDs */51#else /* One of the BSDs */
52 52
53#include <stdint.h>
53#include <sys/ioccom.h>54#include <sys/ioccom.h>
54#include <sys/types.h>55#include <sys/types.h>
55typedef int8_t __s8;56typedef int8_t __s8;
include/uapi/drm/drm_mode.h+23−0
@@ -630,6 +630,29 @@ struct drm_color_lut { · 629 unmodified lines
630 __u16 reserved;630 __u16 reserved;
631};631};
632 632
633/* HDR Metadata Infoframe as per 861.G spec */
634struct hdr_metadata_infoframe {
635 __u8 eotf;
636 __u8 metadata_type;
637 struct {
638 __u16 x, y;
639 } display_primaries[3];
640 struct {
641 __u16 x, y;
642 } white_point;
643 __u16 max_display_mastering_luminance;
644 __u16 min_display_mastering_luminance;
645 __u16 max_cll;
646 __u16 max_fall;
647};
648
649struct hdr_output_metadata {
650 __u32 metadata_type;
651 union {
652 struct hdr_metadata_infoframe hdmi_metadata_type1;
653 };
654};
655
633#define DRM_MODE_PAGE_FLIP_EVENT 0x01656#define DRM_MODE_PAGE_FLIP_EVENT 0x01
634#define DRM_MODE_PAGE_FLIP_ASYNC 0x02657#define DRM_MODE_PAGE_FLIP_ASYNC 0x02
635#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4658#define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4
include/uapi/drm/v3d_drm.h+28−0
@@ -37,6 +37,7 @@ extern "C" { · 36 unmodified lines
37#define DRM_V3D_GET_PARAM 0x0437#define DRM_V3D_GET_PARAM 0x04
38#define DRM_V3D_GET_BO_OFFSET 0x0538#define DRM_V3D_GET_BO_OFFSET 0x05
39#define DRM_V3D_SUBMIT_TFU 0x0639#define DRM_V3D_SUBMIT_TFU 0x06
40#define DRM_V3D_SUBMIT_CSD 0x07
40 41
41#define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl)42#define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl)
42#define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo)43#define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo)
@@ -45,6 +46,7 @@ extern "C" { · 2 unmodified lines
45#define DRM_IOCTL_V3D_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param)46#define DRM_IOCTL_V3D_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param)
46#define DRM_IOCTL_V3D_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_BO_OFFSET, struct drm_v3d_get_bo_offset)47#define DRM_IOCTL_V3D_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_BO_OFFSET, struct drm_v3d_get_bo_offset)
47#define DRM_IOCTL_V3D_SUBMIT_TFU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_TFU, struct drm_v3d_submit_tfu)48#define DRM_IOCTL_V3D_SUBMIT_TFU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_TFU, struct drm_v3d_submit_tfu)
49#define DRM_IOCTL_V3D_SUBMIT_CSD DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CSD, struct drm_v3d_submit_csd)
48 50
49/**51/**
50 * struct drm_v3d_submit_cl - ioctl argument for submitting commands to the 3D52 * struct drm_v3d_submit_cl - ioctl argument for submitting commands to the 3D
@@ -190,6 +192,7 @@ enum drm_v3d_param { · 139 unmodified lines
190 DRM_V3D_PARAM_V3D_CORE0_IDENT1,192 DRM_V3D_PARAM_V3D_CORE0_IDENT1,
191 DRM_V3D_PARAM_V3D_CORE0_IDENT2,193 DRM_V3D_PARAM_V3D_CORE0_IDENT2,
192 DRM_V3D_PARAM_SUPPORTS_TFU,194 DRM_V3D_PARAM_SUPPORTS_TFU,
195 DRM_V3D_PARAM_SUPPORTS_CSD,
193};196};
194 197
195struct drm_v3d_get_param {198struct drm_v3d_get_param {
@@ -230,6 +233,31 @@ struct drm_v3d_submit_tfu { · 34 unmodified lines
230 __u32 out_sync;233 __u32 out_sync;
231};234};
232 235
236/* Submits a compute shader for dispatch. This job will block on any
237 * previous compute shaders submitted on this fd, and any other
238 * synchronization must be performed with in_sync/out_sync.
239 */
240struct drm_v3d_submit_csd {
241 __u32 cfg[7];
242 __u32 coef[4];
243
244 /* Pointer to a u32 array of the BOs that are referenced by the job.
245 */
246 __u64 bo_handles;
247
248 /* Number of BO handles passed in (size is that times 4). */
249 __u32 bo_handle_count;
250
251 /* sync object to block on before running the CSD job. Each
252 * CSD job will execute in the order submitted to its FD.
253 * Synchronization against rendering/TFU jobs or CSD from
254 * other fds requires using sync objects.
255 */
256 __u32 in_sync;
257 /* Sync object to signal when the CSD job is done. */
258 __u32 out_sync;
259};
260
233#if defined(__cplusplus)261#if defined(__cplusplus)
234}262}
235#endif263#endif