mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-06 15:13:51 +02:00
linux5.6: update to 5.6.13.
This commit is contained in:
parent
b39376a09e
commit
ff404a5c8c
2 changed files with 2 additions and 82 deletions
|
@ -1,80 +0,0 @@
|
||||||
From 0539bf1adfbbb04db0eda74e487fb16d7c5f8570 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Daniel Kolesa <daniel@octaforge.org>
|
|
||||||
Date: Wed, 29 Apr 2020 16:51:37 +0200
|
|
||||||
Subject: [PATCH] drm/amd/display: work around fp code being emitted outside of
|
|
||||||
DC_FP_START/END
|
|
||||||
|
|
||||||
The dcn20_validate_bandwidth function would have code touching the
|
|
||||||
incorrect registers emitted outside of the boundaries of the
|
|
||||||
DC_FP_START/END macros, at least on ppc64le. Work around the
|
|
||||||
problem by wrapping the whole function instead.
|
|
||||||
|
|
||||||
Signed-off-by: Daniel Kolesa <daniel@octaforge.org>
|
|
||||||
---
|
|
||||||
.../drm/amd/display/dc/dcn20/dcn20_resource.c | 31 ++++++++++++++-----
|
|
||||||
1 file changed, 23 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
|
|
||||||
index e310d67..1b0bca9 100644
|
|
||||||
--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
|
|
||||||
+++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
|
|
||||||
@@ -3034,25 +3034,32 @@ static bool dcn20_validate_bandwidth_internal(struct dc *dc, struct dc_state *co
|
|
||||||
return out;
|
|
||||||
}
|
|
||||||
|
|
||||||
-
|
|
||||||
-bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
|
|
||||||
- bool fast_validate)
|
|
||||||
+/*
|
|
||||||
+ * This must be noinline to ensure anything that deals with FP registers
|
|
||||||
+ * is contained within this call; previously our compiling with hard-float
|
|
||||||
+ * would result in fp instructions being emitted outside of the boundaries
|
|
||||||
+ * of the DC_FP_START/END macros, which makes sense as the compiler has no
|
|
||||||
+ * idea about what is wrapped and what is not
|
|
||||||
+ *
|
|
||||||
+ * This is largely just a workaround to avoid breakage introduced with 5.6,
|
|
||||||
+ * ideally all fp-using code should be moved into its own file, only that
|
|
||||||
+ * should be compiled with hard-float, and all code exported from there
|
|
||||||
+ * should be strictly wrapped with DC_FP_START/END
|
|
||||||
+ */
|
|
||||||
+static noinline bool dcn20_validate_bandwidth_fp(struct dc *dc,
|
|
||||||
+ struct dc_state *context, bool fast_validate)
|
|
||||||
{
|
|
||||||
bool voltage_supported = false;
|
|
||||||
bool full_pstate_supported = false;
|
|
||||||
bool dummy_pstate_supported = false;
|
|
||||||
double p_state_latency_us;
|
|
||||||
|
|
||||||
- DC_FP_START();
|
|
||||||
p_state_latency_us = context->bw_ctx.dml.soc.dram_clock_change_latency_us;
|
|
||||||
context->bw_ctx.dml.soc.disable_dram_clock_change_vactive_support =
|
|
||||||
dc->debug.disable_dram_clock_change_vactive_support;
|
|
||||||
|
|
||||||
if (fast_validate) {
|
|
||||||
- voltage_supported = dcn20_validate_bandwidth_internal(dc, context, true);
|
|
||||||
-
|
|
||||||
- DC_FP_END();
|
|
||||||
- return voltage_supported;
|
|
||||||
+ return dcn20_validate_bandwidth_internal(dc, context, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Best case, we support full UCLK switch latency
|
|
||||||
@@ -3081,7 +3088,15 @@ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
|
|
||||||
|
|
||||||
restore_dml_state:
|
|
||||||
context->bw_ctx.dml.soc.dram_clock_change_latency_us = p_state_latency_us;
|
|
||||||
+ return voltage_supported;
|
|
||||||
+}
|
|
||||||
|
|
||||||
+bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
|
|
||||||
+ bool fast_validate)
|
|
||||||
+{
|
|
||||||
+ bool voltage_supported = false;
|
|
||||||
+ DC_FP_START();
|
|
||||||
+ voltage_supported = dcn20_validate_bandwidth_fp(dc, context, fast_validate);
|
|
||||||
DC_FP_END();
|
|
||||||
return voltage_supported;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.26.2
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Template file for 'linux5.6'
|
# Template file for 'linux5.6'
|
||||||
pkgname=linux5.6
|
pkgname=linux5.6
|
||||||
version=5.6.11
|
version=5.6.13
|
||||||
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="Orphaned <orphan@voidlinux.org>"
|
||||||
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=d6dd6cbe99429f088eddb248abce7832e8f8e45eb072cbf0d0f86b5b87221baa
|
checksum=f125d79c8f6974213638787adcad6b575bbd35a05851802fd83f622ec18ff987
|
||||||
python_version=3
|
python_version=3
|
||||||
patch_args="-Np1"
|
patch_args="-Np1"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue