From 80ec4d297c78e381645a566b4d65c7c1cfb8029d Mon Sep 17 00:00:00 2001 From: Frank Steinborn Date: Tue, 1 Oct 2019 19:28:16 +0200 Subject: [PATCH] linux5.3: update to 5.3.2. [skip ci] --- ...-async-updates-for-framebuffer-swaps.patch | 25 ----------- ...mining-update-type-for-async-updates.patch | 45 ------------------- ...eplace-the-dc_state-for-fast-updates.patch | 34 -------------- srcpkgs/linux5.3/template | 4 +- 4 files changed, 2 insertions(+), 106 deletions(-) delete mode 100644 srcpkgs/linux5.3/patches/1-3-drm-amd-display-Allow-cursor-async-updates-for-framebuffer-swaps.patch delete mode 100644 srcpkgs/linux5.3/patches/2-3-drm-amd-display-Skip-determining-update-type-for-async-updates.patch delete mode 100644 srcpkgs/linux5.3/patches/3-3-drm-amd-display-Don-t-replace-the-dc_state-for-fast-updates.patch diff --git a/srcpkgs/linux5.3/patches/1-3-drm-amd-display-Allow-cursor-async-updates-for-framebuffer-swaps.patch b/srcpkgs/linux5.3/patches/1-3-drm-amd-display-Allow-cursor-async-updates-for-framebuffer-swaps.patch deleted file mode 100644 index a48b10261d..0000000000 --- a/srcpkgs/linux5.3/patches/1-3-drm-amd-display-Allow-cursor-async-updates-for-framebuffer-swaps.patch +++ /dev/null @@ -1,25 +0,0 @@ -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 040169180a63..2efb0eadf602 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -4504,20 +4504,10 @@ static int dm_plane_atomic_check(struct drm_plane *plane, - static int dm_plane_atomic_async_check(struct drm_plane *plane, - struct drm_plane_state *new_plane_state) - { -- struct drm_plane_state *old_plane_state = -- drm_atomic_get_old_plane_state(new_plane_state->state, plane); -- - /* Only support async updates on cursor planes. */ - if (plane->type != DRM_PLANE_TYPE_CURSOR) - return -EINVAL; - -- /* -- * DRM calls prepare_fb and cleanup_fb on new_plane_state for -- * async commits so don't allow fb changes. -- */ -- if (old_plane_state->fb != new_plane_state->fb) -- return -EINVAL; -- - return 0; - } - diff --git a/srcpkgs/linux5.3/patches/2-3-drm-amd-display-Skip-determining-update-type-for-async-updates.patch b/srcpkgs/linux5.3/patches/2-3-drm-amd-display-Skip-determining-update-type-for-async-updates.patch deleted file mode 100644 index 427a86f24e..0000000000 --- a/srcpkgs/linux5.3/patches/2-3-drm-amd-display-Skip-determining-update-type-for-async-updates.patch +++ /dev/null @@ -1,45 +0,0 @@ -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 2efb0eadf602..4c90662e9fa2 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -7216,6 +7216,26 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, - if (ret) - goto fail; - -+ if (state->legacy_cursor_update) { -+ /* -+ * This is a fast cursor update coming from the plane update -+ * helper, check if it can be done asynchronously for better -+ * performance. -+ */ -+ state->async_update = -+ !drm_atomic_helper_async_check(dev, state); -+ -+ /* -+ * Skip the remaining global validation if this is an async -+ * update. Cursor updates can be done without affecting -+ * state or bandwidth calcs and this avoids the performance -+ * penalty of locking the private state object and -+ * allocating a new dc_state. -+ */ -+ if (state->async_update) -+ return 0; -+ } -+ - /* Check scaling and underscan changes*/ - /* TODO Removed scaling changes validation due to inability to commit - * new stream into context w\o causing full reset. Need to -@@ -7268,13 +7288,6 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, - ret = -EINVAL; - goto fail; - } -- } else if (state->legacy_cursor_update) { -- /* -- * This is a fast cursor update coming from the plane update -- * helper, check if it can be done asynchronously for better -- * performance. -- */ -- state->async_update = !drm_atomic_helper_async_check(dev, state); - } - - /* Must be success */ diff --git a/srcpkgs/linux5.3/patches/3-3-drm-amd-display-Don-t-replace-the-dc_state-for-fast-updates.patch b/srcpkgs/linux5.3/patches/3-3-drm-amd-display-Don-t-replace-the-dc_state-for-fast-updates.patch deleted file mode 100644 index 95da9b69e2..0000000000 --- a/srcpkgs/linux5.3/patches/3-3-drm-amd-display-Don-t-replace-the-dc_state-for-fast-updates.patch +++ /dev/null @@ -1,34 +0,0 @@ -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 4c90662e9fa2..fe5291b16193 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -7288,6 +7288,29 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, - ret = -EINVAL; - goto fail; - } -+ } else { -+ /* -+ * The commit is a fast update. Fast updates shouldn't change -+ * the DC context, affect global validation, and can have their -+ * commit work done in parallel with other commits not touching -+ * the same resource. If we have a new DC context as part of -+ * the DM atomic state from validation we need to free it and -+ * retain the existing one instead. -+ */ -+ struct dm_atomic_state *new_dm_state, *old_dm_state; -+ -+ new_dm_state = dm_atomic_get_new_state(state); -+ old_dm_state = dm_atomic_get_old_state(state); -+ -+ if (new_dm_state && old_dm_state) { -+ if (new_dm_state->context) -+ dc_release_state(new_dm_state->context); -+ -+ new_dm_state->context = old_dm_state->context; -+ -+ if (old_dm_state->context) -+ dc_retain_state(old_dm_state->context); -+ } - } - - /* Must be success */ diff --git a/srcpkgs/linux5.3/template b/srcpkgs/linux5.3/template index 60bd08da6f..e20503ad75 100644 --- a/srcpkgs/linux5.3/template +++ b/srcpkgs/linux5.3/template @@ -1,6 +1,6 @@ # Template file for 'linux5.3' pkgname=linux5.3 -version=5.3.1 +version=5.3.2 revision=1 wrksrc="linux-${version}" short_desc="Linux kernel and modules (${version%.*} series)" @@ -8,7 +8,7 @@ maintainer="Foxlet " license="GPL-2.0-only" homepage="https://www.kernel.org" distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz" -checksum=9890b5a909d316211d045a95f5f0680e39749f2319cb26d7cd067efaa692f858 +checksum=361f9c953bb5ca7dbc922c3f698170523667f6a2f43961ffb88fa47b6b10fc6b patch_args="-Np1" nodebug=yes # -dbg package is generated below manually