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'
|
||||
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 <foxlet@furcode.co>"
|
|||
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
|
||||
|
|
Loading…
Reference in a new issue