diff mbox series

[3/6] drm/i915: Introduce i9xx_has_pps()

Message ID 20190318165633.28924-3-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [1/6] drm/i915: Reorder gen3/4 swizzle detection logic | expand

Commit Message

Ville Syrjälä March 18, 2019, 4:56 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Add a small helper to determine if we have the panel power
sequencer or not. We'll make PNV an exceptional case so
that we can unset .is_mobile for the desktop variant.

Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

Tvrtko Ursulin March 19, 2019, 1:26 p.m. UTC | #1
On 18/03/2019 16:56, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Add a small helper to determine if we have the panel power
> sequencer or not. We'll make PNV an exceptional case so
> that we can unset .is_mobile for the desktop variant.
> 
> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>   drivers/gpu/drm/i915/intel_display.c | 10 +++++++++-
>   1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 0ddd83dbd768..2ba61181746d 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -1441,6 +1441,14 @@ static void chv_enable_pll(struct intel_crtc *crtc,
>   	}
>   }
>   
> +static bool i9xx_has_pps(struct drm_i915_private *dev_priv)
> +{
> +	if (IS_I830(dev_priv))
> +		return false;
> +
> +	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
> +}
> +
>   static void i9xx_enable_pll(struct intel_crtc *crtc,
>   			    const struct intel_crtc_state *crtc_state)
>   {
> @@ -1452,7 +1460,7 @@ static void i9xx_enable_pll(struct intel_crtc *crtc,
>   	assert_pipe_disabled(dev_priv, crtc->pipe);
>   
>   	/* PLL is protected by panel, make sure we can write it */
> -	if (IS_MOBILE(dev_priv) && !IS_I830(dev_priv))
> +	if (i9xx_has_pps(dev_priv))
>   		assert_panel_unlocked(dev_priv, crtc->pipe);
>   
>   	/*
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Regards,

Tvrtko
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0ddd83dbd768..2ba61181746d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1441,6 +1441,14 @@  static void chv_enable_pll(struct intel_crtc *crtc,
 	}
 }
 
+static bool i9xx_has_pps(struct drm_i915_private *dev_priv)
+{
+	if (IS_I830(dev_priv))
+		return false;
+
+	return IS_PINEVIEW(dev_priv) || IS_MOBILE(dev_priv);
+}
+
 static void i9xx_enable_pll(struct intel_crtc *crtc,
 			    const struct intel_crtc_state *crtc_state)
 {
@@ -1452,7 +1460,7 @@  static void i9xx_enable_pll(struct intel_crtc *crtc,
 	assert_pipe_disabled(dev_priv, crtc->pipe);
 
 	/* PLL is protected by panel, make sure we can write it */
-	if (IS_MOBILE(dev_priv) && !IS_I830(dev_priv))
+	if (i9xx_has_pps(dev_priv))
 		assert_panel_unlocked(dev_priv, crtc->pipe);
 
 	/*