linux5.3: update to 5.3.2.
[skip ci]
This commit is contained in:
parent
a7c297c7ab
commit
80ec4d297c
4 changed files with 2 additions and 106 deletions
|
@ -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;
|
|
||||||
}
|
|
||||||
|
|
|
@ -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 */
|
|
|
@ -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 */
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Template file for 'linux5.3'
|
# Template file for 'linux5.3'
|
||||||
pkgname=linux5.3
|
pkgname=linux5.3
|
||||||
version=5.3.1
|
version=5.3.2
|
||||||
revision=1
|
revision=1
|
||||||
wrksrc="linux-${version}"
|
wrksrc="linux-${version}"
|
||||||
short_desc="Linux kernel and modules (${version%.*} series)"
|
short_desc="Linux kernel and modules (${version%.*} series)"
|
||||||
|
@ -8,7 +8,7 @@ maintainer="Foxlet <foxlet@furcode.co>"
|
||||||
license="GPL-2.0-only"
|
license="GPL-2.0-only"
|
||||||
homepage="https://www.kernel.org"
|
homepage="https://www.kernel.org"
|
||||||
distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
|
distfiles="https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${version}.tar.xz"
|
||||||
checksum=9890b5a909d316211d045a95f5f0680e39749f2319cb26d7cd067efaa692f858
|
checksum=361f9c953bb5ca7dbc922c3f698170523667f6a2f43961ffb88fa47b6b10fc6b
|
||||||
patch_args="-Np1"
|
patch_args="-Np1"
|
||||||
|
|
||||||
nodebug=yes # -dbg package is generated below manually
|
nodebug=yes # -dbg package is generated below manually
|
||||||
|
|
Loading…
Reference in a new issue