diff mbox series

[v3,2/2] drm/i915/hdcp: No direct access to power_well desc

Message ID 20200805114521.867-3-anshuman.gupta@intel.com (mailing list archive)
State New, archived
Headers show
Series HDCP minor refactoring | expand

Commit Message

Gupta, Anshuman Aug. 5, 2020, 11:45 a.m. UTC
HDCP code doesn't require to access power_well internal stuff,
instead it should use the intel_display_power_well_is_enabled()
to get the status of desired power_well.
No functional change.

v2:
- used with_intel_runtime_pm instead of get/put. [Jani]
v3:
- rebased.

Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
 drivers/gpu/drm/i915/display/intel_hdcp.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

Comments

Ramalingam C Aug. 5, 2020, 1:32 p.m. UTC | #1
On 2020-08-05 at 17:15:21 +0530, Anshuman Gupta wrote:
> HDCP code doesn't require to access power_well internal stuff,
> instead it should use the intel_display_power_well_is_enabled()
> to get the status of desired power_well.
> No functional change.
> 
> v2:
> - used with_intel_runtime_pm instead of get/put. [Jani]
> v3:
> - rebased.
> 
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
LGTM.

Reviewed-by: Ramalingam C <ramalingam.c@intel.com>

-Ram

> ---
>  drivers/gpu/drm/i915/display/intel_hdcp.c | 15 +++------------
>  1 file changed, 3 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
> index a1e0d518e529..e76b049618db 100644
> --- a/drivers/gpu/drm/i915/display/intel_hdcp.c
> +++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
> @@ -148,9 +148,8 @@ static int intel_hdcp_poll_ksv_fifo(struct intel_digital_port *dig_port,
>  
>  static bool hdcp_key_loadable(struct drm_i915_private *dev_priv)
>  {
> -	struct i915_power_domains *power_domains = &dev_priv->power_domains;
> -	struct i915_power_well *power_well;
>  	enum i915_power_well_id id;
> +	intel_wakeref_t wakeref;
>  	bool enabled = false;
>  
>  	/*
> @@ -162,17 +161,9 @@ static bool hdcp_key_loadable(struct drm_i915_private *dev_priv)
>  	else
>  		id = SKL_DISP_PW_1;
>  
> -	mutex_lock(&power_domains->lock);
> -
>  	/* PG1 (power well #1) needs to be enabled */
> -	for_each_power_well(dev_priv, power_well) {
> -		if (power_well->desc->id == id) {
> -			enabled = power_well->desc->ops->is_enabled(dev_priv,
> -								    power_well);
> -			break;
> -		}
> -	}
> -	mutex_unlock(&power_domains->lock);
> +	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref)
> +		enabled = intel_display_power_well_is_enabled(dev_priv, id);
>  
>  	/*
>  	 * Another req for hdcp key loadability is enabled state of pll for
> -- 
> 2.26.2
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index a1e0d518e529..e76b049618db 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -148,9 +148,8 @@  static int intel_hdcp_poll_ksv_fifo(struct intel_digital_port *dig_port,
 
 static bool hdcp_key_loadable(struct drm_i915_private *dev_priv)
 {
-	struct i915_power_domains *power_domains = &dev_priv->power_domains;
-	struct i915_power_well *power_well;
 	enum i915_power_well_id id;
+	intel_wakeref_t wakeref;
 	bool enabled = false;
 
 	/*
@@ -162,17 +161,9 @@  static bool hdcp_key_loadable(struct drm_i915_private *dev_priv)
 	else
 		id = SKL_DISP_PW_1;
 
-	mutex_lock(&power_domains->lock);
-
 	/* PG1 (power well #1) needs to be enabled */
-	for_each_power_well(dev_priv, power_well) {
-		if (power_well->desc->id == id) {
-			enabled = power_well->desc->ops->is_enabled(dev_priv,
-								    power_well);
-			break;
-		}
-	}
-	mutex_unlock(&power_domains->lock);
+	with_intel_runtime_pm(&dev_priv->runtime_pm, wakeref)
+		enabled = intel_display_power_well_is_enabled(dev_priv, id);
 
 	/*
 	 * Another req for hdcp key loadability is enabled state of pll for