From b566ad28a3910e1b80091134e2ea9de9b0a54241 Mon Sep 17 00:00:00 2001 From: Jan200101 Date: Thu, 6 Jul 2023 12:03:31 +0200 Subject: add regression revert patch Thanks GloriousEggroll for triaging it and providing these --- ...-b0cb56fc6e3096c9da04c30d9b501da84dae2b4f.patch | 40 ++++++++++ ...-1ca399f127e0a372537625b1d462ed586f5d9139.patch | 88 ++++++++++++++++++++++ ...-da2d907e051d591717d00e28e67ab341b961fd05.patch | 68 +++++++++++++++++ SPECS/kernel.spec | 13 +++- 4 files changed, 208 insertions(+), 1 deletion(-) create mode 100644 SOURCES/0001-Revert-b0cb56fc6e3096c9da04c30d9b501da84dae2b4f.patch create mode 100644 SOURCES/0002-Revert-1ca399f127e0a372537625b1d462ed586f5d9139.patch create mode 100644 SOURCES/0003-Revert-da2d907e051d591717d00e28e67ab341b961fd05.patch diff --git a/SOURCES/0001-Revert-b0cb56fc6e3096c9da04c30d9b501da84dae2b4f.patch b/SOURCES/0001-Revert-b0cb56fc6e3096c9da04c30d9b501da84dae2b4f.patch new file mode 100644 index 0000000..e9aa9df --- /dev/null +++ b/SOURCES/0001-Revert-b0cb56fc6e3096c9da04c30d9b501da84dae2b4f.patch @@ -0,0 +1,40 @@ +From 176f7c35f0ce2cbac1f59ce1057bc953d5841f4b Mon Sep 17 00:00:00 2001 +From: GloriousEggroll +Date: Wed, 5 Jul 2023 15:09:57 -0600 +Subject: [PATCH 1/3] Revert b0cb56fc6e3096c9da04c30d9b501da84dae2b4f + +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 ++++------ + 1 file changed, 4 insertions(+), 6 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 2cbd69498..51a3130f6 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -8213,12 +8213,6 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, + if (acrtc_state->abm_level != dm_old_crtc_state->abm_level) + bundle->stream_update.abm_level = &acrtc_state->abm_level; + +- mutex_lock(&dm->dc_lock); +- if ((acrtc_state->update_type > UPDATE_TYPE_FAST) && +- acrtc_state->stream->link->psr_settings.psr_allow_active) +- amdgpu_dm_psr_disable(acrtc_state->stream); +- mutex_unlock(&dm->dc_lock); +- + /* + * If FreeSync state on the stream has changed then we need to + * re-adjust the min/max bounds now that DC doesn't handle this +@@ -8232,6 +8226,10 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, + spin_unlock_irqrestore(&pcrtc->dev->event_lock, flags); + } + mutex_lock(&dm->dc_lock); ++ if ((acrtc_state->update_type > UPDATE_TYPE_FAST) && ++ acrtc_state->stream->link->psr_settings.psr_allow_active) ++ amdgpu_dm_psr_disable(acrtc_state->stream); ++ + update_planes_and_stream_adapter(dm->dc, + acrtc_state->update_type, + planes_count, +-- +2.41.0 + diff --git a/SOURCES/0002-Revert-1ca399f127e0a372537625b1d462ed586f5d9139.patch b/SOURCES/0002-Revert-1ca399f127e0a372537625b1d462ed586f5d9139.patch new file mode 100644 index 0000000..03ac160 --- /dev/null +++ b/SOURCES/0002-Revert-1ca399f127e0a372537625b1d462ed586f5d9139.patch @@ -0,0 +1,88 @@ +From 046beef43c8c811ce3e96fc2553a15e41f213b11 Mon Sep 17 00:00:00 2001 +From: GloriousEggroll +Date: Wed, 5 Jul 2023 16:01:53 -0600 +Subject: [PATCH 2/3] Revert 1ca399f127e0a372537625b1d462ed586f5d9139 + +--- + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 51 ++++--------------- + 1 file changed, 10 insertions(+), 41 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 51a3130f6..ae58f24be 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -350,35 +350,6 @@ static inline bool is_dc_timing_adjust_needed(struct dm_crtc_state *old_state, + return false; + } + +-/** +- * update_planes_and_stream_adapter() - Send planes to be updated in DC +- * +- * DC has a generic way to update planes and stream via +- * dc_update_planes_and_stream function; however, DM might need some +- * adjustments and preparation before calling it. This function is a wrapper +- * for the dc_update_planes_and_stream that does any required configuration +- * before passing control to DC. +- */ +-static inline bool update_planes_and_stream_adapter(struct dc *dc, +- int update_type, +- int planes_count, +- struct dc_stream_state *stream, +- struct dc_stream_update *stream_update, +- struct dc_surface_update *array_of_surface_update) +-{ +- /* +- * Previous frame finished and HW is ready for optimization. +- */ +- if (update_type == UPDATE_TYPE_FAST) +- dc_post_update_surfaces_to_stream(dc); +- +- return dc_update_planes_and_stream(dc, +- array_of_surface_update, +- planes_count, +- stream, +- stream_update); +-} +- + /** + * dm_pflip_high_irq() - Handle pageflip interrupt + * @interrupt_params: ignored +@@ -2713,12 +2684,11 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state, + true; + } + +- update_planes_and_stream_adapter(dm->dc, +- UPDATE_TYPE_FULL, +- dc_state->stream_status->plane_count, +- dc_state->streams[k], +- &bundle->stream_update, +- bundle->surface_updates); ++ dc_update_planes_and_stream(dm->dc, ++ bundle->surface_updates, ++ dc_state->stream_status->plane_count, ++ dc_state->streams[k], ++ &bundle->stream_update); + } + + cleanup: +@@ -8230,12 +8200,11 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, + acrtc_state->stream->link->psr_settings.psr_allow_active) + amdgpu_dm_psr_disable(acrtc_state->stream); + +- update_planes_and_stream_adapter(dm->dc, +- acrtc_state->update_type, +- planes_count, +- acrtc_state->stream, +- &bundle->stream_update, +- bundle->surface_updates); ++ dc_update_planes_and_stream(dm->dc, ++ bundle->surface_updates, ++ planes_count, ++ acrtc_state->stream, ++ &bundle->stream_update); + + /** + * Enable or disable the interrupts on the backend. +-- +2.41.0 + diff --git a/SOURCES/0003-Revert-da2d907e051d591717d00e28e67ab341b961fd05.patch b/SOURCES/0003-Revert-da2d907e051d591717d00e28e67ab341b961fd05.patch new file mode 100644 index 0000000..d50d2f9 --- /dev/null +++ b/SOURCES/0003-Revert-da2d907e051d591717d00e28e67ab341b961fd05.patch @@ -0,0 +1,68 @@ +From 2807b9c336cf5df749e18a258c44669db55bc30e Mon Sep 17 00:00:00 2001 +From: GloriousEggroll +Date: Wed, 5 Jul 2023 16:02:36 -0600 +Subject: [PATCH 3/3] Revert da2d907e051d591717d00e28e67ab341b961fd05 + +--- + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 30 +++++++++---------- + 1 file changed, 15 insertions(+), 15 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 ae58f24be..289c261ff 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -2683,12 +2683,10 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state, + bundle->surface_updates[m].surface->force_full_update = + true; + } +- +- dc_update_planes_and_stream(dm->dc, +- bundle->surface_updates, ++ dc_commit_updates_for_stream( ++ dm->dc, bundle->surface_updates, + dc_state->stream_status->plane_count, +- dc_state->streams[k], +- &bundle->stream_update); ++ dc_state->streams[k], &bundle->stream_update, dc_state); + } + + cleanup: +@@ -8200,11 +8198,12 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state, + acrtc_state->stream->link->psr_settings.psr_allow_active) + amdgpu_dm_psr_disable(acrtc_state->stream); + +- dc_update_planes_and_stream(dm->dc, +- bundle->surface_updates, +- planes_count, +- acrtc_state->stream, +- &bundle->stream_update); ++ dc_commit_updates_for_stream(dm->dc, ++ bundle->surface_updates, ++ planes_count, ++ acrtc_state->stream, ++ &bundle->stream_update, ++ dc_state); + + /** + * Enable or disable the interrupts on the backend. +@@ -8742,11 +8741,12 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state) + + + mutex_lock(&dm->dc_lock); +- dc_update_planes_and_stream(dm->dc, +- dummy_updates, +- status->plane_count, +- dm_new_crtc_state->stream, +- &stream_update); ++ dc_commit_updates_for_stream(dm->dc, ++ dummy_updates, ++ status->plane_count, ++ dm_new_crtc_state->stream, ++ &stream_update, ++ dc_state); + mutex_unlock(&dm->dc_lock); + } + +-- +2.41.0 + diff --git a/SPECS/kernel.spec b/SPECS/kernel.spec index c672688..68d900e 100644 --- a/SPECS/kernel.spec +++ b/SPECS/kernel.spec @@ -151,7 +151,7 @@ Summary: The Linux kernel # This is needed to do merge window version magic %define patchlevel 3 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 201%{?buildid}%{?dist} +%define specrelease 202%{?buildid}%{?dist} # This defines the kabi tarball version %define kabiversion 6.3.11 @@ -931,6 +931,10 @@ Patch405: mt76:-mt7921:-Disable-powersave-features-by-default.patch Patch408: 0001-acpi-proc-idle-skip-dummy-wait.patch Patch409: 0001-drm-i915-quirks-disable-async-flipping-on-specific-d.patch Patch410: 0002-drm-i915-add-kernel-parameter-to-disable-async-page-.patch +# reverts regression introduced in 6.3.10 +Patch411: 0001-Revert-b0cb56fc6e3096c9da04c30d9b501da84dae2b4f.patch +Patch412: 0002-Revert-1ca399f127e0a372537625b1d462ed586f5d9139.patch +Patch413: 0003-Revert-da2d907e051d591717d00e28e67ab341b961fd05.patch %endif @@ -1603,6 +1607,10 @@ ApplyOptionalPatch mt76:-mt7921:-Disable-powersave-features-by-default.patch ApplyOptionalPatch 0001-acpi-proc-idle-skip-dummy-wait.patch ApplyOptionalPatch 0001-drm-i915-quirks-disable-async-flipping-on-specific-d.patch ApplyOptionalPatch 0002-drm-i915-add-kernel-parameter-to-disable-async-page-.patch +# reverts regression introduced in 6.3.10 +ApplyOptionalPatch 0001-Revert-b0cb56fc6e3096c9da04c30d9b501da84dae2b4f.patch +ApplyOptionalPatch 0002-Revert-1ca399f127e0a372537625b1d462ed586f5d9139.patch +ApplyOptionalPatch 0003-Revert-da2d907e051d591717d00e28e67ab341b961fd05.patch %endif @@ -3448,6 +3456,9 @@ fi # # %changelog +* Thu Jul 06 2023 Jan Drögehoff - 6.3.11-202.fsync +- kernel-fsync v6.3.11 reverts + * Wed Jul 05 2023 Jan Drögehoff - 6.3.11-201.fsync - kernel-fsync v6.3.11 -- cgit v1.2.3