linux58-rc-tkg: RC4
This commit is contained in:
@@ -598,46 +598,3 @@ index d2fa3e9ccd97c..bd10cb02fc0ff 100644
|
||||
if (!strcmp(str, "force"))
|
||||
force_load = 1;
|
||||
if (!strcmp(str, "hwp_only"))
|
||||
|
||||
From 618c5a1236f179525d5f55beba23acf796581623 Mon Sep 17 00:00:00 2001
|
||||
From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
|
||||
Date: Mon, 29 Jun 2020 13:03:52 -0400
|
||||
Subject: [PATCH] drm/amd/display: Only revalidate bandwidth on medium and fast
|
||||
updates
|
||||
|
||||
[Why]
|
||||
Changes that are fast don't require updating DLG parameters making
|
||||
this call unnecessary. Considering this is an expensive call it should
|
||||
not be done on every flip.
|
||||
|
||||
[How]
|
||||
Guard the validation to only happen if update type isn't FAST.
|
||||
|
||||
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
|
||||
---
|
||||
drivers/gpu/drm/amd/display/dc/core/dc.c | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
|
||||
index 67402d75e67e..942ceb0f6383 100644
|
||||
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
|
||||
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
|
||||
@@ -2607,10 +2607,12 @@ void dc_commit_updates_for_stream(struct dc *dc,
|
||||
|
||||
copy_stream_update_to_stream(dc, context, stream, stream_update);
|
||||
|
||||
- if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
|
||||
- DC_ERROR("Mode validation failed for stream update!\n");
|
||||
- dc_release_state(context);
|
||||
- return;
|
||||
+ if (update_type > UPDATE_TYPE_FAST) {
|
||||
+ if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
|
||||
+ DC_ERROR("Mode validation failed for stream update!\n");
|
||||
+ dc_release_state(context);
|
||||
+ return;
|
||||
+ }
|
||||
}
|
||||
|
||||
commit_planes_for_stream(
|
||||
--
|
||||
2.25.1
|
||||
|
@@ -6723,14 +6723,14 @@ index 000000000000..02d7d5a67c77
|
||||
+{
|
||||
+ struct mm_struct *mm = current->active_mm;
|
||||
+
|
||||
+ BUG_ON(cpu_online(smp_processor_id()));
|
||||
+ BUG_ON(current != this_rq()->idle);
|
||||
+
|
||||
+ if (mm != &init_mm) {
|
||||
+ switch_mm(mm, &init_mm, current);
|
||||
+ current->active_mm = &init_mm;
|
||||
+ finish_arch_post_lock_switch();
|
||||
+ }
|
||||
+ mmdrop(mm);
|
||||
+
|
||||
+ /* finish_cpu(), as ran on the BP, will clean up the active_mm state */
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
@@ -8524,19 +8524,3 @@ index b5e3496cf803..0816db0b9c16 100644
|
||||
};
|
||||
struct wakeup_test_data *x = data;
|
||||
|
||||
diff --git a/kernel/cpu.c b/kernel/cpu.c
|
||||
index 244d305443773..90b77028233b0 100644
|
||||
--- a/kernel/cpu.c
|
||||
+++ b/kernel/cpu.c
|
||||
@@ -1565,7 +1565,11 @@ static struct cpuhp_step cpuhp_hp_states[] = {
|
||||
[CPUHP_BRINGUP_CPU] = {
|
||||
.name = "cpu:bringup",
|
||||
.startup.single = bringup_cpu,
|
||||
+#ifdef CONFIG_SCHED_PDS
|
||||
+ .teardown.single = NULL,
|
||||
+#else
|
||||
.teardown.single = finish_cpu,
|
||||
+#endif
|
||||
.cant_stop = true,
|
||||
},
|
||||
/* Final state before CPU kills itself */
|
||||
|
Reference in New Issue
Block a user