History

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

drm-misc-next for v5.3: UAPI Changes: Cross-subsystem Changes: - Add devicetree bindings for new panels. - Convert allwinner's DT bindings to a schema. - Drop video/hdmi static functions from kernel docs. - Discard old fence when reserving space in reservation_object_get_fences_rcu. Core Changes: - Add missing -ENOMEM handling in edid loading. - Fix null pointer deref in scheduler. - Header cleanups, making them self-contained. - Remove drmP.h inclusion from core. - Fix make htmldocs warning in scheduler and HDR metadata. - Fix a few warnings in the uapi header and add a doc section for it. - Small MST sideband error handling fix. - Clarify userspace review requirements. - Clarify implicit/explicit fencing in docs. - Flush output polling on shutdown. Driver Changes: - Small cleanups to stm. - Add new driver for ST-Ericsson MCDE - Kconfig fix for meson HDMI. - Add support for Armadeus ST0700 Adapt panel. - Add KOE tx14d24vm1bpa panel. - Update timings for st7701. - Fix compile error in mcde. - Big series of tc358767 fixes, and enabling support for IRQ and HPD handling. - Assorted fixes to sii902x, and implementing HDMI audio support. - Enable HDR metadata support on amdgpu. - Assorted fixes to atmel-hlcdc, and add sam9x60 LCD controller support. Signed-off-by: Dave Airlie <airlied@redhat.com>

Dave Airlie committed 7 years ago

Commit 141de1d2 parents 91c1ead f5b07b0152 files · +6312 −868Browse files

Showing the changes to include/uapi (1 of 152 files). Show all

Unified · Split

include/uapi/drm/drm_mode.h+95−1
@@ -33,6 +33,15 @@ · 32 unmodified lines
33extern "C" {33extern "C" {
34#endif34#endif
35 35
36/**
37 * DOC: overview
38 *
39 * DRM exposes many UAPI and structure definition to have a consistent
40 * and standardized interface with user.
41 * Userspace can refer to these structure definitions and UAPI formats
42 * to communicate to driver
43 */
44
36#define DRM_CONNECTOR_NAME_LEN 3245#define DRM_CONNECTOR_NAME_LEN 32
37#define DRM_DISPLAY_MODE_LEN 3246#define DRM_DISPLAY_MODE_LEN 32
38#define DRM_PROP_NAME_LEN 3247#define DRM_PROP_NAME_LEN 32
@@ -630,24 +639,87 @@ struct drm_color_lut { · 591 unmodified lines
630 __u16 reserved;639 __u16 reserved;
631};640};
632 641
633/* HDR Metadata Infoframe as per 861.G spec */642/**
643 * struct hdr_metadata_infoframe - HDR Metadata Infoframe Data.
644 *
645 * HDR Metadata Infoframe as per CTA 861.G spec. This is expected
646 * to match exactly with the spec.
647 *
648 * Userspace is expected to pass the metadata information as per
649 * the format described in this structure.
650 */
634struct hdr_metadata_infoframe {651struct hdr_metadata_infoframe {
652 /**
653 * @eotf: Electro-Optical Transfer Function (EOTF)
654 * used in the stream.
655 */
635 __u8 eotf;656 __u8 eotf;
657 /**
658 * @metadata_type: Static_Metadata_Descriptor_ID.
659 */
636 __u8 metadata_type;660 __u8 metadata_type;
661 /**
662 * @display_primaries: Color Primaries of the Data.
663 * These are coded as unsigned 16-bit values in units of
664 * 0.00002, where 0x0000 represents zero and 0xC350
665 * represents 1.0000.
666 * @display_primaries.x: X cordinate of color primary.
667 * @display_primaries.y: Y cordinate of color primary.
668 */
637 struct {669 struct {
638 __u16 x, y;670 __u16 x, y;
639 } display_primaries[3];671 } display_primaries[3];
672 /**
673 * @white_point: White Point of Colorspace Data.
674 * These are coded as unsigned 16-bit values in units of
675 * 0.00002, where 0x0000 represents zero and 0xC350
676 * represents 1.0000.
677 * @white_point.x: X cordinate of whitepoint of color primary.
678 * @white_point.y: Y cordinate of whitepoint of color primary.
679 */
640 struct {680 struct {
641 __u16 x, y;681 __u16 x, y;
642 } white_point;682 } white_point;
683 /**
684 * @max_display_mastering_luminance: Max Mastering Display Luminance.
685 * This value is coded as an unsigned 16-bit value in units of 1 cd/m2,
686 * where 0x0001 represents 1 cd/m2 and 0xFFFF represents 65535 cd/m2.
687 */
643 __u16 max_display_mastering_luminance;688 __u16 max_display_mastering_luminance;
689 /**
690 * @min_display_mastering_luminance: Min Mastering Display Luminance.
691 * This value is coded as an unsigned 16-bit value in units of
692 * 0.0001 cd/m2, where 0x0001 represents 0.0001 cd/m2 and 0xFFFF
693 * represents 6.5535 cd/m2.
694 */
644 __u16 min_display_mastering_luminance;695 __u16 min_display_mastering_luminance;
696 /**
697 * @max_cll: Max Content Light Level.
698 * This value is coded as an unsigned 16-bit value in units of 1 cd/m2,
699 * where 0x0001 represents 1 cd/m2 and 0xFFFF represents 65535 cd/m2.
700 */
645 __u16 max_cll;701 __u16 max_cll;
702 /**
703 * @max_fall: Max Frame Average Light Level.
704 * This value is coded as an unsigned 16-bit value in units of 1 cd/m2,
705 * where 0x0001 represents 1 cd/m2 and 0xFFFF represents 65535 cd/m2.
706 */
646 __u16 max_fall;707 __u16 max_fall;
647};708};
648 709
710/**
711 * struct hdr_output_metadata - HDR output metadata
712 *
713 * Metadata Information to be passed from userspace
714 */
649struct hdr_output_metadata {715struct hdr_output_metadata {
716 /**
717 * @metadata_type: Static_Metadata_Descriptor_ID.
718 */
650 __u32 metadata_type;719 __u32 metadata_type;
720 /**
721 * @hdmi_metadata_type1: HDR Metadata Infoframe.
722 */
651 union {723 union {
652 struct hdr_metadata_infoframe hdmi_metadata_type1;724 struct hdr_metadata_infoframe hdmi_metadata_type1;
653 };725 };
@@ -826,6 +898,10 @@ struct drm_format_modifier { · 172 unmodified lines
826};898};
827 899
828/**900/**
901 * struct drm_mode_create_blob - Create New block property
902 * @data: Pointer to data to copy.
903 * @length: Length of data to copy.
904 * @blob_id: new property ID.
829 * Create a new 'blob' data property, copying length bytes from data pointer,905 * Create a new 'blob' data property, copying length bytes from data pointer,
830 * and returning new blob ID.906 * and returning new blob ID.
831 */907 */
@@ -839,6 +915,8 @@ struct drm_mode_create_blob { · 7 unmodified lines
839};915};
840 916
841/**917/**
918 * struct drm_mode_destroy_blob - Destroy user blob
919 * @blob_id: blob_id to destroy
842 * Destroy a user-created blob property.920 * Destroy a user-created blob property.
843 */921 */
844struct drm_mode_destroy_blob {922struct drm_mode_destroy_blob {
@@ -846,6 +924,12 @@ struct drm_mode_destroy_blob { · 1 unmodified line
846};924};
847 925
848/**926/**
927 * struct drm_mode_create_lease - Create lease
928 * @object_ids: Pointer to array of object ids.
929 * @object_count: Number of object ids.
930 * @flags: flags for new FD.
931 * @lessee_id: unique identifier for lessee.
932 * @fd: file descriptor to new drm_master file.
849 * Lease mode resources, creating another drm_master.933 * Lease mode resources, creating another drm_master.
850 */934 */
851struct drm_mode_create_lease {935struct drm_mode_create_lease {
@@ -863,6 +947,10 @@ struct drm_mode_create_lease { · 11 unmodified lines
863};947};
864 948
865/**949/**
950 * struct drm_mode_list_lessees - List lessees
951 * @count_lessees: Number of lessees.
952 * @pad: pad.
953 * @lessees_ptr: Pointer to lessess.
866 * List lesses from a drm_master954 * List lesses from a drm_master
867 */955 */
868struct drm_mode_list_lessees {956struct drm_mode_list_lessees {
@@ -883,6 +971,10 @@ struct drm_mode_list_lessees { · 14 unmodified lines
883};971};
884 972
885/**973/**
974 * struct drm_mode_get_lease - Get Lease
975 * @count_objects: Number of leased objects.
976 * @pad: pad.
977 * @objects_ptr: Pointer to objects.
886 * Get leased objects978 * Get leased objects
887 */979 */
888struct drm_mode_get_lease {980struct drm_mode_get_lease {
@@ -903,6 +995,8 @@ struct drm_mode_get_lease { · 14 unmodified lines
903};995};
904 996
905/**997/**
998 * struct drm_mode_revoke_lease - Revoke lease
999 * @lessee_id: Unique ID of lessee.
906 * Revoke lease1000 * Revoke lease
907 */1001 */
908struct drm_mode_revoke_lease {1002struct drm_mode_revoke_lease {