Skip to content

Commit 41e09ef

Browse files
committed
Merge tag 'amd-drm-fixes-6.14-2025-03-20' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
amd-drm-fixes-6.14-2025-03-20: amdgpu: - Fix video caps limits on several asics - SMU 14.x fixes - GC 12 fixes - eDP fixes - DMUB fix amdkfd: - GC 12 trap handler fix - GC 7/8 queue validation fix radeon: - VCE IB parsing fix Signed-off-by: Dave Airlie <[email protected]> From: Alex Deucher <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
2 parents 5854df5 + d9d4cb2 commit 41e09ef

File tree

15 files changed

+526
-474
lines changed

15 files changed

+526
-474
lines changed

drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2437,7 +2437,7 @@ static int gfx_v12_0_cp_gfx_load_me_microcode_rs64(struct amdgpu_device *adev)
24372437
(void **)&adev->gfx.me.me_fw_data_ptr);
24382438
if (r) {
24392439
dev_err(adev->dev, "(%d) failed to create me data bo\n", r);
2440-
gfx_v12_0_pfp_fini(adev);
2440+
gfx_v12_0_me_fini(adev);
24412441
return r;
24422442
}
24432443

drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c

+2-20
Original file line numberDiff line numberDiff line change
@@ -501,9 +501,6 @@ static void gmc_v12_0_get_vm_pte(struct amdgpu_device *adev,
501501
uint64_t *flags)
502502
{
503503
struct amdgpu_bo *bo = mapping->bo_va->base.bo;
504-
struct amdgpu_device *bo_adev;
505-
bool coherent, is_system;
506-
507504

508505
*flags &= ~AMDGPU_PTE_EXECUTABLE;
509506
*flags |= mapping->flags & AMDGPU_PTE_EXECUTABLE;
@@ -519,26 +516,11 @@ static void gmc_v12_0_get_vm_pte(struct amdgpu_device *adev,
519516
*flags &= ~AMDGPU_PTE_VALID;
520517
}
521518

522-
if (!bo)
523-
return;
524-
525-
if (bo->flags & (AMDGPU_GEM_CREATE_COHERENT |
526-
AMDGPU_GEM_CREATE_UNCACHED))
527-
*flags = AMDGPU_PTE_MTYPE_GFX12(*flags, MTYPE_UC);
528-
529-
bo_adev = amdgpu_ttm_adev(bo->tbo.bdev);
530-
coherent = bo->flags & AMDGPU_GEM_CREATE_COHERENT;
531-
is_system = bo->tbo.resource &&
532-
(bo->tbo.resource->mem_type == TTM_PL_TT ||
533-
bo->tbo.resource->mem_type == AMDGPU_PL_PREEMPT);
534-
535519
if (bo && bo->flags & AMDGPU_GEM_CREATE_GFX12_DCC)
536520
*flags |= AMDGPU_PTE_DCC;
537521

538-
/* WA for HW bug */
539-
if (is_system || ((bo_adev != adev) && coherent))
540-
*flags = AMDGPU_PTE_MTYPE_GFX12(*flags, MTYPE_NC);
541-
522+
if (bo && bo->flags & AMDGPU_GEM_CREATE_UNCACHED)
523+
*flags = AMDGPU_PTE_MTYPE_GFX12(*flags, MTYPE_UC);
542524
}
543525

544526
static unsigned gmc_v12_0_get_vbios_fb_size(struct amdgpu_device *adev)

drivers/gpu/drm/amd/amdgpu/nv.c

+10-10
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@ static const struct amdgpu_video_codecs nv_video_codecs_encode = {
7878

7979
/* Navi1x */
8080
static const struct amdgpu_video_codec_info nv_video_codecs_decode_array[] = {
81-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)},
82-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)},
81+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 1920, 1088, 3)},
82+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 1920, 1088, 5)},
8383
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
84-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
84+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 1920, 1088, 4)},
8585
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
86-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
86+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 8192, 8192, 0)},
8787
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
8888
};
8989

@@ -104,21 +104,21 @@ static const struct amdgpu_video_codecs sc_video_codecs_encode = {
104104
};
105105

106106
static const struct amdgpu_video_codec_info sc_video_codecs_decode_array_vcn0[] = {
107-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)},
108-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)},
107+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 1920, 1088, 3)},
108+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 1920, 1088, 5)},
109109
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
110-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
110+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 1920, 1088, 4)},
111111
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
112112
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 16384, 16384, 0)},
113113
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},
114114
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1, 8192, 4352, 0)},
115115
};
116116

117117
static const struct amdgpu_video_codec_info sc_video_codecs_decode_array_vcn1[] = {
118-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)},
119-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)},
118+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 1920, 1088, 3)},
119+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 1920, 1088, 5)},
120120
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
121-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
121+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 1920, 1088, 4)},
122122
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
123123
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 16384, 16384, 0)},
124124
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},

drivers/gpu/drm/amd/amdgpu/soc15.c

+10-11
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,11 @@ static const struct amdgpu_video_codecs vega_video_codecs_encode =
103103
/* Vega */
104104
static const struct amdgpu_video_codec_info vega_video_codecs_decode_array[] =
105105
{
106-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)},
107-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)},
106+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 1920, 1088, 3)},
107+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 1920, 1088, 5)},
108108
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
109-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
109+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 1920, 1088, 4)},
110110
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 4096, 186)},
111-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
112111
};
113112

114113
static const struct amdgpu_video_codecs vega_video_codecs_decode =
@@ -120,12 +119,12 @@ static const struct amdgpu_video_codecs vega_video_codecs_decode =
120119
/* Raven */
121120
static const struct amdgpu_video_codec_info rv_video_codecs_decode_array[] =
122121
{
123-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)},
124-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)},
122+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 1920, 1088, 3)},
123+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 1920, 1088, 5)},
125124
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
126-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
125+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 1920, 1088, 4)},
127126
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 4096, 186)},
128-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)},
127+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 8192, 8192, 0)},
129128
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 4096, 4096, 0)},
130129
};
131130

@@ -138,10 +137,10 @@ static const struct amdgpu_video_codecs rv_video_codecs_decode =
138137
/* Renoir, Arcturus */
139138
static const struct amdgpu_video_codec_info rn_video_codecs_decode_array[] =
140139
{
141-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)},
142-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)},
140+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 1920, 1088, 3)},
141+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 1920, 1088, 5)},
143142
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)},
144-
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)},
143+
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 1920, 1088, 4)},
145144
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)},
146145
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 16384, 16384, 0)},
147146
{codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)},

drivers/gpu/drm/amd/amdgpu/vi.c

+18-25
Original file line numberDiff line numberDiff line change
@@ -167,16 +167,16 @@ static const struct amdgpu_video_codec_info tonga_video_codecs_decode_array[] =
167167
{
168168
{
169169
.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
170-
.max_width = 4096,
171-
.max_height = 4096,
172-
.max_pixels_per_frame = 4096 * 4096,
170+
.max_width = 1920,
171+
.max_height = 1088,
172+
.max_pixels_per_frame = 1920 * 1088,
173173
.max_level = 3,
174174
},
175175
{
176176
.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
177-
.max_width = 4096,
178-
.max_height = 4096,
179-
.max_pixels_per_frame = 4096 * 4096,
177+
.max_width = 1920,
178+
.max_height = 1088,
179+
.max_pixels_per_frame = 1920 * 1088,
180180
.max_level = 5,
181181
},
182182
{
@@ -188,9 +188,9 @@ static const struct amdgpu_video_codec_info tonga_video_codecs_decode_array[] =
188188
},
189189
{
190190
.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
191-
.max_width = 4096,
192-
.max_height = 4096,
193-
.max_pixels_per_frame = 4096 * 4096,
191+
.max_width = 1920,
192+
.max_height = 1088,
193+
.max_pixels_per_frame = 1920 * 1088,
194194
.max_level = 4,
195195
},
196196
};
@@ -206,16 +206,16 @@ static const struct amdgpu_video_codec_info cz_video_codecs_decode_array[] =
206206
{
207207
{
208208
.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2,
209-
.max_width = 4096,
210-
.max_height = 4096,
211-
.max_pixels_per_frame = 4096 * 4096,
209+
.max_width = 1920,
210+
.max_height = 1088,
211+
.max_pixels_per_frame = 1920 * 1088,
212212
.max_level = 3,
213213
},
214214
{
215215
.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4,
216-
.max_width = 4096,
217-
.max_height = 4096,
218-
.max_pixels_per_frame = 4096 * 4096,
216+
.max_width = 1920,
217+
.max_height = 1088,
218+
.max_pixels_per_frame = 1920 * 1088,
219219
.max_level = 5,
220220
},
221221
{
@@ -227,9 +227,9 @@ static const struct amdgpu_video_codec_info cz_video_codecs_decode_array[] =
227227
},
228228
{
229229
.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1,
230-
.max_width = 4096,
231-
.max_height = 4096,
232-
.max_pixels_per_frame = 4096 * 4096,
230+
.max_width = 1920,
231+
.max_height = 1088,
232+
.max_pixels_per_frame = 1920 * 1088,
233233
.max_level = 4,
234234
},
235235
{
@@ -239,13 +239,6 @@ static const struct amdgpu_video_codec_info cz_video_codecs_decode_array[] =
239239
.max_pixels_per_frame = 4096 * 4096,
240240
.max_level = 186,
241241
},
242-
{
243-
.codec_type = AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG,
244-
.max_width = 4096,
245-
.max_height = 4096,
246-
.max_pixels_per_frame = 4096 * 4096,
247-
.max_level = 0,
248-
},
249242
};
250243

251244
static const struct amdgpu_video_codecs cz_video_codecs_decode =

0 commit comments

Comments
 (0)