drm-misc-next for 5.11: UAPI Changes: - doc: rules for EBUSY on non-blocking commits; requirements for fourcc modifiers; on parsing EDID - fbdev/sbuslib: Remove unused FBIOSCURSOR32 - fourcc: deprecate DRM_FORMAT_MOD_NONE - virtio: Support blob resources for memory allocations; Expose host-visible and cross-device features Cross-subsystem Changes: - devicetree: Add vendor Prefix for Yes Optoelectronics, Shanghai Top Display Optoelectronics - dma-buf: Add struct dma_buf_map that stores DMA pointer and I/O-memory flag; dma_buf_vmap()/vunmap() return address in dma_buf_map; Use struct_size() macro Core Changes: - atomic: pass full state to CRTC atomic enable/disable; warn for EBUSY during non-blocking commits - dp: Prepare for DP 2.0 DPCD - dp_mst: Receive extended DPCD caps - dma-buf: Documentation - doc: Format modifiers; dma-buf-map; Cleanups - fbdev: Don't use compat_alloc_user_space(); mark as orphaned - fb-helper: Take lock in drm_fb_helper_restore_work_fb() - gem: Convert implementation and drivers to GEM object functions, remove GEM callbacks from struct drm_driver (expect gem_prime_mmap) - panel: Cleanups - pci: Add legacy infix to drm_irq_by_busid() - sched: Avoid infinite waits in drm_sched_entity_destroy() - switcheroo: Cleanups - ttm: Remove AGP support; Don't modify caching during swapout; Major refactoring of the implementation and API that affects all depending drivers; Add ttm_bo_wait_ctx(); Add ttm_bo_pin()/unpin() in favor of TTM_PL_FLAG_NO_EVICT; Remove ttm_bo_create(); Remove fault_reserve_notify() callback; Push move() implementation into drivers; Remove TTM_PAGE_FLAG_WRITE; Replace caching flags with init-time cache setting; Push ttm_tt_bind() into drivers; Replace move_notify() with delete_mem_notify(); No overlapping memcpy(); no more ttm_set_populated() - vram-helper: Fix BO top-down placement; TTM-related changes; Init GEM object functions with defaults; Default placement in system memory; Cleanups Driver Changes: - amdgpu: Use GEM object functions - armada: Use GEM object functions - aspeed: Configure output via sysfs; Init struct drm_driver with - ast: Reload LUT after FB format changes - bridge: Add driver and DT bindings for anx7625; Cleanups - bridge/dw-hdmi: Constify ops - bridge/ti-sn65dsi86: Add retries for link training - bridge/lvds-codec: Add support for regulator - bridge/tc358768: Restore connector support DRM_GEM_CMA_DRIVEROPS; Cleanups - display/ti,j721e-dss: Add DT properies assigned-clocks, assigned-clocks-parent and dma-coherent - display/ti,am65s-dss: Add DT properies assigned-clocks, assigned-clocks-parent and dma-coherent - etnaviv: Use GEM object functions - exynos: Use GEM object functions - fbdev: Cleanups and compiler fixes throughout framebuffer drivers - fbdev/cirrusfb: Avoid division by 0 - gma500: Use GEM object functions; Fix double-free of connector; Cleanups - hisilicon/hibmc: I2C-based DDC support; Use to_hibmc_drm_device(); Cleanups - i915: Use GEM object functions - imx/dcss: Init driver with DRM_GEM_CMA_DRIVER_OPS; Cleanups - ingenic: Reset pixel clock when parent clock changes; support reserved memory; Alloc F0 and F1 DMA channels at once; Support different pixel formats; Revert support for cached mmap buffers on F0/F1; support 30-bit/24-bit/8-bit-palette modes - komeda: Use DEFINE_SHOW_ATTRIBUTE - mcde: Detect platform_get_irq() errors - mediatek: Use GEM object functions - msm: Use GEM object functions - nouveau: Cleanups; TTM-related changes; Use GEM object functions - omapdrm: Use GEM object functions - panel: Add driver and DT bindings for Novatak nt36672a; Add driver and DT bindings for YTC700TLAG-05-201C; Add driver and DT bindings for TDO TL070WSH30; Cleanups - panel/mantix: Fix reset; Fix deref of NULL pointer in mantix_get_modes() - panel/otm8009a: Allow non-continuous dsi clock; Cleanups - panel/rm68200: Allow non-continuous dsi clock; Fix mode to 50 FPS - panfrost: Fix job timeout handling; Cleanups - pl111: Use GEM object functions - qxl: Cleanups; TTM-related changes; Pin new BOs with ttm_bo_init_reserved() - radeon: Cleanups; TTM-related changes; Use GEM object functions - rockchip: Use GEM object functions - shmobile: Cleanups - tegra: Use GEM object functions - tidss: Set drm_plane_helper_funcs.prepare_fb - tilcdc: Don't keep vblank interrupt enabled all the time - tve200: Detect platform_get_irq() errors - vc4: Use GEM object functions; Only register components once DSI is attached; Add Maxime as maintainer - vgem: Use GEM object functions - via: Simplify critical section in via_mem_alloc() - virtgpu: Use GEM object functions - virtio: Implement blob resources, host-visible and cross-device features; Support mapping of host-allocated resources; Use UUID APi; Cleanups - vkms: Use GEM object functions; Switch to SHMEM - vmwgfx: TTM-related changes; Inline ttm_bo_swapout_all() - xen: Use GEM object functions - xlnx: Use GEM object functions Signed-off-by: Dave Airlie <airlied@redhat.com>
Showing the changes to include/uapi/linux (1 of 291 files). Show all
Unified · Split
| @@ -55,6 +55,11 @@ · 54 unmodified lines | |||
| 55 | */ | 55 | */ |
| 56 | #define VIRTIO_GPU_F_RESOURCE_UUID 2 | 56 | #define VIRTIO_GPU_F_RESOURCE_UUID 2 |
| 57 | 57 | ||
| 58 | /* | ||
| 59 | * VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB | ||
| 60 | */ | ||
| 61 | #define VIRTIO_GPU_F_RESOURCE_BLOB 3 | ||
| 62 | |||
| 58 | enum virtio_gpu_ctrl_type { | 63 | enum virtio_gpu_ctrl_type { |
| 59 | VIRTIO_GPU_UNDEFINED = 0, | 64 | VIRTIO_GPU_UNDEFINED = 0, |
| 60 | 65 | ||
| @@ -71,6 +76,8 @@ enum virtio_gpu_ctrl_type { · 10 unmodified lines | |||
| 71 | VIRTIO_GPU_CMD_GET_CAPSET, | 76 | VIRTIO_GPU_CMD_GET_CAPSET, |
| 72 | VIRTIO_GPU_CMD_GET_EDID, | 77 | VIRTIO_GPU_CMD_GET_EDID, |
| 73 | VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID, | 78 | VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID, |
| 79 | VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB, | ||
| 80 | VIRTIO_GPU_CMD_SET_SCANOUT_BLOB, | ||
| 74 | 81 | ||
| 75 | /* 3d commands */ | 82 | /* 3d commands */ |
| 76 | VIRTIO_GPU_CMD_CTX_CREATE = 0x0200, | 83 | VIRTIO_GPU_CMD_CTX_CREATE = 0x0200, |
| @@ -81,6 +88,8 @@ enum virtio_gpu_ctrl_type { · 4 unmodified lines | |||
| 81 | VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D, | 88 | VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D, |
| 82 | VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D, | 89 | VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D, |
| 83 | VIRTIO_GPU_CMD_SUBMIT_3D, | 90 | VIRTIO_GPU_CMD_SUBMIT_3D, |
| 91 | VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB, | ||
| 92 | VIRTIO_GPU_CMD_RESOURCE_UNMAP_BLOB, | ||
| 84 | 93 | ||
| 85 | /* cursor commands */ | 94 | /* cursor commands */ |
| 86 | VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300, | 95 | VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300, |
| @@ -93,6 +102,7 @@ enum virtio_gpu_ctrl_type { · 6 unmodified lines | |||
| 93 | VIRTIO_GPU_RESP_OK_CAPSET, | 102 | VIRTIO_GPU_RESP_OK_CAPSET, |
| 94 | VIRTIO_GPU_RESP_OK_EDID, | 103 | VIRTIO_GPU_RESP_OK_EDID, |
| 95 | VIRTIO_GPU_RESP_OK_RESOURCE_UUID, | 104 | VIRTIO_GPU_RESP_OK_RESOURCE_UUID, |
| 105 | VIRTIO_GPU_RESP_OK_MAP_INFO, | ||
| 96 | 106 | ||
| 97 | /* error responses */ | 107 | /* error responses */ |
| 98 | VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200, | 108 | VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200, |
| @@ -103,6 +113,11 @@ enum virtio_gpu_ctrl_type { · 4 unmodified lines | |||
| 103 | VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER, | 113 | VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER, |
| 104 | }; | 114 | }; |
| 105 | 115 | ||
| 116 | enum virtio_gpu_shm_id { | ||
| 117 | VIRTIO_GPU_SHM_ID_UNDEFINED = 0, | ||
| 118 | VIRTIO_GPU_SHM_ID_HOST_VISIBLE = 1 | ||
| 119 | }; | ||
| 120 | |||
| 106 | #define VIRTIO_GPU_FLAG_FENCE (1 << 0) | 121 | #define VIRTIO_GPU_FLAG_FENCE (1 << 0) |
| 107 | 122 | ||
| 108 | struct virtio_gpu_ctrl_hdr { | 123 | struct virtio_gpu_ctrl_hdr { |
| @@ -359,4 +374,67 @@ struct virtio_gpu_resp_resource_uuid { · 250 unmodified lines | |||
| 359 | __u8 uuid[16]; | 374 | __u8 uuid[16]; |
| 360 | }; | 375 | }; |
| 361 | 376 | ||
| 377 | /* VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB */ | ||
| 378 | struct virtio_gpu_resource_create_blob { | ||
| 379 | struct virtio_gpu_ctrl_hdr hdr; | ||
| 380 | __le32 resource_id; | ||
| 381 | #define VIRTIO_GPU_BLOB_MEM_GUEST 0x0001 | ||
| 382 | #define VIRTIO_GPU_BLOB_MEM_HOST3D 0x0002 | ||
| 383 | #define VIRTIO_GPU_BLOB_MEM_HOST3D_GUEST 0x0003 | ||
| 384 | |||
| 385 | #define VIRTIO_GPU_BLOB_FLAG_USE_MAPPABLE 0x0001 | ||
| 386 | #define VIRTIO_GPU_BLOB_FLAG_USE_SHAREABLE 0x0002 | ||
| 387 | #define VIRTIO_GPU_BLOB_FLAG_USE_CROSS_DEVICE 0x0004 | ||
| 388 | /* zero is invalid blob mem */ | ||
| 389 | __le32 blob_mem; | ||
| 390 | __le32 blob_flags; | ||
| 391 | __le32 nr_entries; | ||
| 392 | __le64 blob_id; | ||
| 393 | __le64 size; | ||
| 394 | /* | ||
| 395 | * sizeof(nr_entries * virtio_gpu_mem_entry) bytes follow | ||
| 396 | */ | ||
| 397 | }; | ||
| 398 | |||
| 399 | /* VIRTIO_GPU_CMD_SET_SCANOUT_BLOB */ | ||
| 400 | struct virtio_gpu_set_scanout_blob { | ||
| 401 | struct virtio_gpu_ctrl_hdr hdr; | ||
| 402 | struct virtio_gpu_rect r; | ||
| 403 | __le32 scanout_id; | ||
| 404 | __le32 resource_id; | ||
| 405 | __le32 width; | ||
| 406 | __le32 height; | ||
| 407 | __le32 format; | ||
| 408 | __le32 padding; | ||
| 409 | __le32 strides[4]; | ||
| 410 | __le32 offsets[4]; | ||
| 411 | }; | ||
| 412 | |||
| 413 | /* VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB */ | ||
| 414 | struct virtio_gpu_resource_map_blob { | ||
| 415 | struct virtio_gpu_ctrl_hdr hdr; | ||
| 416 | __le32 resource_id; | ||
| 417 | __le32 padding; | ||
| 418 | __le64 offset; | ||
| 419 | }; | ||
| 420 | |||
| 421 | /* VIRTIO_GPU_RESP_OK_MAP_INFO */ | ||
| 422 | #define VIRTIO_GPU_MAP_CACHE_MASK 0x0f | ||
| 423 | #define VIRTIO_GPU_MAP_CACHE_NONE 0x00 | ||
| 424 | #define VIRTIO_GPU_MAP_CACHE_CACHED 0x01 | ||
| 425 | #define VIRTIO_GPU_MAP_CACHE_UNCACHED 0x02 | ||
| 426 | #define VIRTIO_GPU_MAP_CACHE_WC 0x03 | ||
| 427 | struct virtio_gpu_resp_map_info { | ||
| 428 | struct virtio_gpu_ctrl_hdr hdr; | ||
| 429 | __u32 map_info; | ||
| 430 | __u32 padding; | ||
| 431 | }; | ||
| 432 | |||
| 433 | /* VIRTIO_GPU_CMD_RESOURCE_UNMAP_BLOB */ | ||
| 434 | struct virtio_gpu_resource_unmap_blob { | ||
| 435 | struct virtio_gpu_ctrl_hdr hdr; | ||
| 436 | __le32 resource_id; | ||
| 437 | __le32 padding; | ||
| 438 | }; | ||
| 439 | |||
| 362 | #endif | 440 | #endif |