All of lore.kernel.org
 help / color / mirror / Atom feed
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Amit Kucheria <amit.kucheria@linaro.org>
Cc: "open list:CPU FREQUENCY DRIVERS" <linux-pm@vger.kernel.org>,
	linux-arm-msm@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	dianders@chromium.org, linux-kernel@vger.kernel.org,
	edubezval@gmail.com, mka@chromium.org,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	swboyd@chromium.org,
	"moderated list:ARM/Mediatek SoC support"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v1 00/10] cpufreq: Add flag to auto-register as cooling device
Date: Thu, 17 Jan 2019 11:19:16 +0530	[thread overview]
Message-ID: <20190117054916.dqduckt7larn32av@vireshk-i7> (raw)
In-Reply-To: <cover.1547481320.git.amit.kucheria@linaro.org>

On 14-01-19, 22:04, Amit Kucheria wrote:
> Add a flag to be used by cpufreq drivers to tell cpufreq core to
> auto-register themselves as a thermal cooling device.
> 
> There series converts over all the drivers except arm_big_little.c.
> Tested on SDM845 with the qcom-cpufreq-hw driver. Only compile-tested the
> others. 
> 
> Things needing fixing:
>  - Look at how to detect that we're not in IKS mode in arm_big_little's
>    .ready callback.

is_bL_switching_enabled() lets you know if IKS is enabled or not.
Set/clear flag conditionally before the cpufreq-driver is registered,
based on the output of is_bL_switching_enabled().

>  - The other pending issue is to fix allmodconfig that leaves us with
>    CPU_FREQ=y and THERMAL=m (CPU_THERMAL=y). That leads to undefined
>    references for functions defined in cpu_cooling.c

Okay, that's a terrible thing and the solution looks to be rather
difficult.

For others who may not be aware of the issue here, currently the
cpufreq drivers use helpers of cpu_cooling.c (CONFIG_CPU_THERMAL),
which uses helpers of the thermal core (CONFIG_THERMAL).
CONFIG_THERMAL is defined as tristate and CONFIG_CPU_THERMAL as bool
in Kconfigs.

The cpufreq drivers using the cpu_cooling.c file have this in their
Kconfig entry:

# if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
#       depends on !CPU_THERMAL || THERMAL


This series now places the cpufreq core in place of the cpufreq driver
and it messes up everything. It is not just about allmodconfig, but
any configuration which makes the compilation fail.

What are the solutions we have now ?

1. Have following for CONFIG_CPU_FREQ
       depends on !CPU_THERMAL || THERMAL

   The platforms which don't need CPU_THERMAL (like x86) should not
   enable CPU_THERMAL anymore if they want CONFIG_THERMAL=m.

   @amit: If this gets accepted, please update the Kconfig entries for
   all those drivers to not have above lines anymore.

- Change CONFIG_THERMAL to bool instead of tristate ?

- Anything else ?

-- 
viresh

WARNING: multiple messages have this Message-ID (diff)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Amit Kucheria <amit.kucheria@linaro.org>
Cc: linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	edubezval@gmail.com, swboyd@chromium.org, dianders@chromium.org,
	mka@chromium.org, "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	"moderated list:ARM/Mediatek SoC support" 
	<linux-arm-kernel@lists.infradead.org>,
	"moderated list:ARM/Mediatek SoC support" 
	<linux-mediatek@lists.infradead.org>,
	"open list:CPU FREQUENCY DRIVERS" <linux-pm@vger.kernel.org>
Subject: Re: [PATCH v1 00/10] cpufreq: Add flag to auto-register as cooling device
Date: Thu, 17 Jan 2019 11:19:16 +0530	[thread overview]
Message-ID: <20190117054916.dqduckt7larn32av@vireshk-i7> (raw)
In-Reply-To: <cover.1547481320.git.amit.kucheria@linaro.org>

On 14-01-19, 22:04, Amit Kucheria wrote:
> Add a flag to be used by cpufreq drivers to tell cpufreq core to
> auto-register themselves as a thermal cooling device.
> 
> There series converts over all the drivers except arm_big_little.c.
> Tested on SDM845 with the qcom-cpufreq-hw driver. Only compile-tested the
> others. 
> 
> Things needing fixing:
>  - Look at how to detect that we're not in IKS mode in arm_big_little's
>    .ready callback.

is_bL_switching_enabled() lets you know if IKS is enabled or not.
Set/clear flag conditionally before the cpufreq-driver is registered,
based on the output of is_bL_switching_enabled().

>  - The other pending issue is to fix allmodconfig that leaves us with
>    CPU_FREQ=y and THERMAL=m (CPU_THERMAL=y). That leads to undefined
>    references for functions defined in cpu_cooling.c

Okay, that's a terrible thing and the solution looks to be rather
difficult.

For others who may not be aware of the issue here, currently the
cpufreq drivers use helpers of cpu_cooling.c (CONFIG_CPU_THERMAL),
which uses helpers of the thermal core (CONFIG_THERMAL).
CONFIG_THERMAL is defined as tristate and CONFIG_CPU_THERMAL as bool
in Kconfigs.

The cpufreq drivers using the cpu_cooling.c file have this in their
Kconfig entry:

# if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
#       depends on !CPU_THERMAL || THERMAL


This series now places the cpufreq core in place of the cpufreq driver
and it messes up everything. It is not just about allmodconfig, but
any configuration which makes the compilation fail.

What are the solutions we have now ?

1. Have following for CONFIG_CPU_FREQ
       depends on !CPU_THERMAL || THERMAL

   The platforms which don't need CPU_THERMAL (like x86) should not
   enable CPU_THERMAL anymore if they want CONFIG_THERMAL=m.

   @amit: If this gets accepted, please update the Kconfig entries for
   all those drivers to not have above lines anymore.

- Change CONFIG_THERMAL to bool instead of tristate ?

- Anything else ?

-- 
viresh

WARNING: multiple messages have this Message-ID (diff)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Amit Kucheria <amit.kucheria@linaro.org>
Cc: "open list:CPU FREQUENCY DRIVERS" <linux-pm@vger.kernel.org>,
	linux-arm-msm@vger.kernel.org,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	dianders@chromium.org, linux-kernel@vger.kernel.org,
	edubezval@gmail.com, mka@chromium.org,
	"moderated list:ARM/Mediatek SoC support"
	<linux-mediatek@lists.infradead.org>,
	Sudeep Holla <sudeep.holla@arm.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	swboyd@chromium.org,
	"moderated list:ARM/Mediatek SoC support"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v1 00/10] cpufreq: Add flag to auto-register as cooling device
Date: Thu, 17 Jan 2019 11:19:16 +0530	[thread overview]
Message-ID: <20190117054916.dqduckt7larn32av@vireshk-i7> (raw)
In-Reply-To: <cover.1547481320.git.amit.kucheria@linaro.org>

On 14-01-19, 22:04, Amit Kucheria wrote:
> Add a flag to be used by cpufreq drivers to tell cpufreq core to
> auto-register themselves as a thermal cooling device.
> 
> There series converts over all the drivers except arm_big_little.c.
> Tested on SDM845 with the qcom-cpufreq-hw driver. Only compile-tested the
> others. 
> 
> Things needing fixing:
>  - Look at how to detect that we're not in IKS mode in arm_big_little's
>    .ready callback.

is_bL_switching_enabled() lets you know if IKS is enabled or not.
Set/clear flag conditionally before the cpufreq-driver is registered,
based on the output of is_bL_switching_enabled().

>  - The other pending issue is to fix allmodconfig that leaves us with
>    CPU_FREQ=y and THERMAL=m (CPU_THERMAL=y). That leads to undefined
>    references for functions defined in cpu_cooling.c

Okay, that's a terrible thing and the solution looks to be rather
difficult.

For others who may not be aware of the issue here, currently the
cpufreq drivers use helpers of cpu_cooling.c (CONFIG_CPU_THERMAL),
which uses helpers of the thermal core (CONFIG_THERMAL).
CONFIG_THERMAL is defined as tristate and CONFIG_CPU_THERMAL as bool
in Kconfigs.

The cpufreq drivers using the cpu_cooling.c file have this in their
Kconfig entry:

# if CPU_THERMAL is on and THERMAL=m, ARM_BIT_LITTLE_CPUFREQ cannot be =y
#       depends on !CPU_THERMAL || THERMAL


This series now places the cpufreq core in place of the cpufreq driver
and it messes up everything. It is not just about allmodconfig, but
any configuration which makes the compilation fail.

What are the solutions we have now ?

1. Have following for CONFIG_CPU_FREQ
       depends on !CPU_THERMAL || THERMAL

   The platforms which don't need CPU_THERMAL (like x86) should not
   enable CPU_THERMAL anymore if they want CONFIG_THERMAL=m.

   @amit: If this gets accepted, please update the Kconfig entries for
   all those drivers to not have above lines anymore.

- Change CONFIG_THERMAL to bool instead of tristate ?

- Anything else ?

-- 
viresh

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2019-01-17  5:49 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-14 16:34 [PATCH v1 00/10] cpufreq: Add flag to auto-register as cooling device Amit Kucheria
2019-01-14 16:34 ` Amit Kucheria
2019-01-14 16:34 ` Amit Kucheria
2019-01-14 16:34 ` [PATCH v1 01/10] cpufreq: Add thermal_cooling_device pointer to struct cpufreq_policy Amit Kucheria
2019-01-16 22:56   ` Rafael J. Wysocki
2019-01-21 15:35     ` Amit Kucheria
2019-01-14 16:34 ` [PATCH v1 02/10] cpufreq: Add a flag to auto-register a cooling device Amit Kucheria
2019-01-14 20:51   ` Matthias Kaehlcke
2019-01-16 23:03   ` Rafael J. Wysocki
2019-01-17  4:42     ` Viresh Kumar
2019-01-21 14:23       ` Amit Kucheria
2019-01-14 16:34 ` [PATCH v1 03/10] cpufreq: Replace open-coded << with BIT() Amit Kucheria
2019-01-15 19:05   ` Stephen Boyd
2019-01-16 22:55   ` Rafael J. Wysocki
2019-01-21  8:48     ` Amit Kucheria
2019-01-14 16:34 ` [PATCH v1 04/10] cpufreq: qcom-hw: Register as a cpufreq cooling device Amit Kucheria
2019-01-14 20:54   ` Matthias Kaehlcke
2019-01-14 16:34 ` [PATCH v1 05/10] cpufreq: imx6q: Use auto-registration of thermal " Amit Kucheria
2019-01-17  4:49   ` Viresh Kumar
2019-01-14 16:34 ` [PATCH v1 06/10] cpufreq: cpufreq-dt: " Amit Kucheria
2019-01-14 16:34 ` [PATCH v1 07/10] cpufreq: mediatek: " Amit Kucheria
2019-01-14 16:34   ` Amit Kucheria
2019-01-14 16:35 ` [PATCH v1 08/10] cpufreq: qoriq: " Amit Kucheria
2019-01-14 16:35 ` [PATCH v1 09/10] cpufreq: scmi: " Amit Kucheria
2019-01-14 16:35   ` Amit Kucheria
2019-01-15 10:37   ` Sudeep Holla
2019-01-15 10:37     ` Sudeep Holla
2019-01-14 16:35 ` [PATCH v1 10/10] cpufreq: scpi: " Amit Kucheria
2019-01-14 16:35   ` Amit Kucheria
2019-01-17  5:49 ` Viresh Kumar [this message]
2019-01-17  5:49   ` [PATCH v1 00/10] cpufreq: Add flag to auto-register as " Viresh Kumar
2019-01-17  5:49   ` Viresh Kumar
2019-01-17 10:08   ` Rafael J. Wysocki
2019-01-17 10:08     ` Rafael J. Wysocki
2019-01-17 10:08     ` Rafael J. Wysocki
2019-01-17 10:14     ` Rafael J. Wysocki
2019-01-17 10:14       ` Rafael J. Wysocki
2019-01-17 10:14       ` Rafael J. Wysocki
2019-01-17 10:28       ` Viresh Kumar
2019-01-17 10:28         ` Viresh Kumar
2019-01-17 10:28         ` Viresh Kumar
2019-01-17 10:31         ` Rafael J. Wysocki
2019-01-17 10:31           ` Rafael J. Wysocki
2019-01-17 10:31           ` Rafael J. Wysocki
2019-01-17 10:21     ` Viresh Kumar
2019-01-17 10:21       ` Viresh Kumar
2019-01-17 10:21       ` Viresh Kumar
2019-01-17 10:29       ` Rafael J. Wysocki
2019-01-17 10:29         ` Rafael J. Wysocki
2019-01-17 10:29         ` Rafael J. Wysocki

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=20190117054916.dqduckt7larn32av@vireshk-i7 \
    --to=viresh.kumar@linaro.org \
    --cc=amit.kucheria@linaro.org \
    --cc=dianders@chromium.org \
    --cc=edubezval@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=mka@chromium.org \
    --cc=rjw@rjwysocki.net \
    --cc=sudeep.holla@arm.com \
    --cc=swboyd@chromium.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.