History

tools headers UAPI: Update tools's copy of drm.h headers

Picking the changes from: b603e810f740e76b ("drm/uapi: document kernel capabilities") Doesn't result in any tooling changes: $ tools/perf/trace/beauty/drm_ioctl.sh > before $ cp include/uapi/drm/drm.h tools/include/uapi/drm/drm.h $ tools/perf/trace/beauty/drm_ioctl.sh > after $ diff -u before after Silencing these perf build warnings: Warning: Kernel ABI header at 'tools/include/uapi/drm/drm.h' differs from latest version at 'include/uapi/drm/drm.h' diff -u tools/include/uapi/drm/drm.h include/uapi/drm/drm.h

Arnaldo Carvalho de Melo committed 5 years ago

Commit a3bc4ff1 parent 6efb9431 file · +121 −4Browse files

Unified · Split

tools/include/uapi/drm/drm.h+121−4
@@ -625,30 +625,147 @@ struct drm_gem_open { · 624 unmodified lines
625 __u64 size;625 __u64 size;
626};626};
627 627
628/**
629 * DRM_CAP_DUMB_BUFFER
630 *
631 * If set to 1, the driver supports creating dumb buffers via the
632 * &DRM_IOCTL_MODE_CREATE_DUMB ioctl.
633 */
628#define DRM_CAP_DUMB_BUFFER 0x1634#define DRM_CAP_DUMB_BUFFER 0x1
635/**
636 * DRM_CAP_VBLANK_HIGH_CRTC
637 *
638 * If set to 1, the kernel supports specifying a CRTC index in the high bits of
639 * &drm_wait_vblank_request.type.
640 *
641 * Starting kernel version 2.6.39, this capability is always set to 1.
642 */
629#define DRM_CAP_VBLANK_HIGH_CRTC 0x2643#define DRM_CAP_VBLANK_HIGH_CRTC 0x2
644/**
645 * DRM_CAP_DUMB_PREFERRED_DEPTH
646 *
647 * The preferred bit depth for dumb buffers.
648 *
649 * The bit depth is the number of bits used to indicate the color of a single
650 * pixel excluding any padding. This is different from the number of bits per
651 * pixel. For instance, XRGB8888 has a bit depth of 24 but has 32 bits per
652 * pixel.
653 *
654 * Note that this preference only applies to dumb buffers, it's irrelevant for
655 * other types of buffers.
656 */
630#define DRM_CAP_DUMB_PREFERRED_DEPTH 0x3657#define DRM_CAP_DUMB_PREFERRED_DEPTH 0x3
658/**
659 * DRM_CAP_DUMB_PREFER_SHADOW
660 *
661 * If set to 1, the driver prefers userspace to render to a shadow buffer
662 * instead of directly rendering to a dumb buffer. For best speed, userspace
663 * should do streaming ordered memory copies into the dumb buffer and never
664 * read from it.
665 *
666 * Note that this preference only applies to dumb buffers, it's irrelevant for
667 * other types of buffers.
668 */
631#define DRM_CAP_DUMB_PREFER_SHADOW 0x4669#define DRM_CAP_DUMB_PREFER_SHADOW 0x4
670/**
671 * DRM_CAP_PRIME
672 *
673 * Bitfield of supported PRIME sharing capabilities. See &DRM_PRIME_CAP_IMPORT
674 * and &DRM_PRIME_CAP_EXPORT.
675 *
676 * PRIME buffers are exposed as dma-buf file descriptors. See
677 * Documentation/gpu/drm-mm.rst, section "PRIME Buffer Sharing".
678 */
632#define DRM_CAP_PRIME 0x5679#define DRM_CAP_PRIME 0x5
680/**
681 * DRM_PRIME_CAP_IMPORT
682 *
683 * If this bit is set in &DRM_CAP_PRIME, the driver supports importing PRIME
684 * buffers via the &DRM_IOCTL_PRIME_FD_TO_HANDLE ioctl.
685 */
633#define DRM_PRIME_CAP_IMPORT 0x1686#define DRM_PRIME_CAP_IMPORT 0x1
687/**
688 * DRM_PRIME_CAP_EXPORT
689 *
690 * If this bit is set in &DRM_CAP_PRIME, the driver supports exporting PRIME
691 * buffers via the &DRM_IOCTL_PRIME_HANDLE_TO_FD ioctl.
692 */
634#define DRM_PRIME_CAP_EXPORT 0x2693#define DRM_PRIME_CAP_EXPORT 0x2
694/**
695 * DRM_CAP_TIMESTAMP_MONOTONIC
696 *
697 * If set to 0, the kernel will report timestamps with ``CLOCK_REALTIME`` in
698 * struct drm_event_vblank. If set to 1, the kernel will report timestamps with
699 * ``CLOCK_MONOTONIC``. See ``clock_gettime(2)`` for the definition of these
700 * clocks.
701 *
702 * Starting from kernel version 2.6.39, the default value for this capability
703 * is 1. Starting kernel version 4.15, this capability is always set to 1.
704 */
635#define DRM_CAP_TIMESTAMP_MONOTONIC 0x6705#define DRM_CAP_TIMESTAMP_MONOTONIC 0x6
706/**
707 * DRM_CAP_ASYNC_PAGE_FLIP
708 *
709 * If set to 1, the driver supports &DRM_MODE_PAGE_FLIP_ASYNC.
710 */
636#define DRM_CAP_ASYNC_PAGE_FLIP 0x7711#define DRM_CAP_ASYNC_PAGE_FLIP 0x7
637/*712/**
638 * The CURSOR_WIDTH and CURSOR_HEIGHT capabilities return a valid widthxheight713 * DRM_CAP_CURSOR_WIDTH
639 * combination for the hardware cursor. The intention is that a hardware714 *
640 * agnostic userspace can query a cursor plane size to use.715 * The ``CURSOR_WIDTH`` and ``CURSOR_HEIGHT`` capabilities return a valid
716 * width x height combination for the hardware cursor. The intention is that a
717 * hardware agnostic userspace can query a cursor plane size to use.
641 *718 *
642 * Note that the cross-driver contract is to merely return a valid size;719 * Note that the cross-driver contract is to merely return a valid size;
643 * drivers are free to attach another meaning on top, eg. i915 returns the720 * drivers are free to attach another meaning on top, eg. i915 returns the
644 * maximum plane size.721 * maximum plane size.
645 */722 */
646#define DRM_CAP_CURSOR_WIDTH 0x8723#define DRM_CAP_CURSOR_WIDTH 0x8
724/**
725 * DRM_CAP_CURSOR_HEIGHT
726 *
727 * See &DRM_CAP_CURSOR_WIDTH.
728 */
647#define DRM_CAP_CURSOR_HEIGHT 0x9729#define DRM_CAP_CURSOR_HEIGHT 0x9
730/**
731 * DRM_CAP_ADDFB2_MODIFIERS
732 *
733 * If set to 1, the driver supports supplying modifiers in the
734 * &DRM_IOCTL_MODE_ADDFB2 ioctl.
735 */
648#define DRM_CAP_ADDFB2_MODIFIERS 0x10736#define DRM_CAP_ADDFB2_MODIFIERS 0x10
737/**
738 * DRM_CAP_PAGE_FLIP_TARGET
739 *
740 * If set to 1, the driver supports the &DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE and
741 * &DRM_MODE_PAGE_FLIP_TARGET_RELATIVE flags in
742 * &drm_mode_crtc_page_flip_target.flags for the &DRM_IOCTL_MODE_PAGE_FLIP
743 * ioctl.
744 */
649#define DRM_CAP_PAGE_FLIP_TARGET 0x11745#define DRM_CAP_PAGE_FLIP_TARGET 0x11
746/**
747 * DRM_CAP_CRTC_IN_VBLANK_EVENT
748 *
749 * If set to 1, the kernel supports reporting the CRTC ID in
750 * &drm_event_vblank.crtc_id for the &DRM_EVENT_VBLANK and
751 * &DRM_EVENT_FLIP_COMPLETE events.
752 *
753 * Starting kernel version 4.12, this capability is always set to 1.
754 */
650#define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12755#define DRM_CAP_CRTC_IN_VBLANK_EVENT 0x12
756/**
757 * DRM_CAP_SYNCOBJ
758 *
759 * If set to 1, the driver supports sync objects. See
760 * Documentation/gpu/drm-mm.rst, section "DRM Sync Objects".
761 */
651#define DRM_CAP_SYNCOBJ 0x13762#define DRM_CAP_SYNCOBJ 0x13
763/**
764 * DRM_CAP_SYNCOBJ_TIMELINE
765 *
766 * If set to 1, the driver supports timeline operations on sync objects. See
767 * Documentation/gpu/drm-mm.rst, section "DRM Sync Objects".
768 */
652#define DRM_CAP_SYNCOBJ_TIMELINE 0x14769#define DRM_CAP_SYNCOBJ_TIMELINE 0x14
653 770
654/* DRM_IOCTL_GET_CAP ioctl argument type */771/* DRM_IOCTL_GET_CAP ioctl argument type */