History

Merge tag 'gvt-next-2017-12-05' of https://github.com/intel/gvt-linux into drm-intel-next-queued

gvt-next-2017-12-05 - VFIO mdev display dmabuf interface and gvt support (Tina) - VFIO mdev opregion support/fixes (Tina/Xiong/Chris) - workload scheduling optimization (Changbin) - preemption fix and temporal workaround (Zhenyu) - and misc fixes after refactor (Chris)

Rodrigo Vivi committed 8 years ago

Commit 0d7e76b2 parents 2abf3c0 160366022 files · +1709 −72Browse files

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

Unified · Split

include/uapi/linux/vfio.h+62−0
@@ -502,6 +502,68 @@ struct vfio_pci_hot_reset { · 501 unmodified lines
502502
503503 #define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13)
504504
505+/**
506+ * VFIO_DEVICE_QUERY_GFX_PLANE - _IOW(VFIO_TYPE, VFIO_BASE + 14,
507+ * struct vfio_device_query_gfx_plane)
508+ *
509+ * Set the drm_plane_type and flags, then retrieve the gfx plane info.
510+ *
511+ * flags supported:
512+ * - VFIO_GFX_PLANE_TYPE_PROBE and VFIO_GFX_PLANE_TYPE_DMABUF are set
513+ * to ask if the mdev supports dma-buf. 0 on support, -EINVAL on no
514+ * support for dma-buf.
515+ * - VFIO_GFX_PLANE_TYPE_PROBE and VFIO_GFX_PLANE_TYPE_REGION are set
516+ * to ask if the mdev supports region. 0 on support, -EINVAL on no
517+ * support for region.
518+ * - VFIO_GFX_PLANE_TYPE_DMABUF or VFIO_GFX_PLANE_TYPE_REGION is set
519+ * with each call to query the plane info.
520+ * - Others are invalid and return -EINVAL.
521+ *
522+ * Note:
523+ * 1. Plane could be disabled by guest. In that case, success will be
524+ * returned with zero-initialized drm_format, size, width and height
525+ * fields.
526+ * 2. x_hot/y_hot is set to 0xFFFFFFFF if no hotspot information available
527+ *
528+ * Return: 0 on success, -errno on other failure.
529+ */
530+struct vfio_device_gfx_plane_info {
531+ __u32 argsz;
532+ __u32 flags;
533+#define VFIO_GFX_PLANE_TYPE_PROBE (1 << 0)
534+#define VFIO_GFX_PLANE_TYPE_DMABUF (1 << 1)
535+#define VFIO_GFX_PLANE_TYPE_REGION (1 << 2)
536+ /* in */
537+ __u32 drm_plane_type; /* type of plane: DRM_PLANE_TYPE_* */
538+ /* out */
539+ __u32 drm_format; /* drm format of plane */
540+ __u64 drm_format_mod; /* tiled mode */
541+ __u32 width; /* width of plane */
542+ __u32 height; /* height of plane */
543+ __u32 stride; /* stride of plane */
544+ __u32 size; /* size of plane in bytes, align on page*/
545+ __u32 x_pos; /* horizontal position of cursor plane */
546+ __u32 y_pos; /* vertical position of cursor plane*/
547+ __u32 x_hot; /* horizontal position of cursor hotspot */
548+ __u32 y_hot; /* vertical position of cursor hotspot */
549+ union {
550+ __u32 region_index; /* region index */
551+ __u32 dmabuf_id; /* dma-buf id */
552+ };
553+};
554+
555+#define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14)
556+
557+/**
558+ * VFIO_DEVICE_GET_GFX_DMABUF - _IOW(VFIO_TYPE, VFIO_BASE + 15, __u32)
559+ *
560+ * Return a new dma-buf file descriptor for an exposed guest framebuffer
561+ * described by the provided dmabuf_id. The dmabuf_id is returned from VFIO_
562+ * DEVICE_QUERY_GFX_PLANE as a token of the exposed guest framebuffer.
563+ */
564+
565+#define VFIO_DEVICE_GET_GFX_DMABUF _IO(VFIO_TYPE, VFIO_BASE + 15)
566+
505567 /* -------- API for Type1 VFIO IOMMU -------- */
506568
507569 /**

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t