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>
Showing the changes to include/uapi (1 of 152 files). Show all
Unified · Split
| @@ -33,6 +33,15 @@ · 32 unmodified lines | ||
| 33 | 33 | extern "C" { |
| 34 | 34 | #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 | 45 | #define DRM_CONNECTOR_NAME_LEN 32 |
| 37 | 46 | #define DRM_DISPLAY_MODE_LEN 32 |
| 38 | 47 | #define DRM_PROP_NAME_LEN 32 |
| @@ -630,24 +639,87 @@ struct drm_color_lut { · 591 unmodified lines | ||
| 630 | 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 | + */ | |
| 634 | 651 | struct hdr_metadata_infoframe { |
| 652 | + /** | |
| 653 | + * @eotf: Electro-Optical Transfer Function (EOTF) | |
| 654 | + * used in the stream. | |
| 655 | + */ | |
| 635 | 656 | __u8 eotf; |
| 657 | + /** | |
| 658 | + * @metadata_type: Static_Metadata_Descriptor_ID. | |
| 659 | + */ | |
| 636 | 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 | 669 | struct { |
| 638 | 670 | __u16 x, y; |
| 639 | 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 | 680 | struct { |
| 641 | 681 | __u16 x, y; |
| 642 | 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 | 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 | 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 | 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 | 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 | + */ | |
| 649 | 715 | struct hdr_output_metadata { |
| 716 | + /** | |
| 717 | + * @metadata_type: Static_Metadata_Descriptor_ID. | |
| 718 | + */ | |
| 650 | 719 | __u32 metadata_type; |
| 720 | + /** | |
| 721 | + * @hdmi_metadata_type1: HDR Metadata Infoframe. | |
| 722 | + */ | |
| 651 | 723 | union { |
| 652 | 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 | 905 | * Create a new 'blob' data property, copying length bytes from data pointer, |
| 830 | 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 | 920 | * Destroy a user-created blob property. |
| 843 | 921 | */ |
| 844 | 922 | struct 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 | 933 | * Lease mode resources, creating another drm_master. |
| 850 | 934 | */ |
| 851 | 935 | struct 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 | 954 | * List lesses from a drm_master |
| 867 | 955 | */ |
| 868 | 956 | struct 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 | 978 | * Get leased objects |
| 887 | 979 | */ |
| 888 | 980 | struct 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 | 1000 | * Revoke lease |
| 907 | 1001 | */ |
| 908 | 1002 | struct drm_mode_revoke_lease { |