[DPU PATCH 09/11] drm/msm/dp: remove dpu_power_handle calls from dp driver

Sean Paul seanpaul at chromium.org
Thu May 10 15:23:15 UTC 2018


On Thu, May 10, 2018 at 01:59:43PM +0530, Rajesh Yadav wrote:
> DP driver was dependent on dpu_power_handle for MDSS
> common clocks and gdsc (main power supply).
> The common clocks and power is managed by MDSS top
> wrapper device now which is parent of all sub-devices
> like DP device.
> For same reason, clock and power management code is
> removed from dpu_power_handle. Hence, remove the
> dpu_power_handle calls from dp driver.
> 
> Signed-off-by: Rajesh Yadav <ryadav at codeaurora.org>

Reviewed-by: Sean Paul <seanpaul at chromium.org>

> ---
>  drivers/gpu/drm/msm/dp/dp_power.c | 32 +-------------------------------
>  drivers/gpu/drm/msm/dp/dp_power.h |  4 +---
>  2 files changed, 2 insertions(+), 34 deletions(-)
> 
> diff --git a/drivers/gpu/drm/msm/dp/dp_power.c b/drivers/gpu/drm/msm/dp/dp_power.c
> index f6e341b..2a85b38 100644
> --- a/drivers/gpu/drm/msm/dp/dp_power.c
> +++ b/drivers/gpu/drm/msm/dp/dp_power.c
> @@ -26,8 +26,6 @@ struct dp_power_private {
>  	struct clk *pixel_parent;
>  
>  	struct dp_power dp_power;
> -	struct dpu_power_client *dp_core_client;
> -	struct dpu_power_handle *phandle;
>  
>  	bool core_clks_on;
>  	bool link_clks_on;
> @@ -410,8 +408,7 @@ static int dp_power_config_gpios(struct dp_power_private *power, bool flip,
>  	return 0;
>  }
>  
> -static int dp_power_client_init(struct dp_power *dp_power,
> -		struct dpu_power_handle *phandle)
> +static int dp_power_client_init(struct dp_power *dp_power)
>  {
>  	int rc = 0;
>  	struct dp_power_private *power;
> @@ -436,19 +433,8 @@ static int dp_power_client_init(struct dp_power *dp_power,
>  		goto error_clk;
>  	}
>  
> -	power->phandle = phandle;
> -	snprintf(dp_client_name, DP_CLIENT_NAME_SIZE, "dp_core_client");
> -	power->dp_core_client = dpu_power_client_create(phandle,
> -			dp_client_name);
> -	if (IS_ERR_OR_NULL(power->dp_core_client)) {
> -		pr_err("[%s] client creation failed for DP", dp_client_name);
> -		rc = -EINVAL;
> -		goto error_client;
> -	}
>  	return 0;
>  
> -error_client:
> -	dp_power_clk_init(power, false);
>  error_clk:
>  	dp_power_regulator_deinit(power);
>  error_power:
> @@ -466,7 +452,6 @@ static void dp_power_client_deinit(struct dp_power *dp_power)
>  
>  	power = container_of(dp_power, struct dp_power_private, dp_power);
>  
> -	dpu_power_client_destroy(power->phandle, power->dp_core_client);
>  	dp_power_clk_init(power, false);
>  	dp_power_regulator_deinit(power);
>  }
> @@ -521,13 +506,6 @@ static int dp_power_init(struct dp_power *dp_power, bool flip)
>  		goto err_gpio;
>  	}
>  
> -	rc = dpu_power_resource_enable(power->phandle,
> -		power->dp_core_client, true);
> -	if (rc) {
> -		pr_err("Power resource enable failed\n");
> -		goto err_dpu_power;
> -	}
> -
>  	rc = dp_power_clk_enable(dp_power, DP_CORE_PM, true);
>  	if (rc) {
>  		pr_err("failed to enable DP core clocks\n");
> @@ -537,8 +515,6 @@ static int dp_power_init(struct dp_power *dp_power, bool flip)
>  	return 0;
>  
>  err_clk:
> -	dpu_power_resource_enable(power->phandle, power->dp_core_client, false);
> -err_dpu_power:
>  	dp_power_config_gpios(power, flip, false);
>  err_gpio:
>  	dp_power_pinctrl_set(power, false);
> @@ -562,12 +538,6 @@ static int dp_power_deinit(struct dp_power *dp_power)
>  	power = container_of(dp_power, struct dp_power_private, dp_power);
>  
>  	dp_power_clk_enable(dp_power, DP_CORE_PM, false);
> -	rc = dpu_power_resource_enable(power->phandle,
> -			power->dp_core_client, false);
> -	if (rc) {
> -		pr_err("Power resource enable failed, rc=%d\n", rc);
> -		goto exit;
> -	}
>  	dp_power_config_gpios(power, false, false);
>  	dp_power_pinctrl_set(power, false);
>  	dp_power_regulator_ctrl(power, false);
> diff --git a/drivers/gpu/drm/msm/dp/dp_power.h b/drivers/gpu/drm/msm/dp/dp_power.h
> index 84fe01d..d9dab72 100644
> --- a/drivers/gpu/drm/msm/dp/dp_power.h
> +++ b/drivers/gpu/drm/msm/dp/dp_power.h
> @@ -16,7 +16,6 @@
>  #define _DP_POWER_H_
>  
>  #include "dp_parser.h"
> -#include "dpu_power_handle.h"
>  
>  /**
>   * sruct dp_power - DisplayPort's power related data
> @@ -32,8 +31,7 @@ struct dp_power {
>  	int (*clk_enable)(struct dp_power *power, enum dp_pm_type pm_type,
>  				bool enable);
>  	int (*set_pixel_clk_parent)(struct dp_power *power);
> -	int (*power_client_init)(struct dp_power *power,
> -				struct dpu_power_handle *phandle);
> +	int (*power_client_init)(struct dp_power *power);
>  	void (*power_client_deinit)(struct dp_power *power);
>  };
>  
> -- 
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project
> 

-- 
Sean Paul, Software Engineer, Google / Chromium OS


More information about the dri-devel mailing list