Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: Add VCN_5_0_1 codec query

Support VCN_5_0_1 codec query

v2: squash in updates

Signed-off-by: Sonny Jiang <sonjiang@amd.com>
Acked-by: Leo Liu <leo.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Sonny Jiang and committed by
Alex Deucher
4e4b1a1b fdce10ff

+24
+24
drivers/gpu/drm/amd/amdgpu/soc15.c
··· 171 171 .codec_array = NULL, 172 172 }; 173 173 174 + static const struct amdgpu_video_codecs vcn_5_0_1_video_codecs_encode_vcn0 = { 175 + .codec_count = 0, 176 + .codec_array = NULL, 177 + }; 178 + 179 + static const struct amdgpu_video_codec_info vcn_5_0_1_video_codecs_decode_array_vcn0[] = { 180 + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, 181 + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, 182 + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 16384, 16384, 0)}, 183 + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, 184 + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1, 8192, 4352, 0)}, 185 + }; 186 + 187 + static const struct amdgpu_video_codecs vcn_5_0_1_video_codecs_decode_vcn0 = { 188 + .codec_count = ARRAY_SIZE(vcn_5_0_1_video_codecs_decode_array_vcn0), 189 + .codec_array = vcn_5_0_1_video_codecs_decode_array_vcn0, 190 + }; 191 + 174 192 static int soc15_query_video_codecs(struct amdgpu_device *adev, bool encode, 175 193 const struct amdgpu_video_codecs **codecs) 176 194 { ··· 226 208 *codecs = &vcn_4_0_3_video_codecs_encode; 227 209 else 228 210 *codecs = &vcn_4_0_3_video_codecs_decode; 211 + return 0; 212 + case IP_VERSION(5, 0, 1): 213 + if (encode) 214 + *codecs = &vcn_5_0_1_video_codecs_encode_vcn0; 215 + else 216 + *codecs = &vcn_5_0_1_video_codecs_decode_vcn0; 229 217 return 0; 230 218 default: 231 219 return -EINVAL;