Skip to content

Commit c8ed9b5

Browse files
committed
Merge tag 'drm-fixes-2025-09-05' of https://gitlab.freedesktop.org/drm/kernel
Pull drm fixes from Dave Airlie: "Weekly drm fixes roundup, nouveau has two fixes for fence/irq racing problems that should fix a bunch of instability in userspace. Otherwise amdgpu along with some single fixes to bridge, xe, ivpu. Looks about usual for this time in the release. scheduler: - fix race in unschedulable tracepoint bridge: - ti-sn65dsi86: fix REFCLK setting xe: - Fix incorrect migration of backed-up object to VRAM 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 nouveau: - fix nonstall interrupt handling - fix race on fence vs irq emission - update MAINTAINERS entry ivpu: - prevent recovery work during device remove" * tag 'drm-fixes-2025-09-05' of https://gitlab.freedesktop.org/drm/kernel: drm/amd/amdgpu: Fix missing error return on kzalloc failure drm/bridge: ti-sn65dsi86: fix REFCLK setting MAINTAINERS: Update git entry for nouveau drm/xe: Fix incorrect migration of backed-up object to VRAM drm/sched: Fix racy access to drm_sched_entity.dependency accel/ivpu: Prevent recovery work from being queued during device removal nouveau: Membar before between semaphore writes and the interrupt nouveau: fix disabling the nonstall irq due to storm code drm/amd/display: Clear the CUR_ENABLE register on DCN314 w/out DPP PG drm/amdgpu: drop hw access in non-DC audio fini drm/amd: Re-enable common modes for eDP and LVDS drm/amdgpu/mes11: make MES_MISC_OP_CHANGE_CONFIG failure non-fatal drm/amdgpu/sdma: bump firmware version checks for user queue support
2 parents 01c93aa + 8b556dd commit c8ed9b5

File tree

29 files changed

+234
-48
lines changed

29 files changed

+234
-48
lines changed

MAINTAINERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7821,7 +7821,7 @@ Q: https://patchwork.freedesktop.org/project/nouveau/
78217821
Q: https://gitlab.freedesktop.org/drm/nouveau/-/merge_requests
78227822
B: https://gitlab.freedesktop.org/drm/nouveau/-/issues
78237823
C: irc://irc.oftc.net/nouveau
7824-
T: git https://gitlab.freedesktop.org/drm/nouveau.git
7824+
T: git https://gitlab.freedesktop.org/drm/misc/kernel.git
78257825
F: drivers/gpu/drm/nouveau/
78267826
F: include/uapi/drm/nouveau_drm.h
78277827

drivers/accel/ivpu/ivpu_drv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,7 @@ static void ivpu_bo_unbind_all_user_contexts(struct ivpu_device *vdev)
677677
static void ivpu_dev_fini(struct ivpu_device *vdev)
678678
{
679679
ivpu_jobs_abort_all(vdev);
680-
ivpu_pm_cancel_recovery(vdev);
680+
ivpu_pm_disable_recovery(vdev);
681681
ivpu_pm_disable(vdev);
682682
ivpu_prepare_for_reset(vdev);
683683
ivpu_shutdown(vdev);

drivers/accel/ivpu/ivpu_pm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -417,10 +417,10 @@ void ivpu_pm_init(struct ivpu_device *vdev)
417417
ivpu_dbg(vdev, PM, "Autosuspend delay = %d\n", delay);
418418
}
419419

420-
void ivpu_pm_cancel_recovery(struct ivpu_device *vdev)
420+
void ivpu_pm_disable_recovery(struct ivpu_device *vdev)
421421
{
422422
drm_WARN_ON(&vdev->drm, delayed_work_pending(&vdev->pm->job_timeout_work));
423-
cancel_work_sync(&vdev->pm->recovery_work);
423+
disable_work_sync(&vdev->pm->recovery_work);
424424
}
425425

426426
void ivpu_pm_enable(struct ivpu_device *vdev)

drivers/accel/ivpu/ivpu_pm.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ struct ivpu_pm_info {
2525
void ivpu_pm_init(struct ivpu_device *vdev);
2626
void ivpu_pm_enable(struct ivpu_device *vdev);
2727
void ivpu_pm_disable(struct ivpu_device *vdev);
28-
void ivpu_pm_cancel_recovery(struct ivpu_device *vdev);
28+
void ivpu_pm_disable_recovery(struct ivpu_device *vdev);
2929

3030
int ivpu_pm_suspend_cb(struct device *dev);
3131
int ivpu_pm_resume_cb(struct device *dev);

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 =

0 commit comments

Comments
 (0)