All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
@ 2013-10-01  9:30 Sudeep KarkadaNagesha
  2013-10-03  4:52 ` Viresh Kumar
  2013-10-03  9:58 ` Viresh Kumar
  0 siblings, 2 replies; 8+ messages in thread
From: Sudeep KarkadaNagesha @ 2013-10-01  9:30 UTC (permalink / raw)
  To: cpufreq, linux-pm
  Cc: Sudeep.KarkadaNagesha, Sudeep KarkadaNagesha, Viresh Kumar,
	Rafael J. Wysocki

From: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>

Currently clk_get_sys is used with cpu-cluster.<n> as the device id
which is incorrect. It should be connection/consumer ID instead.

It is possible to specify input clock in the cpu device node along
with the optional clock-name. clk_get_sys can't handle that.

This patch replaces clk_get_sys with clk_get to extend support for
clocks specified in the device tree cpu node.

Cc: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
---
 drivers/cpufreq/arm_big_little.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpufreq/arm_big_little.c b/drivers/cpufreq/arm_big_little.c
index 3549f07..501a091 100644
--- a/drivers/cpufreq/arm_big_little.c
+++ b/drivers/cpufreq/arm_big_little.c
@@ -127,7 +127,7 @@ static int get_cluster_clk_and_freq_table(struct device *cpu_dev)
 	}
 
 	name[12] = cluster + '0';
-	clk[cluster] = clk_get_sys(name, NULL);
+	clk[cluster] = clk_get(cpu_dev, name);
 	if (!IS_ERR(clk[cluster])) {
 		dev_dbg(cpu_dev, "%s: clk: %p & freq table: %p, cluster: %d\n",
 				__func__, clk[cluster], freq_table[cluster],
-- 
1.8.1.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
  2013-10-01  9:30 [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys Sudeep KarkadaNagesha
@ 2013-10-03  4:52 ` Viresh Kumar
  2013-10-03  8:57   ` Sudeep KarkadaNagesha
  2013-10-03  9:58 ` Viresh Kumar
  1 sibling, 1 reply; 8+ messages in thread
From: Viresh Kumar @ 2013-10-03  4:52 UTC (permalink / raw)
  To: Sudeep KarkadaNagesha; +Cc: cpufreq, linux-pm, Rafael J. Wysocki

On 1 October 2013 15:00, Sudeep KarkadaNagesha
<Sudeep.KarkadaNagesha@arm.com> wrote:
> From: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
>
> Currently clk_get_sys is used with cpu-cluster.<n> as the device id
> which is incorrect. It should be connection/consumer ID instead.
>
> It is possible to specify input clock in the cpu device node along
> with the optional clock-name. clk_get_sys can't handle that.
>
> This patch replaces clk_get_sys with clk_get to extend support for
> clocks specified in the device tree cpu node.
>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
> Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
> ---
>  drivers/cpufreq/arm_big_little.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/cpufreq/arm_big_little.c b/drivers/cpufreq/arm_big_little.c
> index 3549f07..501a091 100644
> --- a/drivers/cpufreq/arm_big_little.c
> +++ b/drivers/cpufreq/arm_big_little.c
> @@ -127,7 +127,7 @@ static int get_cluster_clk_and_freq_table(struct device *cpu_dev)
>         }
>
>         name[12] = cluster + '0';
> -       clk[cluster] = clk_get_sys(name, NULL);
> +       clk[cluster] = clk_get(cpu_dev, name);

This is not really CPUs clock and so passing cpu_dev would be wrong here.
So, either this change should be clk_get(NULL, name);

Or

change driver to use CPU clocks instead of cluster ones..

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
  2013-10-03  4:52 ` Viresh Kumar
@ 2013-10-03  8:57   ` Sudeep KarkadaNagesha
  2013-10-03  9:00     ` Viresh Kumar
  0 siblings, 1 reply; 8+ messages in thread
From: Sudeep KarkadaNagesha @ 2013-10-03  8:57 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: cpufreq, linux-pm, Rafael J. Wysocki

On 03/10/13 05:52, Viresh Kumar wrote:
> On 1 October 2013 15:00, Sudeep KarkadaNagesha
> <Sudeep.KarkadaNagesha@arm.com> wrote:
>> From: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
>>
>> Currently clk_get_sys is used with cpu-cluster.<n> as the device id
>> which is incorrect. It should be connection/consumer ID instead.
>>
>> It is possible to specify input clock in the cpu device node along
>> with the optional clock-name. clk_get_sys can't handle that.
>>
>> This patch replaces clk_get_sys with clk_get to extend support for
>> clocks specified in the device tree cpu node.
>>
>> Cc: Viresh Kumar <viresh.kumar@linaro.org>
>> Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
>> Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
>> ---
>>  drivers/cpufreq/arm_big_little.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/cpufreq/arm_big_little.c b/drivers/cpufreq/arm_big_little.c
>> index 3549f07..501a091 100644
>> --- a/drivers/cpufreq/arm_big_little.c
>> +++ b/drivers/cpufreq/arm_big_little.c
>> @@ -127,7 +127,7 @@ static int get_cluster_clk_and_freq_table(struct device *cpu_dev)
>>         }
>>
>>         name[12] = cluster + '0';
>> -       clk[cluster] = clk_get_sys(name, NULL);
>> +       clk[cluster] = clk_get(cpu_dev, name);
> 
> This is not really CPUs clock and so passing cpu_dev would be wrong here.
> So, either this change should be clk_get(NULL, name);

Agreed, but there's no cluster node in DT. So platforms using DT would have
these clocks in cpu@n node as it's used for CPU frequency scaling. One example I
can see is highbank(it uses cpufreq-cpu0 meaning its single cluster clock). So
AFAICT if any big-little systems wants to pass cluster clocks through DT, it has
to be cpu@n nodes. Let me know if you have any alternate thoughts ?

Regards,
Sudeep


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
  2013-10-03  8:57   ` Sudeep KarkadaNagesha
@ 2013-10-03  9:00     ` Viresh Kumar
  2013-10-03  9:23       ` Sudeep KarkadaNagesha
  0 siblings, 1 reply; 8+ messages in thread
From: Viresh Kumar @ 2013-10-03  9:00 UTC (permalink / raw)
  To: Sudeep KarkadaNagesha; +Cc: cpufreq, linux-pm, Rafael J. Wysocki

On 3 October 2013 14:27, Sudeep KarkadaNagesha
<Sudeep.KarkadaNagesha@arm.com> wrote:
> Agreed, but there's no cluster node in DT. So platforms using DT would have
> these clocks in cpu@n node as it's used for CPU frequency scaling. One example I
> can see is highbank(it uses cpufreq-cpu0 meaning its single cluster clock). So
> AFAICT if any big-little systems wants to pass cluster clocks through DT, it has
> to be cpu@n nodes. Let me know if you have any alternate thoughts ?

I understand your point, but shouldn't we name it then: cpu clock? Probably
cluster clock was wrong from the beginning.. As there is no cluster clock,
or there is ? :)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
  2013-10-03  9:00     ` Viresh Kumar
@ 2013-10-03  9:23       ` Sudeep KarkadaNagesha
  2013-10-03  9:38         ` Viresh Kumar
  0 siblings, 1 reply; 8+ messages in thread
From: Sudeep KarkadaNagesha @ 2013-10-03  9:23 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: cpufreq, linux-pm, Rafael J. Wysocki

On 03/10/13 10:00, Viresh Kumar wrote:
> On 3 October 2013 14:27, Sudeep KarkadaNagesha
> <Sudeep.KarkadaNagesha@arm.com> wrote:
>> Agreed, but there's no cluster node in DT. So platforms using DT would have
>> these clocks in cpu@n node as it's used for CPU frequency scaling. One example I
>> can see is highbank(it uses cpufreq-cpu0 meaning its single cluster clock). So
>> AFAICT if any big-little systems wants to pass cluster clocks through DT, it has
>> to be cpu@n nodes. Let me know if you have any alternate thoughts ?
> 
> I understand your point, but shouldn't we name it then: cpu clock?
> Probably cluster clock was wrong from the beginning.. As there is no cluster clock,
> or there is ? :)
> 

Ok I would phrase it as, it's a clock shared by all the cpus in the cluster.
So like any other shared clocks in the system, each device sharing it would have
it as input clock but it would be single clock output from the clock/power
controller. Does it make any sense ?

Regards,
Sudeep


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
  2013-10-03  9:23       ` Sudeep KarkadaNagesha
@ 2013-10-03  9:38         ` Viresh Kumar
  2013-10-03  9:50           ` Sudeep KarkadaNagesha
  0 siblings, 1 reply; 8+ messages in thread
From: Viresh Kumar @ 2013-10-03  9:38 UTC (permalink / raw)
  To: Sudeep KarkadaNagesha; +Cc: cpufreq, linux-pm, Rafael J. Wysocki

On 3 October 2013 14:53, Sudeep KarkadaNagesha
<Sudeep.KarkadaNagesha@arm.com> wrote:
> Ok I would phrase it as, it's a clock shared by all the cpus in the cluster.
> So like any other shared clocks in the system, each device sharing it would have
> it as input clock but it would be single clock output from the clock/power
> controller. Does it make any sense ?

Sure.. I already know that :) .. what I am not able to decide is, if we should
talk about CPU clocks in our driver or cluster clocks..

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
  2013-10-03  9:38         ` Viresh Kumar
@ 2013-10-03  9:50           ` Sudeep KarkadaNagesha
  0 siblings, 0 replies; 8+ messages in thread
From: Sudeep KarkadaNagesha @ 2013-10-03  9:50 UTC (permalink / raw)
  To: Viresh Kumar; +Cc: cpufreq, linux-pm, Rafael J. Wysocki, Sudeep KarkadaNagesha

On 03/10/13 10:38, Viresh Kumar wrote:
> On 3 October 2013 14:53, Sudeep KarkadaNagesha
> <Sudeep.KarkadaNagesha@arm.com> wrote:
>> Ok I would phrase it as, it's a clock shared by all the cpus in the cluster.
>> So like any other shared clocks in the system, each device sharing it would have
>> it as input clock but it would be single clock output from the clock/power
>> controller. Does it make any sense ?
> 
> Sure.. I already know that :) .. what I am not able to decide is, if we should
> talk about CPU clocks in our driver or cluster clocks..
> 

I understand. Having cpu-cluster.<n> helps platforms not specifying cpu clocks
in DT or not registering clocks using cpu_dev. If you enforce clock lookups with
dev_id(cpu<n>) then I believe you can remove 'cpu-cluster.<n>', that's your call :)

Regards,
Sudeep


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys
  2013-10-01  9:30 [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys Sudeep KarkadaNagesha
  2013-10-03  4:52 ` Viresh Kumar
@ 2013-10-03  9:58 ` Viresh Kumar
  1 sibling, 0 replies; 8+ messages in thread
From: Viresh Kumar @ 2013-10-03  9:58 UTC (permalink / raw)
  To: Sudeep KarkadaNagesha; +Cc: cpufreq, linux-pm, Rafael J. Wysocki

On 1 October 2013 15:00, Sudeep KarkadaNagesha
<Sudeep.KarkadaNagesha@arm.com> wrote:
> From: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
>
> Currently clk_get_sys is used with cpu-cluster.<n> as the device id
> which is incorrect. It should be connection/consumer ID instead.
>
> It is possible to specify input clock in the cpu device node along
> with the optional clock-name. clk_get_sys can't handle that.
>
> This patch replaces clk_get_sys with clk_get to extend support for
> clocks specified in the device tree cpu node.
>
> Cc: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
> Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
> ---
>  drivers/cpufreq/arm_big_little.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-10-03  9:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-01  9:30 [PATCH] cpufreq: arm-big-little: use clk_get instead of clk_get_sys Sudeep KarkadaNagesha
2013-10-03  4:52 ` Viresh Kumar
2013-10-03  8:57   ` Sudeep KarkadaNagesha
2013-10-03  9:00     ` Viresh Kumar
2013-10-03  9:23       ` Sudeep KarkadaNagesha
2013-10-03  9:38         ` Viresh Kumar
2013-10-03  9:50           ` Sudeep KarkadaNagesha
2013-10-03  9:58 ` Viresh Kumar

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.