Skip to content

Commit 8b556dd

Browse files
committed
Merge tag 'amd-drm-fixes-6.17-2025-09-03' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
amd-drm-fixes-6.17-2025-09-03: amdgpu: - UserQ fixes - MES 11 fix - eDP/LVDS fix - Fix non-DC audio clean up - Fix duplicate cursor issue - Fix error path in PSP init Signed-off-by: Dave Airlie <[email protected]> From: Alex Deucher <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2 parents 40bcf6e + 467e00b commit 8b556dd

File tree

15 files changed

+98
-28
lines changed

15 files changed

+98
-28
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ static int psp_sw_init(struct amdgpu_ip_block *ip_block)
448448
psp->cmd = kzalloc(sizeof(struct psp_gfx_cmd_resp), GFP_KERNEL);
449449
if (!psp->cmd) {
450450
dev_err(adev->dev, "Failed to allocate memory to command buffer!\n");
451-
ret = -ENOMEM;
451+
return -ENOMEM;
452452
}
453453

454454
adev->psp.xgmi_context.supports_extended_data =

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,17 +1462,12 @@ static int dce_v10_0_audio_init(struct amdgpu_device *adev)
14621462

14631463
static void dce_v10_0_audio_fini(struct amdgpu_device *adev)
14641464
{
1465-
int i;
1466-
14671465
if (!amdgpu_audio)
14681466
return;
14691467

14701468
if (!adev->mode_info.audio.enabled)
14711469
return;
14721470

1473-
for (i = 0; i < adev->mode_info.audio.num_pins; i++)
1474-
dce_v10_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
1475-
14761471
adev->mode_info.audio.enabled = false;
14771472
}
14781473

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1511,17 +1511,12 @@ static int dce_v11_0_audio_init(struct amdgpu_device *adev)
15111511

15121512
static void dce_v11_0_audio_fini(struct amdgpu_device *adev)
15131513
{
1514-
int i;
1515-
15161514
if (!amdgpu_audio)
15171515
return;
15181516

15191517
if (!adev->mode_info.audio.enabled)
15201518
return;
15211519

1522-
for (i = 0; i < adev->mode_info.audio.num_pins; i++)
1523-
dce_v11_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
1524-
15251520
adev->mode_info.audio.enabled = false;
15261521
}
15271522

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1451,17 +1451,12 @@ static int dce_v6_0_audio_init(struct amdgpu_device *adev)
14511451

14521452
static void dce_v6_0_audio_fini(struct amdgpu_device *adev)
14531453
{
1454-
int i;
1455-
14561454
if (!amdgpu_audio)
14571455
return;
14581456

14591457
if (!adev->mode_info.audio.enabled)
14601458
return;
14611459

1462-
for (i = 0; i < adev->mode_info.audio.num_pins; i++)
1463-
dce_v6_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
1464-
14651460
adev->mode_info.audio.enabled = false;
14661461
}
14671462

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,17 +1443,12 @@ static int dce_v8_0_audio_init(struct amdgpu_device *adev)
14431443

14441444
static void dce_v8_0_audio_fini(struct amdgpu_device *adev)
14451445
{
1446-
int i;
1447-
14481446
if (!amdgpu_audio)
14491447
return;
14501448

14511449
if (!adev->mode_info.audio.enabled)
14521450
return;
14531451

1454-
for (i = 0; i < adev->mode_info.audio.num_pins; i++)
1455-
dce_v8_0_audio_enable(adev, &adev->mode_info.audio.pin[i], false);
1456-
14571452
adev->mode_info.audio.enabled = false;
14581453
}
14591454

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -641,8 +641,9 @@ static int mes_v11_0_misc_op(struct amdgpu_mes *mes,
641641
break;
642642
case MES_MISC_OP_CHANGE_CONFIG:
643643
if ((mes->adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) < 0x63) {
644-
dev_err(mes->adev->dev, "MES FW version must be larger than 0x63 to support limit single process feature.\n");
645-
return -EINVAL;
644+
dev_warn_once(mes->adev->dev,
645+
"MES FW version must be larger than 0x63 to support limit single process feature.\n");
646+
return 0;
646647
}
647648
misc_pkt.opcode = MESAPI_MISC__CHANGE_CONFIG;
648649
misc_pkt.change_config.opcode =

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1377,19 +1377,19 @@ static int sdma_v6_0_sw_init(struct amdgpu_ip_block *ip_block)
13771377

13781378
switch (amdgpu_ip_version(adev, SDMA0_HWIP, 0)) {
13791379
case IP_VERSION(6, 0, 0):
1380-
if ((adev->sdma.instance[0].fw_version >= 24) && !adev->sdma.disable_uq)
1380+
if ((adev->sdma.instance[0].fw_version >= 27) && !adev->sdma.disable_uq)
13811381
adev->userq_funcs[AMDGPU_HW_IP_DMA] = &userq_mes_funcs;
13821382
break;
13831383
case IP_VERSION(6, 0, 1):
13841384
if ((adev->sdma.instance[0].fw_version >= 18) && !adev->sdma.disable_uq)
13851385
adev->userq_funcs[AMDGPU_HW_IP_DMA] = &userq_mes_funcs;
13861386
break;
13871387
case IP_VERSION(6, 0, 2):
1388-
if ((adev->sdma.instance[0].fw_version >= 21) && !adev->sdma.disable_uq)
1388+
if ((adev->sdma.instance[0].fw_version >= 23) && !adev->sdma.disable_uq)
13891389
adev->userq_funcs[AMDGPU_HW_IP_DMA] = &userq_mes_funcs;
13901390
break;
13911391
case IP_VERSION(6, 0, 3):
1392-
if ((adev->sdma.instance[0].fw_version >= 25) && !adev->sdma.disable_uq)
1392+
if ((adev->sdma.instance[0].fw_version >= 27) && !adev->sdma.disable_uq)
13931393
adev->userq_funcs[AMDGPU_HW_IP_DMA] = &userq_mes_funcs;
13941394
break;
13951395
case IP_VERSION(6, 1, 0):

drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8381,8 +8381,7 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
83818381
drm_add_modes_noedid(connector, 1920, 1080);
83828382
} else {
83838383
amdgpu_dm_connector_ddc_get_modes(connector, drm_edid);
8384-
if (encoder && (connector->connector_type != DRM_MODE_CONNECTOR_eDP) &&
8385-
(connector->connector_type != DRM_MODE_CONNECTOR_LVDS))
8384+
if (encoder)
83868385
amdgpu_dm_connector_add_common_modes(encoder, connector);
83878386
amdgpu_dm_connector_add_freesync_modes(connector, drm_edid);
83888387
}

drivers/gpu/drm/amd/display/dc/dpp/dcn10/dcn10_dpp.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -520,6 +520,15 @@ void dpp1_dppclk_control(
520520
REG_UPDATE(DPP_CONTROL, DPP_CLOCK_ENABLE, 0);
521521
}
522522

523+
void dpp_force_disable_cursor(struct dpp *dpp_base)
524+
{
525+
struct dcn10_dpp *dpp = TO_DCN10_DPP(dpp_base);
526+
527+
/* Force disable cursor */
528+
REG_UPDATE(CURSOR0_CONTROL, CUR0_ENABLE, 0);
529+
dpp_base->pos.cur0_ctl.bits.cur0_enable = 0;
530+
}
531+
523532
static const struct dpp_funcs dcn10_dpp_funcs = {
524533
.dpp_read_state = dpp_read_state,
525534
.dpp_reset = dpp_reset,

drivers/gpu/drm/amd/display/dc/dpp/dcn10/dcn10_dpp.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,4 +1525,6 @@ void dpp1_construct(struct dcn10_dpp *dpp1,
15251525

15261526
void dpp1_cm_get_gamut_remap(struct dpp *dpp_base,
15271527
struct dpp_grph_csc_adjustment *adjust);
1528+
void dpp_force_disable_cursor(struct dpp *dpp_base);
1529+
15281530
#endif

0 commit comments

Comments
 (0)