* [PATCH 0/3] ARM: OMAP2+: hwmod: resolve some OMAP4 warnings
@ 2012-09-18 21:12 Paul Walmsley
2012-09-18 21:12 ` [PATCH 1/3] ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks Paul Walmsley
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Paul Walmsley @ 2012-09-18 21:12 UTC (permalink / raw)
To: linux-arm-kernel
The decision was made a few months ago to weaken the clockdomain
requirements for hwmods and clocks. Convert some of these
warnings into debug messages. In other cases, don't return an
error when a clockdomain isn't specified. And while here,
appropriately mark some OMAP4 hwmods that don't have idle
reporting bits.
---
hwmod_omap4_warning_fixes_a_3.7
text data bss dec hex filename
7333017 764092 5611596 13708705 d12da1 vmlinux.omap2plus_defconfig.orig
7332977 764068 5611596 13708641 d12d61 vmlinux.omap2plus_defconfig
Paul Walmsley (3):
ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks
ARM: OMAP4+: hwmod code: remove clkdm requirement in _omap4_wait_target_*()
ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages
arch/arm/mach-omap2/omap_hwmod.c | 16 +++++++++-------
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 3 +++
2 files changed, 12 insertions(+), 7 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks
2012-09-18 21:12 [PATCH 0/3] ARM: OMAP2+: hwmod: resolve some OMAP4 warnings Paul Walmsley
@ 2012-09-18 21:12 ` Paul Walmsley
2012-09-18 21:12 ` [PATCH 2/3] ARM: OMAP4+: hwmod code: remove clkdm requirement in _omap4_wait_target_*() Paul Walmsley
2012-09-18 21:12 ` [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages Paul Walmsley
2 siblings, 0 replies; 7+ messages in thread
From: Paul Walmsley @ 2012-09-18 21:12 UTC (permalink / raw)
To: linux-arm-kernel
Some struct omap_hwmod records belonging to PRCM IP blocks are missing
HWMOD_NO_IDLEST flags; add them.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Beno?t Cousson <b-cousson@ti.com>
---
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index afb6091..f54b3e5 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -2537,18 +2537,21 @@ static struct omap_hwmod omap44xx_prcm_mpu_hwmod = {
.name = "prcm_mpu",
.class = &omap44xx_prcm_hwmod_class,
.clkdm_name = "l4_wkup_clkdm",
+ .flags = HWMOD_NO_IDLEST,
};
/* cm_core_aon */
static struct omap_hwmod omap44xx_cm_core_aon_hwmod = {
.name = "cm_core_aon",
.class = &omap44xx_prcm_hwmod_class,
+ .flags = HWMOD_NO_IDLEST,
};
/* cm_core */
static struct omap_hwmod omap44xx_cm_core_hwmod = {
.name = "cm_core",
.class = &omap44xx_prcm_hwmod_class,
+ .flags = HWMOD_NO_IDLEST,
};
/* prm */
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] ARM: OMAP4+: hwmod code: remove clkdm requirement in _omap4_wait_target_*()
2012-09-18 21:12 [PATCH 0/3] ARM: OMAP2+: hwmod: resolve some OMAP4 warnings Paul Walmsley
2012-09-18 21:12 ` [PATCH 1/3] ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks Paul Walmsley
@ 2012-09-18 21:12 ` Paul Walmsley
2012-09-18 21:12 ` [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages Paul Walmsley
2 siblings, 0 replies; 7+ messages in thread
From: Paul Walmsley @ 2012-09-18 21:12 UTC (permalink / raw)
To: linux-arm-kernel
We're no longer requiring struct omap_hwmod records to contain a
clockdomain. So we shouldn't return -EINVAL any more from
_omap4_wait_target_disable() or _omap4_wait_target_ready() if there's
no clockdomain defined, since that just gets passed back to the
caller. This can result in pointless warnings under the relaxed data
format.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Beno?t Cousson <b-cousson@ti.com>
---
arch/arm/mach-omap2/omap_hwmod.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 37afbd1..80cea5b 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -878,10 +878,10 @@ static void _omap4_enable_module(struct omap_hwmod *oh)
*/
static int _omap4_wait_target_disable(struct omap_hwmod *oh)
{
- if (!oh || !oh->clkdm)
+ if (!oh)
return -EINVAL;
- if (oh->_int_flags & _HWMOD_NO_MPU_PORT)
+ if (oh->_int_flags & _HWMOD_NO_MPU_PORT || !oh->clkdm)
return 0;
if (oh->flags & HWMOD_NO_IDLEST)
@@ -2531,10 +2531,10 @@ static int _omap2_wait_target_ready(struct omap_hwmod *oh)
*/
static int _omap4_wait_target_ready(struct omap_hwmod *oh)
{
- if (!oh || !oh->clkdm)
+ if (!oh)
return -EINVAL;
- if (oh->flags & HWMOD_NO_IDLEST)
+ if (oh->flags & HWMOD_NO_IDLEST || !oh->clkdm)
return 0;
if (!_find_mpu_rt_port(oh))
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages
2012-09-18 21:12 [PATCH 0/3] ARM: OMAP2+: hwmod: resolve some OMAP4 warnings Paul Walmsley
2012-09-18 21:12 ` [PATCH 1/3] ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks Paul Walmsley
2012-09-18 21:12 ` [PATCH 2/3] ARM: OMAP4+: hwmod code: remove clkdm requirement in _omap4_wait_target_*() Paul Walmsley
@ 2012-09-18 21:12 ` Paul Walmsley
2012-09-18 21:50 ` Cousson, Benoit
2 siblings, 1 reply; 7+ messages in thread
From: Paul Walmsley @ 2012-09-18 21:12 UTC (permalink / raw)
To: linux-arm-kernel
The decision was made a few months ago to allow struct omap_hwmod
records and struct clk records to omit clockdomain information if the
clockdomain is not software-controllable. See for example commit
868c157df9721675c19729eed2c96bac6c3f1d01 ("ARM: OMAP2+: hwmod: remove
prm_clkdm, cm_clkdm; allow hwmods to have no clockdomain").
So convert an existing pr_warning() to a pr_debug() (regarding missing
clockdomains in clocks), and add a pr_debug() for missing hwmod
clockdomains. It's still useful to enable these messages for
debugging, since missing clockdomains can cause hard-to-debug problems
with power management; see for example commit
6c4a057bffe9823221eab547e11fac181dc18a2b ("ARM: OMAP4: clock data:
Force a DPLL clkdm/pwrdm ON before a relock").
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Beno?t Cousson <b-cousson@ti.com>
---
arch/arm/mach-omap2/omap_hwmod.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 80cea5b..e05228a 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -685,8 +685,8 @@ static int _init_main_clk(struct omap_hwmod *oh)
}
if (!oh->_clk->clkdm)
- pr_warning("omap_hwmod: %s: missing clockdomain for %s.\n",
- oh->main_clk, oh->_clk->name);
+ pr_debug("omap_hwmod: %s: missing clockdomain for %s.\n",
+ oh->main_clk, oh->_clk->name);
return ret;
}
@@ -1380,8 +1380,10 @@ static struct omap_hwmod *_lookup(const char *name)
*/
static int _init_clkdm(struct omap_hwmod *oh)
{
- if (!oh->clkdm_name)
+ if (!oh->clkdm_name) {
+ pr_debug("omap_hwmod: %s: missing clockdomain\n", oh->name);
return 0;
+ }
oh->clkdm = clkdm_lookup(oh->clkdm_name);
if (!oh->clkdm) {
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages
2012-09-18 21:12 ` [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages Paul Walmsley
@ 2012-09-18 21:50 ` Cousson, Benoit
2012-09-19 22:48 ` Paul Walmsley
0 siblings, 1 reply; 7+ messages in thread
From: Cousson, Benoit @ 2012-09-18 21:50 UTC (permalink / raw)
To: linux-arm-kernel
Hi Paul,
On 9/18/2012 4:12 PM, Paul Walmsley wrote:
> The decision was made a few months ago to allow struct omap_hwmod
> records and struct clk records to omit clockdomain information if the
> clockdomain is not software-controllable. See for example commit
> 868c157df9721675c19729eed2c96bac6c3f1d01 ("ARM: OMAP2+: hwmod: remove
> prm_clkdm, cm_clkdm; allow hwmods to have no clockdomain").
>
> So convert an existing pr_warning() to a pr_debug() (regarding missing
> clockdomains in clocks), and add a pr_debug() for missing hwmod
> clockdomains.
At some point I sent you a small RFC to still keep the message if
neither oh->clkdm nor oh->_clk->clkdm was there. I've never had the time
to test it, but that should then cover OMAP2, 3 & 4 cases.
Regards,
Benoit
> It's still useful to enable these messages for
> debugging, since missing clockdomains can cause hard-to-debug problems
> with power management; see for example commit
> 6c4a057bffe9823221eab547e11fac181dc18a2b ("ARM: OMAP4: clock data:
> Force a DPLL clkdm/pwrdm ON before a relock").
>
> Signed-off-by: Paul Walmsley <paul@pwsan.com>
> Cc: Beno?t Cousson <b-cousson@ti.com>
> ---
> arch/arm/mach-omap2/omap_hwmod.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
> index 80cea5b..e05228a 100644
> --- a/arch/arm/mach-omap2/omap_hwmod.c
> +++ b/arch/arm/mach-omap2/omap_hwmod.c
> @@ -685,8 +685,8 @@ static int _init_main_clk(struct omap_hwmod *oh)
> }
>
> if (!oh->_clk->clkdm)
> - pr_warning("omap_hwmod: %s: missing clockdomain for %s.\n",
> - oh->main_clk, oh->_clk->name);
> + pr_debug("omap_hwmod: %s: missing clockdomain for %s.\n",
> + oh->main_clk, oh->_clk->name);
>
> return ret;
> }
> @@ -1380,8 +1380,10 @@ static struct omap_hwmod *_lookup(const char *name)
> */
> static int _init_clkdm(struct omap_hwmod *oh)
> {
> - if (!oh->clkdm_name)
> + if (!oh->clkdm_name) {
> + pr_debug("omap_hwmod: %s: missing clockdomain\n", oh->name);
> return 0;
> + }
>
> oh->clkdm = clkdm_lookup(oh->clkdm_name);
> if (!oh->clkdm) {
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages
2012-09-18 21:50 ` Cousson, Benoit
@ 2012-09-19 22:48 ` Paul Walmsley
2012-09-19 22:58 ` Cousson, Benoit
0 siblings, 1 reply; 7+ messages in thread
From: Paul Walmsley @ 2012-09-19 22:48 UTC (permalink / raw)
To: linux-arm-kernel
Hi Beno?t,
On Tue, 18 Sep 2012, Cousson, Benoit wrote:
> On 9/18/2012 4:12 PM, Paul Walmsley wrote:
> > The decision was made a few months ago to allow struct omap_hwmod
> > records and struct clk records to omit clockdomain information if the
> > clockdomain is not software-controllable. See for example commit
> > 868c157df9721675c19729eed2c96bac6c3f1d01 ("ARM: OMAP2+: hwmod: remove
> > prm_clkdm, cm_clkdm; allow hwmods to have no clockdomain").
> >
> > So convert an existing pr_warning() to a pr_debug() (regarding missing
> > clockdomains in clocks), and add a pr_debug() for missing hwmod
> > clockdomains.
>
> At some point I sent you a small RFC to still keep the message if neither
> oh->clkdm nor oh->_clk->clkdm was there. I've never had the time to test it,
> but that should then cover OMAP2, 3 & 4 cases.
OK let's plan to test and add something like that during the 3.8 time
frame... probably it should also depend on the value of clkdm_control.
It's not clear to me exactly what that conditional should look like...
- Paul
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages
2012-09-19 22:48 ` Paul Walmsley
@ 2012-09-19 22:58 ` Cousson, Benoit
0 siblings, 0 replies; 7+ messages in thread
From: Cousson, Benoit @ 2012-09-19 22:58 UTC (permalink / raw)
To: linux-arm-kernel
Hi Paul,
On 9/19/2012 5:48 PM, Paul Walmsley wrote:
> Hi Beno?t,
>
> On Tue, 18 Sep 2012, Cousson, Benoit wrote:
>
>> On 9/18/2012 4:12 PM, Paul Walmsley wrote:
>>> The decision was made a few months ago to allow struct omap_hwmod
>>> records and struct clk records to omit clockdomain information if the
>>> clockdomain is not software-controllable. See for example commit
>>> 868c157df9721675c19729eed2c96bac6c3f1d01 ("ARM: OMAP2+: hwmod: remove
>>> prm_clkdm, cm_clkdm; allow hwmods to have no clockdomain").
>>>
>>> So convert an existing pr_warning() to a pr_debug() (regarding missing
>>> clockdomains in clocks), and add a pr_debug() for missing hwmod
>>> clockdomains.
>>
>> At some point I sent you a small RFC to still keep the message if neither
>> oh->clkdm nor oh->_clk->clkdm was there. I've never had the time to test it,
>> but that should then cover OMAP2, 3 & 4 cases.
>
> OK let's plan to test and add something like that during the 3.8 time
> frame... probably it should also depend on the value of clkdm_control.
> It's not clear to me exactly what that conditional should look like...
OK, I was thinking of a more basic thing. If some more values have to be
checked it might be a little bit more tricky.
Let's see that later.
Thanks,
Benoit
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-09-19 22:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-18 21:12 [PATCH 0/3] ARM: OMAP2+: hwmod: resolve some OMAP4 warnings Paul Walmsley
2012-09-18 21:12 ` [PATCH 1/3] ARM: OMAP4: hwmod data: add missing HWMOD_NO_IDLEST flags to some PRCM IP blocks Paul Walmsley
2012-09-18 21:12 ` [PATCH 2/3] ARM: OMAP4+: hwmod code: remove clkdm requirement in _omap4_wait_target_*() Paul Walmsley
2012-09-18 21:12 ` [PATCH 3/3] ARM: OMAP2+: hwmod code: convert missing clockdomain warnings to debug messages Paul Walmsley
2012-09-18 21:50 ` Cousson, Benoit
2012-09-19 22:48 ` Paul Walmsley
2012-09-19 22:58 ` Cousson, Benoit
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).