diff --git a/srcpkgs/linux6.12/patches/fix-amd-regression.patch b/srcpkgs/linux6.12/patches/fix-amd-regression.patch new file mode 100644 index 00000000000..b0b80885908 --- /dev/null +++ b/srcpkgs/linux6.12/patches/fix-amd-regression.patch @@ -0,0 +1,48 @@ +From 30dd9945fd79d33a049da4e52984c9bc07450de2 Mon Sep 17 00:00:00 2001 +From: Aurabindo Pillai +Date: Wed, 21 May 2025 16:10:57 -0400 +Subject: [PATCH] Revert "drm/amd/display: more liberal vmin/vmax update for + freesync" + +This reverts commit 219898d29c438d8ec34a5560fac4ea8f6b8d4f20 since it +causes regressions on certain configs. Revert until the issue can be +isolated and debugged. + +Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4238 +Signed-off-by: Aurabindo Pillai +Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/139 +--- + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 16 +++++----------- + 1 file changed, 5 insertions(+), 11 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +index 2dbd71fbae28a5..e4f0517f0f2b23 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -668,21 +668,15 @@ static void dm_crtc_high_irq(void *interrupt_params) + spin_lock_irqsave(&adev_to_drm(adev)->event_lock, flags); + + if (acrtc->dm_irq_params.stream && +- acrtc->dm_irq_params.vrr_params.supported) { +- bool replay_en = acrtc->dm_irq_params.stream->link->replay_settings.replay_feature_enabled; +- bool psr_en = acrtc->dm_irq_params.stream->link->psr_settings.psr_feature_enabled; +- bool fs_active_var_en = acrtc->dm_irq_params.freesync_config.state == VRR_STATE_ACTIVE_VARIABLE; +- ++ acrtc->dm_irq_params.vrr_params.supported && ++ acrtc->dm_irq_params.freesync_config.state == ++ VRR_STATE_ACTIVE_VARIABLE) { + mod_freesync_handle_v_update(adev->dm.freesync_module, + acrtc->dm_irq_params.stream, + &acrtc->dm_irq_params.vrr_params); + +- /* update vmin_vmax only if freesync is enabled, or only if PSR and REPLAY are disabled */ +- if (fs_active_var_en || (!fs_active_var_en && !replay_en && !psr_en)) { +- dc_stream_adjust_vmin_vmax(adev->dm.dc, +- acrtc->dm_irq_params.stream, +- &acrtc->dm_irq_params.vrr_params.adjust); +- } ++ dc_stream_adjust_vmin_vmax(adev->dm.dc, acrtc->dm_irq_params.stream, ++ &acrtc->dm_irq_params.vrr_params.adjust); + } + + /* diff --git a/srcpkgs/linux6.12/patches/fix-loop-mount-rw.patch b/srcpkgs/linux6.12/patches/fix-loop-mount-rw.patch new file mode 100644 index 00000000000..253f13fc3dc --- /dev/null +++ b/srcpkgs/linux6.12/patches/fix-loop-mount-rw.patch @@ -0,0 +1,38 @@ +From 355341e4359b2d5edf0ed5e117f7e9e7a0a5dac0 Mon Sep 17 00:00:00 2001 +From: Christoph Hellwig +Date: Tue, 20 May 2025 15:54:20 +0200 +Subject: loop: don't require ->write_iter for writable files in loop_configure + +Block devices can be opened read-write even if they can't be written to +for historic reasons. Remove the check requiring file->f_op->write_iter +when the block devices was opened in loop_configure. The call to +loop_check_backing_file just below ensures the ->write_iter is present +for backing files opened for writing, which is the only check that is +actually needed. + +Fixes: f5c84eff634b ("loop: Add sanity check for read/write_iter") +Reported-by: Christian Hesse +Signed-off-by: Christoph Hellwig +Link: https://lore.kernel.org/r/20250520135420.1177312-1-hch@lst.de +Signed-off-by: Jens Axboe +--- + drivers/block/loop.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/drivers/block/loop.c b/drivers/block/loop.c +index b8ba7de0875395..e2b1f377f58563 100644 +--- a/drivers/block/loop.c ++++ b/drivers/block/loop.c +@@ -979,9 +979,6 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, + if (!file) + return -EBADF; + +- if ((mode & BLK_OPEN_WRITE) && !file->f_op->write_iter) +- return -EINVAL; +- + error = loop_check_backing_file(file); + if (error) + return error; +-- +cgit 1.2.3-korg + diff --git a/srcpkgs/linux6.12/template b/srcpkgs/linux6.12/template index d711713fb1e..6b31dddeed9 100644 --- a/srcpkgs/linux6.12/template +++ b/srcpkgs/linux6.12/template @@ -1,7 +1,7 @@ # Template file for 'linux6.12' pkgname=linux6.12 version=6.12.30 -revision=1 +revision=2 short_desc="Linux kernel and modules (${version%.*} series)" maintainer="Duncaen " license="GPL-2.0-only"