[DPU PATCH 09/11] drm/msm/dp: remove dpu_power_handle calls from dp driver
Rajesh Yadav
ryadav at codeaurora.org
Thu May 10 08:29:43 UTC 2018
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>
---
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
More information about the dri-devel
mailing list