All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sharat Masetty <smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
To: Jordan Crouse <jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	georgi.djakov-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
Cc: nm-l0cyMroinI0@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	bjorn.andersson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
	vireshk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 7/9] OPP: Add dev_pm_opp_get_interconnect_bw()
Date: Fri, 5 Oct 2018 12:06:06 +0530	[thread overview]
Message-ID: <49858ede-66db-b58f-e586-411896efad4b@codeaurora.org> (raw)
In-Reply-To: <20180827151112.25211-8-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>



On 8/27/2018 8:41 PM, Jordan Crouse wrote:
> Add dev_pm_opp_get_interconnect_bw() to read the interconnect
> bandwidth values for a given OPP.
> 
> Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
> ---
>   drivers/opp/of.c       | 36 ++++++++++++++++++++++++++++++++++++
>   include/linux/pm_opp.h |  7 +++++++
>   2 files changed, 43 insertions(+)
> 
> diff --git a/drivers/opp/of.c b/drivers/opp/of.c
> index 7af0ddec936b..6a5eecaaf8c1 100644
> --- a/drivers/opp/of.c
> +++ b/drivers/opp/of.c
> @@ -777,3 +777,39 @@ struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp)
>   	return of_node_get(opp->np);
>   }
>   EXPORT_SYMBOL_GPL(dev_pm_opp_get_of_node);
> +
> +/**
> + * dev_pm_opp_get_interconnect_bw() - Get the interconnect bandwidth for the opp
> + * @opp:	opp containing the bandwidth values
> + * @pathname:	name of the interconnect path for the bandwidth values
> + * @avgbw:	Pointer for the value to hold the average BW defined for the OPP
> + * @peakbw:	Pointer for the value to hold the peak BW defined for the OPP
> + *
> + * Return: Negative value on error or 0 on success
> + */
> +int dev_pm_opp_get_interconnect_bw(struct dev_pm_opp *opp,
> +		const char *pathname, u64 *avgbw, u64 *peakbw)
> +{
> +	char name[NAME_MAX];
> +	struct property *prop;
> +	int count;
> +
> +	if (IS_ERR_OR_NULL(opp))
> +		return -ENOENT;
> +
> +	snprintf(name, NAME_MAX, "opp-interconnect-bw-%s", pathname);
> +	prop = of_find_property(opp->np, name, NULL);
> +
> +	if (!prop)
> +		return -ENOENT;
> +
> +	count = of_property_count_u64_elems(opp->np, name);
> +	if (count != 2)
> +		return -EINVAL;
> +
> +	of_property_read_u64_index(opp->np, name, 0, avgbw);
> +	of_property_read_u64_index(opp->np, name, 0, peakbw);
This should be index 1 for peak bandwidth
	of_property_read_u64_index(opp->np, name, 1, peakbw);
I tested with this fix and the GPU's interconnect summary now shows
non zero values for peak bandwidth. Can you please raise a newer version 
of this patch? I will have it pulled into our downstream builds.
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL_GPL(dev_pm_opp_get_interconnect_bw);
> diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h
> index 099b31960dec..70e49e259d0e 100644
> --- a/include/linux/pm_opp.h
> +++ b/include/linux/pm_opp.h
> @@ -301,6 +301,7 @@ int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpuma
>   struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev);
>   struct dev_pm_opp *of_dev_pm_opp_find_required_opp(struct device *dev, struct device_node *np);
>   struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp);
> +int dev_pm_opp_get_interconnect_bw(struct dev_pm_opp *opp, const char *pathname, u64 *avgbw, u64 *peakbw);
>   #else
>   static inline int dev_pm_opp_of_add_table(struct device *dev)
>   {
> @@ -343,6 +344,12 @@ static inline struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp)
>   {
>   	return NULL;
>   }
> +
> +static inline int dev_pm_opp_get_interconnect_bw(struct dev_pm_opp *opp, const char *pathname,
> +		u64 *avgbw, u64 *peakbw)
> +{
> +	return -ENOTSUPP;
> +}
>   #endif
>   
>   #endif		/* __LINUX_OPP_H__ */
> 

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
Linux Foundation Collaborative Project
_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

WARNING: multiple messages have this Message-ID (diff)
From: smasetty@codeaurora.org (Sharat Masetty)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 7/9] OPP: Add dev_pm_opp_get_interconnect_bw()
Date: Fri, 5 Oct 2018 12:06:06 +0530	[thread overview]
Message-ID: <49858ede-66db-b58f-e586-411896efad4b@codeaurora.org> (raw)
In-Reply-To: <20180827151112.25211-8-jcrouse@codeaurora.org>



On 8/27/2018 8:41 PM, Jordan Crouse wrote:
> Add dev_pm_opp_get_interconnect_bw() to read the interconnect
> bandwidth values for a given OPP.
> 
> Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
> ---
>   drivers/opp/of.c       | 36 ++++++++++++++++++++++++++++++++++++
>   include/linux/pm_opp.h |  7 +++++++
>   2 files changed, 43 insertions(+)
> 
> diff --git a/drivers/opp/of.c b/drivers/opp/of.c
> index 7af0ddec936b..6a5eecaaf8c1 100644
> --- a/drivers/opp/of.c
> +++ b/drivers/opp/of.c
> @@ -777,3 +777,39 @@ struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp)
>   	return of_node_get(opp->np);
>   }
>   EXPORT_SYMBOL_GPL(dev_pm_opp_get_of_node);
> +
> +/**
> + * dev_pm_opp_get_interconnect_bw() - Get the interconnect bandwidth for the opp
> + * @opp:	opp containing the bandwidth values
> + * @pathname:	name of the interconnect path for the bandwidth values
> + * @avgbw:	Pointer for the value to hold the average BW defined for the OPP
> + * @peakbw:	Pointer for the value to hold the peak BW defined for the OPP
> + *
> + * Return: Negative value on error or 0 on success
> + */
> +int dev_pm_opp_get_interconnect_bw(struct dev_pm_opp *opp,
> +		const char *pathname, u64 *avgbw, u64 *peakbw)
> +{
> +	char name[NAME_MAX];
> +	struct property *prop;
> +	int count;
> +
> +	if (IS_ERR_OR_NULL(opp))
> +		return -ENOENT;
> +
> +	snprintf(name, NAME_MAX, "opp-interconnect-bw-%s", pathname);
> +	prop = of_find_property(opp->np, name, NULL);
> +
> +	if (!prop)
> +		return -ENOENT;
> +
> +	count = of_property_count_u64_elems(opp->np, name);
> +	if (count != 2)
> +		return -EINVAL;
> +
> +	of_property_read_u64_index(opp->np, name, 0, avgbw);
> +	of_property_read_u64_index(opp->np, name, 0, peakbw);
This should be index 1 for peak bandwidth
	of_property_read_u64_index(opp->np, name, 1, peakbw);
I tested with this fix and the GPU's interconnect summary now shows
non zero values for peak bandwidth. Can you please raise a newer version 
of this patch? I will have it pulled into our downstream builds.
> +
> +	return 0;
> +}
> +EXPORT_SYMBOL_GPL(dev_pm_opp_get_interconnect_bw);
> diff --git a/include/linux/pm_opp.h b/include/linux/pm_opp.h
> index 099b31960dec..70e49e259d0e 100644
> --- a/include/linux/pm_opp.h
> +++ b/include/linux/pm_opp.h
> @@ -301,6 +301,7 @@ int dev_pm_opp_of_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpuma
>   struct device_node *dev_pm_opp_of_get_opp_desc_node(struct device *dev);
>   struct dev_pm_opp *of_dev_pm_opp_find_required_opp(struct device *dev, struct device_node *np);
>   struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp);
> +int dev_pm_opp_get_interconnect_bw(struct dev_pm_opp *opp, const char *pathname, u64 *avgbw, u64 *peakbw);
>   #else
>   static inline int dev_pm_opp_of_add_table(struct device *dev)
>   {
> @@ -343,6 +344,12 @@ static inline struct device_node *dev_pm_opp_get_of_node(struct dev_pm_opp *opp)
>   {
>   	return NULL;
>   }
> +
> +static inline int dev_pm_opp_get_interconnect_bw(struct dev_pm_opp *opp, const char *pathname,
> +		u64 *avgbw, u64 *peakbw)
> +{
> +	return -ENOTSUPP;
> +}
>   #endif
>   
>   #endif		/* __LINUX_OPP_H__ */
> 

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
Linux Foundation Collaborative Project

  parent reply	other threads:[~2018-10-05  6:36 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-27 15:11 [PATCH 0/9] Add interconnect support + bindings for A630 GPU Jordan Crouse
2018-08-27 15:11 ` Jordan Crouse
     [not found] ` <20180827151112.25211-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-08-27 15:11   ` [PATCH 1/9] drm/msm/a6xx: rnndb updates for a6xx Jordan Crouse
2018-08-27 15:11     ` Jordan Crouse
2018-08-27 15:11   ` [PATCH 3/9] drm/msm/a6xx: Rename gmu phandle to qcom, gmu Jordan Crouse
2018-08-27 15:11     ` [PATCH 3/9] drm/msm/a6xx: Rename gmu phandle to qcom,gmu Jordan Crouse
2018-08-27 15:11   ` [PATCH 5/9] arm64: dts: sdm845: Add gpu and gmu device nodes Jordan Crouse
2018-08-27 15:11     ` Jordan Crouse
     [not found]     ` <20180827151112.25211-6-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-08-28 10:30       ` Vivek Gautam
2018-08-28 10:30         ` Vivek Gautam
2018-10-10  9:46       ` Viresh Kumar
2018-10-10  9:46         ` Viresh Kumar
2018-10-10 14:29         ` Jordan Crouse
2018-10-10 14:29           ` Jordan Crouse
     [not found]           ` <20181010142905.GB9977-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-10-10 14:31             ` Viresh Kumar
2018-10-10 14:31               ` Viresh Kumar
2018-10-10 14:48               ` Jordan Crouse
2018-10-10 14:48                 ` [Freedreno] " Jordan Crouse
     [not found]                 ` <20181010144856.GC9977-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-10-10 14:51                   ` Viresh Kumar
2018-10-10 14:51                     ` [Freedreno] " Viresh Kumar
2018-10-10 15:10                     ` Jordan Crouse
2018-10-10 15:10                       ` [Freedreno] " Jordan Crouse
     [not found]                       ` <20181010151006.GD9977-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-10-11  5:02                         ` Viresh Kumar
2018-10-11  5:02                           ` [Freedreno] " Viresh Kumar
2018-10-11 14:54                           ` Jordan Crouse
2018-10-11 14:54                             ` [Freedreno] " Jordan Crouse
     [not found]                             ` <20181011145456.GG9977-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-10-15 10:03                               ` Viresh Kumar
2018-10-15 10:03                                 ` [Freedreno] " Viresh Kumar
2018-10-15 14:34                                 ` Jordan Crouse
2018-10-15 14:34                                   ` [Freedreno] " Jordan Crouse
     [not found]                                   ` <20181015143444.GA4751-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-10-22 10:38                                     ` Viresh Kumar
2018-10-22 10:38                                       ` [Freedreno] " Viresh Kumar
2018-10-22 13:20                                       ` Niklas Cassel
2018-10-22 13:20                                         ` Niklas Cassel
2018-10-22 14:37                                         ` Jordan Crouse
2018-10-22 14:37                                           ` Jordan Crouse
2018-10-22 14:34                                       ` Jordan Crouse
2018-10-22 14:34                                         ` Jordan Crouse
2018-10-17 18:28       ` Doug Anderson
2018-10-17 18:28         ` Doug Anderson
2018-08-27 15:11   ` [PATCH 6/9] PM / OPP: dt-bindings: Add opp-interconnect-bw Jordan Crouse
2018-08-27 15:11     ` Jordan Crouse
2018-09-27  8:23     ` Georgi Djakov
2018-09-27  8:23       ` Georgi Djakov
     [not found]       ` <0998a374-6cb0-9218-d2e3-92f8ee9861ed-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2018-10-10  9:59         ` Viresh Kumar
2018-10-10  9:59           ` Viresh Kumar
2018-10-10 14:27           ` Jordan Crouse
2018-10-10 14:27             ` Jordan Crouse
     [not found]             ` <20181010142723.GA9977-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-10-10 14:29               ` Viresh Kumar
2018-10-10 14:29                 ` Viresh Kumar
     [not found]     ` <20180827151112.25211-7-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-15 14:34       ` Rob Herring
2018-10-15 14:34         ` Rob Herring
2018-10-15 15:12         ` Jordan Crouse
2018-10-15 15:12           ` Jordan Crouse
2018-08-27 15:11   ` [PATCH 7/9] OPP: Add dev_pm_opp_get_interconnect_bw() Jordan Crouse
2018-08-27 15:11     ` Jordan Crouse
     [not found]     ` <20180827151112.25211-8-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-05  6:36       ` Sharat Masetty [this message]
2018-10-05  6:36         ` Sharat Masetty
     [not found]         ` <49858ede-66db-b58f-e586-411896efad4b-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-05 17:13           ` Jordan Crouse
2018-10-05 17:13             ` Jordan Crouse
2018-08-27 15:11   ` [PATCH 8/9] drm/msm/a6xx: Add support for an interconnect path Jordan Crouse
2018-08-27 15:11     ` Jordan Crouse
     [not found]     ` <20180827151112.25211-9-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-08-28  1:23       ` kbuild test robot
2018-08-28  1:23         ` kbuild test robot
2018-08-27 15:11   ` [PATCH 9/9] arm64: dts: Add interconnect for the GPU on SDM845 Jordan Crouse
2018-08-27 15:11     ` Jordan Crouse
     [not found]     ` <20180827151112.25211-10-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-08-28 18:16       ` Jordan Crouse
2018-08-28 18:16         ` [Freedreno] " Jordan Crouse
2018-08-27 15:11 ` [PATCH 2/9] drm/msm/a6xx: Fix PDC register overlap Jordan Crouse
2018-08-27 15:11   ` Jordan Crouse
2018-08-27 15:11 ` [PATCH 4/9] dt-bindings: Document qcom,adreno-gmu Jordan Crouse
2018-08-27 15:11   ` Jordan Crouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49858ede-66db-b58f-e586-411896efad4b@codeaurora.org \
    --to=smasetty-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \
    --cc=bjorn.andersson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=georgi.djakov-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=nm-l0cyMroinI0@public.gmane.org \
    --cc=sboyd-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=vireshk-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.