about summary refs log tree commit diff
path: root/overlays
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-06-24 09:41:29 +0000
committerAlyssa Ross <hi@alyssa.is>2021-06-24 10:06:58 +0000
commit67834ae1e9c70b78dd852d1bbd084f78711a6e4c (patch)
tree0c360bae8dadade4b8048b80d7a707d1a1f2c7da /overlays
parentadeaab219af83e98228d653da9b53157eaab69ec (diff)
downloadnixlib-67834ae1e9c70b78dd852d1bbd084f78711a6e4c.tar
nixlib-67834ae1e9c70b78dd852d1bbd084f78711a6e4c.tar.gz
nixlib-67834ae1e9c70b78dd852d1bbd084f78711a6e4c.tar.bz2
nixlib-67834ae1e9c70b78dd852d1bbd084f78711a6e4c.tar.lz
nixlib-67834ae1e9c70b78dd852d1bbd084f78711a6e4c.tar.xz
nixlib-67834ae1e9c70b78dd852d1bbd084f78711a6e4c.tar.zst
nixlib-67834ae1e9c70b78dd852d1bbd084f78711a6e4c.zip
kernelPatches.eve-backlight: update for Linux 5.12
Diffstat (limited to 'overlays')
-rw-r--r--overlays/patches/linux/eve-backlight.patch108
1 files changed, 73 insertions, 35 deletions
diff --git a/overlays/patches/linux/eve-backlight.patch b/overlays/patches/linux/eve-backlight.patch
index dcf1cc5505ea..c6dce0c263c9 100644
--- a/overlays/patches/linux/eve-backlight.patch
+++ b/overlays/patches/linux/eve-backlight.patch
@@ -1,7 +1,44 @@
-From 0154de6abf4f81c5d81b8391e931dc1f7071182f Mon Sep 17 00:00:00 2001
+From ed683c4365aa64e49ffdbdc7518cbee49fff6d9c Mon Sep 17 00:00:00 2001
+From: Alyssa Ross <hi@alyssa.is>
+Date: Thu, 24 Jun 2021 00:46:26 +0000
+Subject: [PATCH 1/3] Revert "drm/i915/dp: Don't use DPCD backlights that need
+ PWM enable/disable"
+
+This reverts commit fe7d52bccab674a22776a2f31236bf4232e85410.
+---
+ drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+index 4f8337c7fd2e0..87059df17e196 100644
+--- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
++++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
+@@ -586,14 +586,9 @@ intel_dp_aux_supports_vesa_backlight(struct intel_connector *connector)
+ 	struct drm_i915_private *i915 = dp_to_i915(intel_dp);
+ 
+ 	/* Check the eDP Display control capabilities registers to determine if
+-	 * the panel can support backlight control over the aux channel.
+-	 *
+-	 * TODO: We currently only support AUX only backlight configurations, not backlights which
+-	 * require a mix of PWM and AUX controls to work. In the mean time, these machines typically
+-	 * work just fine using normal PWM controls anyway.
++	 * the panel can support backlight control over the aux channel
+ 	 */
+ 	if (intel_dp->edp_dpcd[1] & DP_EDP_TCON_BACKLIGHT_ADJUSTMENT_CAP &&
+-	    (intel_dp->edp_dpcd[1] & DP_EDP_BACKLIGHT_AUX_ENABLE_CAP) &&
+ 	    (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_AUX_SET_CAP)) {
+ 		drm_dbg_kms(&i915->drm, "AUX Backlight Control Supported!\n");
+ 		return true;
+
+base-commit: 9f4ad9e425a1d3b6a34617b8ea226d56a119a717
+-- 
+2.31.1
+
+
+From 0bf263810adb88e3101bf1f2090fc562909d4e6c Mon Sep 17 00:00:00 2001
 From: Alyssa Ross <hi@alyssa.is>
 Date: Sun, 25 Apr 2021 08:19:45 +0000
-Subject: [PATCH 1/2] Revert "drm/i915/vbt: Fix backlight parsing for VBT 234+"
+Subject: [PATCH 2/3] Revert "drm/i915/vbt: Fix backlight parsing for VBT 234+"
 
 This reverts commit d381baad29b43511a7fc34c64402ef65029ab281.
 ---
@@ -10,7 +47,7 @@ This reverts commit d381baad29b43511a7fc34c64402ef65029ab281.
  2 files changed, 4 insertions(+), 38 deletions(-)
 
 diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
-index 4cc949b228f2d..f12975ef92428 100644
+index 987cf509337f2..e4e440c0e9aac 100644
 --- a/drivers/gpu/drm/i915/display/intel_bios.c
 +++ b/drivers/gpu/drm/i915/display/intel_bios.c
 @@ -425,7 +425,6 @@ parse_lfp_backlight(struct drm_i915_private *dev_priv,
@@ -64,10 +101,10 @@ index 4cc949b228f2d..f12975ef92428 100644
  }
  
 diff --git a/drivers/gpu/drm/i915/display/intel_vbt_defs.h b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
-index 49b4b5fca9411..9abdde1e68dc4 100644
+index 187ec573de59d..880a965c3b9a5 100644
 --- a/drivers/gpu/drm/i915/display/intel_vbt_defs.h
 +++ b/drivers/gpu/drm/i915/display/intel_vbt_defs.h
-@@ -782,7 +782,7 @@ struct lfp_backlight_data_entry {
+@@ -784,7 +784,7 @@ struct lfp_backlight_data_entry {
  	u8 active_low_pwm:1;
  	u8 obsolete1:5;
  	u16 pwm_freq_hz;
@@ -76,7 +113,7 @@ index 49b4b5fca9411..9abdde1e68dc4 100644
  	u8 obsolete2;
  	u8 obsolete3;
  } __packed;
-@@ -792,19 +792,11 @@ struct lfp_backlight_control_method {
+@@ -794,19 +794,11 @@ struct lfp_backlight_control_method {
  	u8 controller:4;
  } __packed;
  
@@ -98,12 +135,13 @@ index 49b4b5fca9411..9abdde1e68dc4 100644
  
  /*
 -- 
-2.31.0
+2.31.1
+
 
-From 280a1737103195768814b62e0b0b3d646a961c4a Mon Sep 17 00:00:00 2001
+From 53604e87914a96a9bb75b4f381720148b62b98da Mon Sep 17 00:00:00 2001
 From: Kevin Chowski <chowski@google.com>
 Date: Sat, 8 Aug 2020 15:40:51 -0600
-Subject: [PATCH 2/2] CHROMIUM: Changes needed for backlight control on Eve-5.4
+Subject: [PATCH 3/3] CHROMIUM: Changes needed for backlight control on Eve-5.4
 
  #1: Port https://crrev.com/c/439873 to the 5.4 tree
  #2: Port https://crrev.com/c/440445 to the 5.4 tree
@@ -156,14 +194,14 @@ Signed-off-by: Guenter Roeck <groeck@chromium.org>
  3 files changed, 139 insertions(+), 10 deletions(-)
 
 diff --git a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-index 51d27fc98d483..d76888863e7cf 100644
+index 87059df17e196..81ae9cf3bb44f 100644
 --- a/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
 +++ b/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c
-@@ -141,10 +141,16 @@ static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
+@@ -385,10 +385,16 @@ static bool intel_dp_aux_vesa_set_pwm_freq(struct intel_connector *connector)
  {
  	struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
  	struct intel_dp *intel_dp = intel_attached_dp(connector);
--	const u8 pn = connector->panel.backlight.pwmgen_bit_count;
+-	const u8 pn = connector->panel.backlight.edp.vesa.pwmgen_bit_count;
 -	int freq, fxp, f, fxp_actual, fxp_min, fxp_max;
 +	int freq, fxp, fxp_min, fxp_max, fxp_actual, f = 1;
 +	u8 pn, pn_min, pn_max;
@@ -178,7 +216,7 @@ index 51d27fc98d483..d76888863e7cf 100644
  	if (!freq) {
  		drm_dbg_kms(&dev_priv->drm,
  			    "Use panel default backlight frequency\n");
-@@ -152,18 +158,50 @@ static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
+@@ -396,18 +402,50 @@ static bool intel_dp_aux_vesa_set_pwm_freq(struct intel_connector *connector)
  	}
  
  	fxp = DIV_ROUND_CLOSEST(KHz(DP_EDP_BACKLIGHT_FREQ_BASE_KHZ), freq);
@@ -235,7 +273,7 @@ index 51d27fc98d483..d76888863e7cf 100644
  	if (drm_dp_dpcd_writeb(&intel_dp->aux,
  			       DP_EDP_BACKLIGHT_FREQ_SET, (u8) f) < 0) {
  		drm_dbg_kms(&dev_priv->drm,
-@@ -173,6 +211,26 @@ static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
+@@ -417,6 +455,26 @@ static bool intel_dp_aux_vesa_set_pwm_freq(struct intel_connector *connector)
  	return true;
  }
  
@@ -259,10 +297,10 @@ index 51d27fc98d483..d76888863e7cf 100644
 +	return true;
 +}
 +
- static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_state,
- 					  const struct drm_connector_state *conn_state)
- {
-@@ -213,6 +271,16 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
+ static void
+ intel_dp_aux_vesa_enable_backlight(const struct intel_crtc_state *crtc_state,
+ 				   const struct drm_connector_state *conn_state, u32 level)
+@@ -459,6 +517,16 @@ intel_dp_aux_vesa_enable_backlight(const struct intel_crtc_state *crtc_state,
  		break;
  	}
  
@@ -277,9 +315,9 @@ index 51d27fc98d483..d76888863e7cf 100644
 +	}
 +
  	if (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_FREQ_AUX_SET_CAP)
- 		if (intel_dp_aux_set_pwm_freq(connector))
+ 		if (intel_dp_aux_vesa_set_pwm_freq(connector))
  			new_dpcd_buf |= DP_EDP_BACKLIGHT_FREQ_AUX_SET_ENABLE;
-@@ -342,7 +410,7 @@ intel_dp_aux_display_control_capable(struct intel_connector *connector)
+@@ -588,7 +656,7 @@ intel_dp_aux_supports_vesa_backlight(struct intel_connector *connector)
  	/* Check the eDP Display control capabilities registers to determine if
  	 * the panel can support backlight control over the aux channel
  	 */
@@ -288,7 +326,7 @@ index 51d27fc98d483..d76888863e7cf 100644
  	    (intel_dp->edp_dpcd[2] & DP_EDP_BACKLIGHT_BRIGHTNESS_AUX_SET_CAP)) {
  		drm_dbg_kms(&i915->drm, "AUX Backlight Control Supported!\n");
  		return true;
-@@ -350,6 +418,59 @@ intel_dp_aux_display_control_capable(struct intel_connector *connector)
+@@ -596,6 +664,59 @@ intel_dp_aux_supports_vesa_backlight(struct intel_connector *connector)
  	return false;
  }
  
@@ -345,27 +383,27 @@ index 51d27fc98d483..d76888863e7cf 100644
 +
 +}
 +
- int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector)
- {
- 	struct intel_panel *panel = &intel_connector->panel;
-@@ -379,6 +500,10 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *intel_connector)
- 		return -ENODEV;
+ static const struct intel_panel_bl_funcs intel_dp_hdr_bl_funcs = {
+ 	.setup = intel_dp_aux_hdr_setup_backlight,
+ 	.enable = intel_dp_aux_hdr_enable_backlight,
+@@ -673,6 +794,10 @@ int intel_dp_aux_init_backlight_funcs(struct intel_connector *connector)
+ 		return 0;
  	}
  
 +	if (i915_modparams.enable_dpcd_backlight == -1 &&
-+	    !intel_dp_aux_display_control_heuristic(intel_connector))
++	    !intel_dp_aux_display_control_heuristic(connector))
 +		return -ENODEV;
 +
- 	panel->backlight.setup = intel_dp_aux_setup_backlight;
- 	panel->backlight.enable = intel_dp_aux_enable_backlight;
- 	panel->backlight.disable = intel_dp_aux_disable_backlight;
+ 	if (try_vesa_interface && intel_dp_aux_supports_vesa_backlight(connector)) {
+ 		drm_dbg_kms(dev, "Using VESA eDP backlight controls\n");
+ 		panel->backlight.funcs = &intel_dp_vesa_bl_funcs;
 diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
-index 7f139ea4a90b2..378fc905f2b78 100644
+index 6939634e56ed6..a2d31699b96a4 100644
 --- a/drivers/gpu/drm/i915/i915_params.c
 +++ b/drivers/gpu/drm/i915/i915_params.c
 @@ -187,6 +187,9 @@ i915_param_named(enable_dpcd_backlight, int, 0400,
  	"Enable support for DPCD backlight control"
- 	"(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enabled)");
+ 	"(-1=use per-VBT LFP backlight type setting [default], 0=disabled, 1=enable, 2=force VESA interface, 3=force Intel interface)");
  
 +i915_param_named(enable_dbc, bool, 0600,
 +	"Enable support for dynamic backlight control (default:false)");
@@ -374,10 +412,10 @@ index 7f139ea4a90b2..378fc905f2b78 100644
  i915_param_named(enable_gvt, bool, 0400,
  	"Enable support for Intel GVT-g graphics virtualization host support(default:false)");
 diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
-index 330c03e2b4f70..2340889d87834 100644
+index f031966af5b70..545b4a193e1d3 100644
 --- a/drivers/gpu/drm/i915/i915_params.h
 +++ b/drivers/gpu/drm/i915/i915_params.h
-@@ -80,7 +80,8 @@ struct drm_printer;
+@@ -81,7 +81,8 @@ struct drm_printer;
  	param(bool, verbose_state_checks, true, 0) \
  	param(bool, nuclear_pageflip, false, 0400) \
  	param(bool, enable_dp_mst, true, 0600) \
@@ -388,5 +426,5 @@ index 330c03e2b4f70..2340889d87834 100644
  #define MEMBER(T, member, ...) T member;
  struct i915_params {
 -- 
-2.31.0
+2.31.1