* [DPU PATCH 3/3] drm/msm/dsi-staging: Gate bus scale code
@ 2018-03-28 6:18 Rajesh Yadav
[not found] ` <1522217928-2262-1-git-send-email-ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Rajesh Yadav @ 2018-03-28 6:18 UTC (permalink / raw)
To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
linux-arm-msm-u79uwXL29TY76Z2rM5mHXA
Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w,
seanpaul-F7+t8E8rja9g9hUCZPvPmw, Rajesh Yadav,
hoegsberg-F7+t8E8rja9g9hUCZPvPmw
DSI driver relies on downstream bus scaling
driver (msm_bus) for bus bandwidth voting.
Gate the bus bandwidth voting code under
CONFIG_QCOM_BUS_SCALING.
Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
---
drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c | 8 ++++++++
drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c | 7 ++++++-
drivers/gpu/drm/msm/dsi-staging/dsi_phy.c | 2 ++
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c b/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
index 919de1e..047f759 100644
--- a/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
+++ b/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
@@ -17,7 +17,9 @@
#include <linux/slab.h>
#include "dsi_clk.h"
+#ifdef CONFIG_QCOM_BUS_SCALING
#include <linux/msm-bus.h>
+#endif
struct dsi_core_clks {
struct dsi_core_clk_info clks;
@@ -226,6 +228,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
}
}
+#ifdef CONFIG_QCOM_BUS_SCALING
if (c_clks->bus_handle) {
rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 1);
if (rc) {
@@ -233,11 +236,14 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
goto error_disable_mmss_clk;
}
}
+#endif
return rc;
+#ifdef CONFIG_QCOM_BUS_SCALING
error_disable_mmss_clk:
if (c_clks->clks.core_mmss_clk)
clk_disable_unprepare(c_clks->clks.core_mmss_clk);
+#endif
error_disable_bus_clk:
if (c_clks->clks.bus_clk)
@@ -259,6 +265,7 @@ int dsi_core_clk_stop(struct dsi_core_clks *c_clks)
{
int rc = 0;
+#ifdef CONFIG_QCOM_BUS_SCALING
if (c_clks->bus_handle) {
rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 0);
if (rc) {
@@ -266,6 +273,7 @@ int dsi_core_clk_stop(struct dsi_core_clks *c_clks)
return rc;
}
}
+#endif
if (c_clks->clks.core_mmss_clk)
clk_disable_unprepare(c_clks->clks.core_mmss_clk);
diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c b/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
index fae1b565..0ab92bb 100644
--- a/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
+++ b/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
@@ -17,7 +17,9 @@
#include <linux/err.h>
#include <linux/regulator/consumer.h>
#include <linux/clk.h>
+#ifdef CONFIG_QCOM_BUS_SCALING
#include <linux/msm-bus.h>
+#endif
#include <linux/of_irq.h>
#include <video/mipi_display.h>
@@ -716,6 +718,7 @@ static int dsi_ctrl_axi_bus_client_init(struct platform_device *pdev,
struct dsi_ctrl *ctrl)
{
int rc = 0;
+#ifdef CONFIG_QCOM_BUS_SCALING
struct dsi_ctrl_bus_scale_info *bus = &ctrl->axi_bus_info;
bus->bus_scale_table = msm_bus_cl_get_pdata(pdev);
@@ -731,12 +734,13 @@ static int dsi_ctrl_axi_bus_client_init(struct platform_device *pdev,
rc = -EINVAL;
pr_err("failed to register axi bus client\n");
}
-
+#endif
return rc;
}
static int dsi_ctrl_axi_bus_client_deinit(struct dsi_ctrl *ctrl)
{
+#ifdef CONFIG_QCOM_BUS_SCALING
struct dsi_ctrl_bus_scale_info *bus = &ctrl->axi_bus_info;
if (bus->bus_handle) {
@@ -744,6 +748,7 @@ static int dsi_ctrl_axi_bus_client_deinit(struct dsi_ctrl *ctrl)
bus->bus_handle = 0;
}
+#endif
return 0;
}
diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c b/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c
index c13e5bb..e712c61 100644
--- a/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c
+++ b/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c
@@ -17,7 +17,9 @@
#include <linux/err.h>
#include <linux/regulator/consumer.h>
#include <linux/clk.h>
+#ifdef CONFIG_QCOM_BUS_SCALING
#include <linux/msm-bus.h>
+#endif
#include <linux/list.h>
#include "msm_drv.h"
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [DPU PATCH 3/3] drm/msm/dsi-staging: Gate bus scale code
[not found] ` <1522217928-2262-1-git-send-email-ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
@ 2018-04-04 17:15 ` Sean Paul
0 siblings, 0 replies; 2+ messages in thread
From: Sean Paul @ 2018-04-04 17:15 UTC (permalink / raw)
To: Rajesh Yadav
Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
robdclark-Re5JQEeQqe8AvxtiuMwx3w,
seanpaul-F7+t8E8rja9g9hUCZPvPmw,
hoegsberg-F7+t8E8rja9g9hUCZPvPmw,
freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
On Wed, Mar 28, 2018 at 11:48:48AM +0530, Rajesh Yadav wrote:
> DSI driver relies on downstream bus scaling
> driver (msm_bus) for bus bandwidth voting.
> Gate the bus bandwidth voting code under
> CONFIG_QCOM_BUS_SCALING.
>
> Signed-off-by: Rajesh Yadav <ryadav@codeaurora.org>
Thank you for your patch. Since dsi-staging isn't going upstream, let's hold
off on this.
Sean
> ---
> drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c | 8 ++++++++
> drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c | 7 ++++++-
> drivers/gpu/drm/msm/dsi-staging/dsi_phy.c | 2 ++
> 3 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c b/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
> index 919de1e..047f759 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_clk_manager.c
> @@ -17,7 +17,9 @@
> #include <linux/slab.h>
> #include "dsi_clk.h"
>
> +#ifdef CONFIG_QCOM_BUS_SCALING
> #include <linux/msm-bus.h>
> +#endif
>
> struct dsi_core_clks {
> struct dsi_core_clk_info clks;
> @@ -226,6 +228,7 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
> }
> }
>
> +#ifdef CONFIG_QCOM_BUS_SCALING
> if (c_clks->bus_handle) {
> rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 1);
> if (rc) {
> @@ -233,11 +236,14 @@ int dsi_core_clk_start(struct dsi_core_clks *c_clks)
> goto error_disable_mmss_clk;
> }
> }
> +#endif
> return rc;
>
> +#ifdef CONFIG_QCOM_BUS_SCALING
> error_disable_mmss_clk:
> if (c_clks->clks.core_mmss_clk)
> clk_disable_unprepare(c_clks->clks.core_mmss_clk);
> +#endif
>
> error_disable_bus_clk:
> if (c_clks->clks.bus_clk)
> @@ -259,6 +265,7 @@ int dsi_core_clk_stop(struct dsi_core_clks *c_clks)
> {
> int rc = 0;
>
> +#ifdef CONFIG_QCOM_BUS_SCALING
> if (c_clks->bus_handle) {
> rc = msm_bus_scale_client_update_request(c_clks->bus_handle, 0);
> if (rc) {
> @@ -266,6 +273,7 @@ int dsi_core_clk_stop(struct dsi_core_clks *c_clks)
> return rc;
> }
> }
> +#endif
>
> if (c_clks->clks.core_mmss_clk)
> clk_disable_unprepare(c_clks->clks.core_mmss_clk);
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c b/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
> index fae1b565..0ab92bb 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_ctrl.c
> @@ -17,7 +17,9 @@
> #include <linux/err.h>
> #include <linux/regulator/consumer.h>
> #include <linux/clk.h>
> +#ifdef CONFIG_QCOM_BUS_SCALING
> #include <linux/msm-bus.h>
> +#endif
> #include <linux/of_irq.h>
> #include <video/mipi_display.h>
>
> @@ -716,6 +718,7 @@ static int dsi_ctrl_axi_bus_client_init(struct platform_device *pdev,
> struct dsi_ctrl *ctrl)
> {
> int rc = 0;
> +#ifdef CONFIG_QCOM_BUS_SCALING
> struct dsi_ctrl_bus_scale_info *bus = &ctrl->axi_bus_info;
>
> bus->bus_scale_table = msm_bus_cl_get_pdata(pdev);
> @@ -731,12 +734,13 @@ static int dsi_ctrl_axi_bus_client_init(struct platform_device *pdev,
> rc = -EINVAL;
> pr_err("failed to register axi bus client\n");
> }
> -
> +#endif
> return rc;
> }
>
> static int dsi_ctrl_axi_bus_client_deinit(struct dsi_ctrl *ctrl)
> {
> +#ifdef CONFIG_QCOM_BUS_SCALING
> struct dsi_ctrl_bus_scale_info *bus = &ctrl->axi_bus_info;
>
> if (bus->bus_handle) {
> @@ -744,6 +748,7 @@ static int dsi_ctrl_axi_bus_client_deinit(struct dsi_ctrl *ctrl)
>
> bus->bus_handle = 0;
> }
> +#endif
> return 0;
> }
>
> diff --git a/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c b/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c
> index c13e5bb..e712c61 100644
> --- a/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c
> +++ b/drivers/gpu/drm/msm/dsi-staging/dsi_phy.c
> @@ -17,7 +17,9 @@
> #include <linux/err.h>
> #include <linux/regulator/consumer.h>
> #include <linux/clk.h>
> +#ifdef CONFIG_QCOM_BUS_SCALING
> #include <linux/msm-bus.h>
> +#endif
> #include <linux/list.h>
>
> #include "msm_drv.h"
> --
> 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
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-04-04 17:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-28 6:18 [DPU PATCH 3/3] drm/msm/dsi-staging: Gate bus scale code Rajesh Yadav
[not found] ` <1522217928-2262-1-git-send-email-ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-04-04 17:15 ` Sean Paul
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.