[Intel-gfx] [PATCH] Revert "drm/i915: Add option to support dynamic backlight via DPCD"

Jani Nikula jani.nikula at intel.com
Wed Jul 5 10:03:46 UTC 2017


On Tue, 04 Jul 2017, David Weinehall <david.weinehall at linux.intel.com> wrote:
> This reverts commit ae25eceab616d16a07bcaa434b84463d58a3bdc3.
>
> The introduction of dynamic backlight control causes
> Lenovo ThinkPad X1 Carbon 4th Gen to boot to a black screen;
> presumably the backlight is off.

Oh, I thought reverting just this commit was not enough for you, based
on the previous discussion in the patch thread. If this is enough, and
the DPCD backlight by default works for you, I might be inclined to go
with just defaulting to false here.

BR,
Jani.


>
> Signed-off-by: David Weinehall <david.weinehall at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_params.c            |  5 -----
>  drivers/gpu/drm/i915/i915_params.h            |  3 +--
>  drivers/gpu/drm/i915/intel_dp_aux_backlight.c | 26 --------------------------
>  3 files changed, 1 insertion(+), 33 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 88b9d3e6713a..5b5ab15d191f 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -65,7 +65,6 @@ struct i915_params i915 __read_mostly = {
>  	.inject_load_failure = 0,
>  	.enable_dpcd_backlight = -1,
>  	.enable_gvt = false,
> -	.enable_dbc = true,
>  };
>  
>  module_param_named(modeset, i915.modeset, int, 0400);
> @@ -255,7 +254,3 @@ MODULE_PARM_DESC(enable_dpcd_backlight,
>  module_param_named(enable_gvt, i915.enable_gvt, bool, 0400);
>  MODULE_PARM_DESC(enable_gvt,
>  	"Enable support for Intel GVT-g graphics virtualization host support(default:false)");
> -
> -module_param_named_unsafe(enable_dbc, i915.enable_dbc, bool, 0600);
> -MODULE_PARM_DESC(enable_dbc,
> -	"Enable support for dynamic backlight control (default:true)");
> diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
> index 057e203e6bda..0d6cf9138dc4 100644
> --- a/drivers/gpu/drm/i915/i915_params.h
> +++ b/drivers/gpu/drm/i915/i915_params.h
> @@ -67,8 +67,7 @@
>  	func(bool, verbose_state_checks); \
>  	func(bool, nuclear_pageflip); \
>  	func(bool, enable_dp_mst); \
> -	func(bool, enable_gvt); \
> -	func(bool, enable_dbc)
> +	func(bool, enable_gvt)
>  
>  #define MEMBER(T, member) T member
>  struct i915_params {
> diff --git a/drivers/gpu/drm/i915/intel_dp_aux_backlight.c b/drivers/gpu/drm/i915/intel_dp_aux_backlight.c
> index b25cd88fc1c5..fea161727c6e 100644
> --- a/drivers/gpu/drm/i915/intel_dp_aux_backlight.c
> +++ b/drivers/gpu/drm/i915/intel_dp_aux_backlight.c
> @@ -173,24 +173,6 @@ static bool intel_dp_aux_set_pwm_freq(struct intel_connector *connector)
>  	return true;
>  }
>  
> -/*
> -* Set minimum / maximum dynamic brightness percentage. This value is expressed
> -* as the percentage of normal brightness in 5% increments.
> -*/
> -static bool
> -intel_dp_aux_set_dynamic_backlight_percent(struct intel_dp *intel_dp,
> -					   u32 min, u32 max)
> -{
> -	u8 dbc[] = { DIV_ROUND_CLOSEST(min, 5), DIV_ROUND_CLOSEST(max, 5) };
> -
> -	if (drm_dp_dpcd_write(&intel_dp->aux, DP_EDP_DBC_MINIMUM_BRIGHTNESS_SET,
> -			  dbc, sizeof(dbc)) < 0) {
> -		DRM_DEBUG_KMS("Failed to write aux DBC brightness level\n");
> -		return false;
> -	}
> -	return true;
> -}
> -
>  static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_state,
>  					  const struct drm_connector_state *conn_state)
>  {
> @@ -226,14 +208,6 @@ static void intel_dp_aux_enable_backlight(const struct intel_crtc_state *crtc_st
>  		if (intel_dp_aux_set_pwm_freq(connector))
>  			new_dpcd_buf |= DP_EDP_BACKLIGHT_FREQ_AUX_SET_ENABLE;
>  
> -	if (i915.enable_dbc &&
> -	    (intel_dp->edp_dpcd[2] & DP_EDP_DYNAMIC_BACKLIGHT_CAP)) {
> -		if(intel_dp_aux_set_dynamic_backlight_percent(intel_dp, 0, 100)) {
> -			new_dpcd_buf |= DP_EDP_DYNAMIC_BACKLIGHT_ENABLE;
> -			DRM_DEBUG_KMS("Enable dynamic brightness.\n");
> -		}
> -	}
> -
>  	if (new_dpcd_buf != dpcd_buf) {
>  		if (drm_dp_dpcd_writeb(&intel_dp->aux,
>  			DP_EDP_BACKLIGHT_MODE_SET_REGISTER, new_dpcd_buf) < 0) {

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list