55 lines
2.4 KiB
Diff
55 lines
2.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jan200101 <sentrycraft123@gmail.com>
|
|
Date: Wed, 8 Mar 2023 20:51:16 +0100
|
|
Subject: [PATCH] drm/i915: add kernel parameter to disable async page flipping
|
|
|
|
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
|
---
|
|
drivers/gpu/drm/i915/display/intel_display_driver.c | 2 +-
|
|
drivers/gpu/drm/i915/i915_params.c | 4 ++++
|
|
drivers/gpu/drm/i915/i915_params.h | 3 ++-
|
|
3 files changed, 7 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
|
|
index ade744cccfea..119be26b5641 100644
|
|
--- a/drivers/gpu/drm/i915/i915_params.c
|
|
+++ b/drivers/gpu/drm/i915/i915_params.c
|
|
@@ -222,6 +222,10 @@ i915_param_named_unsafe(lmem_size, uint, 0400,
|
|
i915_param_named_unsafe(lmem_bar_size, uint, 0400,
|
|
"Set the lmem bar size(in MiB).");
|
|
|
|
+i915_param_named_unsafe(disable_async_page_flip, bool, 0400,
|
|
+ "Disable async page flipping"
|
|
+ "(0=disabled [default], 1=enabled)");
|
|
+
|
|
static void _param_print_bool(struct drm_printer *p, const char *name,
|
|
bool val)
|
|
{
|
|
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
|
|
index 3f51f90145b6..37f25ec1b874 100644
|
|
--- a/drivers/gpu/drm/i915/i915_params.h
|
|
+++ b/drivers/gpu/drm/i915/i915_params.h
|
|
@@ -85,7 +85,8 @@ struct drm_printer;
|
|
param(bool, verbose_state_checks, true, 0) \
|
|
param(bool, nuclear_pageflip, false, 0400) \
|
|
param(bool, enable_dp_mst, true, 0600) \
|
|
- param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0)
|
|
+ param(bool, enable_gvt, false, IS_ENABLED(CONFIG_DRM_I915_GVT) ? 0400 : 0) \
|
|
+ param(bool, disable_async_page_flip, false, 0400)
|
|
|
|
#define MEMBER(T, member, ...) T member;
|
|
struct i915_params {
|
|
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
|
|
index b909814ae..918b8b589 100644
|
|
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
|
|
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
|
|
@@ -121,7 +121,7 @@ static void intel_mode_config_init(struct drm_i915_private *i915)
|
|
mode_config->funcs = &intel_mode_funcs;
|
|
mode_config->helper_private = &intel_mode_config_funcs;
|
|
|
|
- mode_config->async_page_flip = HAS_ASYNC_FLIPS(i915);
|
|
+ mode_config->async_page_flip = HAS_ASYNC_FLIPS(i915) && !i915->params.disable_async_page_flip;
|
|
|
|
/*
|
|
* Maximum framebuffer dimensions, chosen to match
|