History

Merge tag 'amd-drm-next-5.13-2021-03-23' of https://gitlab.freedesktop.org/agd5f/linux into drm-next

amd-drm-next-5.13-2021-03-23: amdgpu: - Debugfs cleanup - Various cleanups and spelling fixes - Flexible array cleanups - Initial AMD Freesync HDMI - Display fixes - 10bpc dithering improvements - Display ASSR support - Clean up and unify powerplay and swsmu interfaces - Vangogh fixes - Add SMU gfx busy queues for RV/PCO - PCIE DPM fixes - S0ix fixes - GPU metrics data fixes - DCN secure display support - Backlight type override - Add initial support for Aldebaran - RAS fixes - Prime fixes for A+A systems - Reset fixes - Initial resource cursor support - Drop legacy IO BAR requirements - Various power fixes amdkfd: - MMU notifier fixes - APU fixes radeon: - Debugfs cleanups - Flexible array cleanups UAPI: - amdgpu: Add a new INFO ioctl interface to query video capabilities rather than hardcoding them in userspace. This allows us to provide fine grained asic capabilities (e.g., if a particular part is bandwidth limited, we can limit the capabilities). Proposed userspace: https://gitlab.freedesktop.org/leoliu/drm/-/commits/info_video_caps https://gitlab.freedesktop.org/leoliu/mesa/-/commits/info_video_caps - amdkfd: bump the driver version. There was a problem with reporting some RAS features on older versions of the driver. Proposed userspace: https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface/commit/7cdd63475c36bb9f49bb960f90f9a8cdb7e80a21 Danvet: A bunch of conflicts all over, but it seems to compile ... I did put the call to dc_allow_idle_optimizations() on a single line since it looked a bit too jarring to be left alone.

Daniel Vetter committed 5 years ago

Commit 2cbcb782 parents 06debd6 8c44390323 files · +142321 −3917Browse files

Showing the changes to include/uapi (2 of 323 files). Show all

Unified · Split

2 files
  1. include/uapi/drm/amdgpu_drm.h +34 −0
  2. include/uapi/linux/kfd_ioctl.h +3 −1
include/uapi/drm/amdgpu_drm.h+34−0
@@ -782,6 +782,12 @@ struct drm_amdgpu_cs_chunk_data { · 781 unmodified lines
782782 #define AMDGPU_INFO_VRAM_LOST_COUNTER 0x1F
783783 /* query ras mask of enabled features*/
784784 #define AMDGPU_INFO_RAS_ENABLED_FEATURES 0x20
785+/* query video encode/decode caps */
786+#define AMDGPU_INFO_VIDEO_CAPS 0x21
787+ /* Subquery id: Decode */
788+ #define AMDGPU_INFO_VIDEO_CAPS_DECODE 0
789+ /* Subquery id: Encode */
790+ #define AMDGPU_INFO_VIDEO_CAPS_ENCODE 1
785791
786792 /* RAS MASK: UMC (VRAM) */
787793 #define AMDGPU_INFO_RAS_ENABLED_UMC (1 << 0)
@@ -878,6 +884,10 @@ struct drm_amdgpu_info { · 90 unmodified lines
878884 struct {
879885 __u32 type;
880886 } sensor_info;
887+
888+ struct {
889+ __u32 type;
890+ } video_cap;
881891 };
882892 };
883893
@@ -1074,6 +1084,30 @@ struct drm_amdgpu_info_vce_clock_table { · 190 unmodified lines
10741084 __u32 pad;
10751085 };
10761086
1087+/* query video encode/decode caps */
1088+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2 0
1089+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4 1
1090+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1 2
1091+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC 3
1092+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC 4
1093+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG 5
1094+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9 6
1095+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1 7
1096+#define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT 8
1097+
1098+struct drm_amdgpu_info_video_codec_info {
1099+ __u32 valid;
1100+ __u32 max_width;
1101+ __u32 max_height;
1102+ __u32 max_pixels_per_frame;
1103+ __u32 max_level;
1104+ __u32 pad;
1105+};
1106+
1107+struct drm_amdgpu_info_video_caps {
1108+ struct drm_amdgpu_info_video_codec_info codec_info[AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT];
1109+};
1110+
10771111 /*
10781112 * Supported GPU families
10791113 */
include/uapi/linux/kfd_ioctl.h+3−1
@@ -29,9 +29,10 @@ · 28 unmodified lines
2929 /*
3030 * - 1.1 - initial version
3131 * - 1.3 - Add SMI events support
32+ * - 1.4 - Indicate new SRAM EDC bit in device properties
3233 */
3334 #define KFD_IOCTL_MAJOR_VERSION 1
34−#define KFD_IOCTL_MINOR_VERSION 3
35+#define KFD_IOCTL_MINOR_VERSION 4
3536
3637 struct kfd_ioctl_get_version_args {
3738 __u32 major_version; /* from KFD */
@@ -351,6 +352,7 @@ struct kfd_ioctl_acquire_vm_args { · 313 unmodified lines
351352 #define KFD_IOC_ALLOC_MEM_FLAGS_NO_SUBSTITUTE (1 << 28)
352353 #define KFD_IOC_ALLOC_MEM_FLAGS_AQL_QUEUE_MEM (1 << 27)
353354 #define KFD_IOC_ALLOC_MEM_FLAGS_COHERENT (1 << 26)
355+#define KFD_IOC_ALLOC_MEM_FLAGS_UNCACHED (1 << 25)
354356
355357 /* Allocate memory for later SVM (shared virtual memory) mapping.
356358 *