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
3333 extern "C" {
3434 #endif
3535
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+
3645 #define DRM_CONNECTOR_NAME_LEN 32
3746 #define DRM_DISPLAY_MODE_LEN 32
3847 #define DRM_PROP_NAME_LEN 32
@@ -630,24 +639,87 @@ struct drm_color_lut { · 591 unmodified lines
630639 __u16 reserved;
631640 };
632641
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+ */
634651 struct hdr_metadata_infoframe {
652+ /**
653+ * @eotf: Electro-Optical Transfer Function (EOTF)
654+ * used in the stream.
655+ */
635656 __u8 eotf;
657+ /**
658+ * @metadata_type: Static_Metadata_Descriptor_ID.
659+ */
636660 __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+ */
637669 struct {
638670 __u16 x, y;
639671 } 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+ */
640680 struct {
641681 __u16 x, y;
642682 } 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+ */
643688 __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+ */
644695 __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+ */
645701 __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+ */
646707 __u16 max_fall;
647708 };
648709
710+/**
711+ * struct hdr_output_metadata - HDR output metadata
712+ *
713+ * Metadata Information to be passed from userspace
714+ */
649715 struct hdr_output_metadata {
716+ /**
717+ * @metadata_type: Static_Metadata_Descriptor_ID.
718+ */
650719 __u32 metadata_type;
720+ /**
721+ * @hdmi_metadata_type1: HDR Metadata Infoframe.
722+ */
651723 union {
652724 struct hdr_metadata_infoframe hdmi_metadata_type1;
653725 };
@@ -826,6 +898,10 @@ struct drm_format_modifier { · 172 unmodified lines
826898 };
827899
828900 /**
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.
829905 * Create a new 'blob' data property, copying length bytes from data pointer,
830906 * and returning new blob ID.
831907 */
@@ -839,6 +915,8 @@ struct drm_mode_create_blob { · 7 unmodified lines
839915 };
840916
841917 /**
918+ * struct drm_mode_destroy_blob - Destroy user blob
919+ * @blob_id: blob_id to destroy
842920 * Destroy a user-created blob property.
843921 */
844922 struct drm_mode_destroy_blob {
@@ -846,6 +924,12 @@ struct drm_mode_destroy_blob { · 1 unmodified line
846924 };
847925
848926 /**
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.
849933 * Lease mode resources, creating another drm_master.
850934 */
851935 struct drm_mode_create_lease {
@@ -863,6 +947,10 @@ struct drm_mode_create_lease { · 11 unmodified lines
863947 };
864948
865949 /**
950+ * struct drm_mode_list_lessees - List lessees
951+ * @count_lessees: Number of lessees.
952+ * @pad: pad.
953+ * @lessees_ptr: Pointer to lessess.
866954 * List lesses from a drm_master
867955 */
868956 struct drm_mode_list_lessees {
@@ -883,6 +971,10 @@ struct drm_mode_list_lessees { · 14 unmodified lines
883971 };
884972
885973 /**
974+ * struct drm_mode_get_lease - Get Lease
975+ * @count_objects: Number of leased objects.
976+ * @pad: pad.
977+ * @objects_ptr: Pointer to objects.
886978 * Get leased objects
887979 */
888980 struct drm_mode_get_lease {
@@ -903,6 +995,8 @@ struct drm_mode_get_lease { · 14 unmodified lines
903995 };
904996
905997 /**
998+ * struct drm_mode_revoke_lease - Revoke lease
999+ * @lessee_id: Unique ID of lessee.
9061000 * Revoke lease
9071001 */
9081002 struct drm_mode_revoke_lease {