diff mbox

[v2,3/3] drm/i915: don't hard code vlv backlight frequency if unset

Message ID 1441374915-14076-3-git-send-email-jani.nikula@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jani Nikula Sept. 4, 2015, 1:55 p.m. UTC
Fall back to VBT based backlight modulation frequency if it's not
set. Do not hard code.

This could be a problem if there is no VBT.

Cc: Clint Taylor <clinton.a.taylor@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/intel_panel.c | 13 -------------
 1 file changed, 13 deletions(-)

Comments

Taylor, Clinton A Sept. 4, 2015, 10:42 p.m. UTC | #1
On 09/04/2015 06:55 AM, Jani Nikula wrote:
> Fall back to VBT based backlight modulation frequency if it's not
> set. Do not hard code.
>
> This could be a problem if there is no VBT.
>
> Cc: Clint Taylor <clinton.a.taylor@intel.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>   drivers/gpu/drm/i915/intel_panel.c | 13 -------------
>   1 file changed, 13 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> index d3a312c409eb..2034438a0664 100644
> --- a/drivers/gpu/drm/i915/intel_panel.c
> +++ b/drivers/gpu/drm/i915/intel_panel.c
> @@ -1532,21 +1532,8 @@ static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe
>   	struct drm_device *dev = connector->base.dev;
>   	struct drm_i915_private *dev_priv = dev->dev_private;
>   	struct intel_panel *panel = &connector->panel;
> -	enum pipe p;
>   	u32 ctl, ctl2, val;
>
> -	for_each_pipe(dev_priv, p) {
> -		u32 cur_val = I915_READ(VLV_BLC_PWM_CTL(p));
> -
> -		/* Skip if the modulation freq is already set */
> -		if (cur_val & ~BACKLIGHT_DUTY_CYCLE_MASK)
> -			continue;
> -
> -		cur_val &= BACKLIGHT_DUTY_CYCLE_MASK;
> -		I915_WRITE(VLV_BLC_PWM_CTL(p), (0xf42 << 16) |
> -			   cur_val);
> -	}
> -
>   	if (WARN_ON(pipe != PIPE_A && pipe != PIPE_B))
>   		return -ENODEV;
>
>

Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Tested-by: Clint Taylor <Clinton.A.Taylor@intel.com>
Daniel Vetter Sept. 7, 2015, 4:30 p.m. UTC | #2
On Fri, Sep 04, 2015 at 03:42:54PM -0700, Clint Taylor wrote:
> On 09/04/2015 06:55 AM, Jani Nikula wrote:
> >Fall back to VBT based backlight modulation frequency if it's not
> >set. Do not hard code.
> >
> >This could be a problem if there is no VBT.
> >
> >Cc: Clint Taylor <clinton.a.taylor@intel.com>
> >Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >---
> >  drivers/gpu/drm/i915/intel_panel.c | 13 -------------
> >  1 file changed, 13 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
> >index d3a312c409eb..2034438a0664 100644
> >--- a/drivers/gpu/drm/i915/intel_panel.c
> >+++ b/drivers/gpu/drm/i915/intel_panel.c
> >@@ -1532,21 +1532,8 @@ static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe
> >  	struct drm_device *dev = connector->base.dev;
> >  	struct drm_i915_private *dev_priv = dev->dev_private;
> >  	struct intel_panel *panel = &connector->panel;
> >-	enum pipe p;
> >  	u32 ctl, ctl2, val;
> >
> >-	for_each_pipe(dev_priv, p) {
> >-		u32 cur_val = I915_READ(VLV_BLC_PWM_CTL(p));
> >-
> >-		/* Skip if the modulation freq is already set */
> >-		if (cur_val & ~BACKLIGHT_DUTY_CYCLE_MASK)
> >-			continue;
> >-
> >-		cur_val &= BACKLIGHT_DUTY_CYCLE_MASK;
> >-		I915_WRITE(VLV_BLC_PWM_CTL(p), (0xf42 << 16) |
> >-			   cur_val);
> >-	}
> >-
> >  	if (WARN_ON(pipe != PIPE_A && pipe != PIPE_B))
> >  		return -ENODEV;
> >
> >
> 
> Reviewed-by: Clint Taylor <Clinton.A.Taylor@intel.com>
> Tested-by: Clint Taylor <Clinton.A.Taylor@intel.com>

Pulled in all 3 patches to dinq, thanks.
-Daniel
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index d3a312c409eb..2034438a0664 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -1532,21 +1532,8 @@  static int vlv_setup_backlight(struct intel_connector *connector, enum pipe pipe
 	struct drm_device *dev = connector->base.dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_panel *panel = &connector->panel;
-	enum pipe p;
 	u32 ctl, ctl2, val;
 
-	for_each_pipe(dev_priv, p) {
-		u32 cur_val = I915_READ(VLV_BLC_PWM_CTL(p));
-
-		/* Skip if the modulation freq is already set */
-		if (cur_val & ~BACKLIGHT_DUTY_CYCLE_MASK)
-			continue;
-
-		cur_val &= BACKLIGHT_DUTY_CYCLE_MASK;
-		I915_WRITE(VLV_BLC_PWM_CTL(p), (0xf42 << 16) |
-			   cur_val);
-	}
-
 	if (WARN_ON(pipe != PIPE_A && pipe != PIPE_B))
 		return -ENODEV;