Skip to contentSkip to conversation

arm: omap2+: add missing HWMOD_NO_IDLEST in 81xx hwmod data

PATCH Superseded Neil Armstrong 2 participants 6 messages Oct 22, 2015 – Nov 13, 2015

Subsystems (4)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/4 arm: omap2+: add missing HWMOD_NO_IDLEST in 81xx hwmod data

Add missing HWMOD_NO_IDLEST hwmod flag for entries no having omap4 clkctrl values.

Cc Brian Hutchinson <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 3 +++
 1 file changed, 3 insertions(+)
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +3 -0
index b1288f5..6256052 100644
@@ -144,6 +144,7 @@ static struct omap_hwmod dm81xx_l4_ls_hwmod = {
 	.name		= "l4_ls",
 	.clkdm_name	= "alwon_l3s_clkdm",
 	.class		= &l4_hwmod_class,
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /*
@@ -155,6 +156,7 @@ static struct omap_hwmod dm81xx_l4_hs_hwmod = {
 	.name		= "l4_hs",
 	.clkdm_name	= "alwon_l3_med_clkdm",
 	.class		= &l4_hwmod_class,
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* L3 slow -> L4 ls peripheral interface running at 125MHz */
@@ -850,6 +852,7 @@ static struct omap_hwmod dm816x_emac0_hwmod = {
 	.name		= "emac0",
 	.clkdm_name	= "alwon_ethernet_clkdm",
 	.class		= &dm816x_emac_hwmod_class,
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 static struct omap_hwmod_ocp_if dm81xx_l4_hs__emac0 = {
Signature · 1 line
1.9.1
maintainer
#1 lore raw

Hi,

Quoted 2 lines · Neil Armstrong

Add missing HWMOD_NO_IDLEST hwmod flag for entries no having omap4 clkctrl values.

Have you checked this is the case both in dm814x and dm816x TRM? Also the documentation may not be complete FYI, might be also worth checking the legacy TI kernel tree to be sure.

Regards,

Tony

Quoted 36 lines
Cc Brian Hutchinson <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 3 +++
 1 file changed, 3 insertions(+)
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +3 -0
index b1288f5..6256052 100644
@@ -144,6 +144,7 @@ static struct omap_hwmod dm81xx_l4_ls_hwmod = {
 	.name		= "l4_ls",
 	.clkdm_name	= "alwon_l3s_clkdm",
 	.class		= &l4_hwmod_class,
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /*
@@ -155,6 +156,7 @@ static struct omap_hwmod dm81xx_l4_hs_hwmod = {
 	.name		= "l4_hs",
 	.clkdm_name	= "alwon_l3_med_clkdm",
 	.class		= &l4_hwmod_class,
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 /* L3 slow -> L4 ls peripheral interface running at 125MHz */
@@ -850,6 +852,7 @@ static struct omap_hwmod dm816x_emac0_hwmod = {
 	.name		= "emac0",
 	.clkdm_name	= "alwon_ethernet_clkdm",
 	.class		= &dm816x_emac_hwmod_class,
+	.flags		= HWMOD_NO_IDLEST,
 };
 
 static struct omap_hwmod_ocp_if dm81xx_l4_hs__emac0 = {
Signature · 1 line
1.9.1
#2 lore raw

Hi,

2015-10-24 3:21 GMT+02:00 Tony Lindgren <[email protected]>:

Quoted 21 lines

Hi,

Quoted 2 lines · Neil Armstrong

Add missing HWMOD_NO_IDLEST hwmod flag for entries no having omap4 clkctrl values.

Have you checked this is the case both in dm814x and dm816x TRM? Also the documentation may not be complete FYI, might be also worth checking the legacy TI kernel tree to be sure.

Regards,

Tony

Quoted 6 lines
Cc Brian Hutchinson <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 3 +++
 1 file changed, 3 insertions(+)
Quoted 10 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_ls_hwmod = { · line 148

Quoted 10 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
index b1288f5..6256052 100644
@@ -144,6 +144,7 @@ static struct omap_hwmod dm81xx_l4_ls_hwmod = {
      .name           = "l4_ls",
      .clkdm_name     = "alwon_l3s_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_SLOW_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_hs_hwmod = { · line 160

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /*
@@ -155,6 +156,7 @@ static struct omap_hwmod dm81xx_l4_hs_hwmod = {
      .name           = "l4_hs",
      .clkdm_name     = "alwon_l3_med_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_MED_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm816x_emac0_hwmod = { · line 856

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /* L3 slow -> L4 ls peripheral interface running at 125MHz */
@@ -850,6 +852,7 @@ static struct omap_hwmod dm816x_emac0_hwmod = {
      .name           = "emac0",
      .clkdm_name     = "alwon_ethernet_clkdm",
      .class          = &dm816x_emac_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In this particular case, the IDLEST is handled in the MDIO hwmod.

Quoted 4 lines
Quoted 4 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +0 -1
 static struct omap_hwmod_ocp_if dm81xx_l4_hs__emac0 = {
--

1.9.1

I'll check the TI tree to be sure...

Regards,
Neil

#3 lore raw
Quoted 59 lines · Neil Armstrong

Hi,

2015-10-24 3:21 GMT+02:00 Tony Lindgren <[email protected]>:

Quoted 21 lines

Hi,

Quoted 2 lines · Neil Armstrong

Add missing HWMOD_NO_IDLEST hwmod flag for entries no having omap4 clkctrl values.

Have you checked this is the case both in dm814x and dm816x TRM? Also the documentation may not be complete FYI, might be also worth checking the legacy TI kernel tree to be sure.

Regards,

Tony

Quoted 6 lines
Cc Brian Hutchinson <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 3 +++
 1 file changed, 3 insertions(+)
Quoted 10 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_ls_hwmod = { · line 148

Quoted 10 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
index b1288f5..6256052 100644
@@ -144,6 +144,7 @@ static struct omap_hwmod dm81xx_l4_ls_hwmod = {
      .name           = "l4_ls",
      .clkdm_name     = "alwon_l3s_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_SLOW_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_hs_hwmod = { · line 160

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /*
@@ -155,6 +156,7 @@ static struct omap_hwmod dm81xx_l4_hs_hwmod = {
      .name           = "l4_hs",
      .clkdm_name     = "alwon_l3_med_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_MED_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm816x_emac0_hwmod = { · line 856

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /* L3 slow -> L4 ls peripheral interface running at 125MHz */
@@ -850,6 +852,7 @@ static struct omap_hwmod dm816x_emac0_hwmod = {
      .name           = "emac0",
      .clkdm_name     = "alwon_ethernet_clkdm",
      .class          = &dm816x_emac_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In this particular case, the IDLEST is handled in the MDIO hwmod.

Quoted 1 line
Quoted 1 line
Quoted 9 lines
Quoted 3 lines
Quoted 3 lines

static struct omap_hwmod_ocp_if dm81xx_l4_hs__emac0 = {
--
1.9.1

I'll check the TI tree to be sure...

Regards,
Neil

Tony,

In TI's tree, there is no L3_MED hwmod but the L3_SLOW hwmod has NO_IDLEST flag.

Is there any other issue about this patchset ?

Neil

maintainer
#4 lore raw
Quoted 66 lines · Neil Armstrong
Quoted 65 lines · Neil Armstrong

Hi,

2015-10-24 3:21 GMT+02:00 Tony Lindgren <[email protected]>:

Quoted 21 lines

Hi,

Quoted 2 lines · Neil Armstrong

Add missing HWMOD_NO_IDLEST hwmod flag for entries no having omap4 clkctrl values.

Have you checked this is the case both in dm814x and dm816x TRM? Also the documentation may not be complete FYI, might be also worth checking the legacy TI kernel tree to be sure.

Regards,

Tony

Quoted 6 lines
Cc Brian Hutchinson <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 3 +++
 1 file changed, 3 insertions(+)
Quoted 10 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_ls_hwmod = { · line 148

Quoted 10 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
index b1288f5..6256052 100644
@@ -144,6 +144,7 @@ static struct omap_hwmod dm81xx_l4_ls_hwmod = {
      .name           = "l4_ls",
      .clkdm_name     = "alwon_l3s_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_SLOW_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_hs_hwmod = { · line 160

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /*
@@ -155,6 +156,7 @@ static struct omap_hwmod dm81xx_l4_hs_hwmod = {
      .name           = "l4_hs",
      .clkdm_name     = "alwon_l3_med_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_MED_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm816x_emac0_hwmod = { · line 856

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /* L3 slow -> L4 ls peripheral interface running at 125MHz */
@@ -850,6 +852,7 @@ static struct omap_hwmod dm816x_emac0_hwmod = {
      .name           = "emac0",
      .clkdm_name     = "alwon_ethernet_clkdm",
      .class          = &dm816x_emac_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In this particular case, the IDLEST is handled in the MDIO hwmod.

Quoted 4 lines
Quoted 4 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +0 -1
 static struct omap_hwmod_ocp_if dm81xx_l4_hs__emac0 = {
--

1.9.1

I'll check the TI tree to be sure...

Quoted 8 lines
Quoted 3 lines

Regards,
Neil

Tony,

In TI's tree, there is no L3_MED hwmod but the L3_SLOW hwmod has NO_IDLEST flag.

Is there any other issue about this patchset ?

Thanks for checking. Well one thing, if this is needed as fix, then a description of what happens without it would be good to have.

Regards,

Tony

#5 lore raw
Quoted 74 lines · Tony Lindgren
Quoted 73 lines · Neil Armstrong
Quoted 59 lines · Neil Armstrong

Hi,

2015-10-24 3:21 GMT+02:00 Tony Lindgren <[email protected]>:

Quoted 21 lines

Hi,

Quoted 2 lines · Neil Armstrong

Add missing HWMOD_NO_IDLEST hwmod flag for entries no having omap4 clkctrl values.

Have you checked this is the case both in dm814x and dm816x TRM? Also the documentation may not be complete FYI, might be also worth checking the legacy TI kernel tree to be sure.

Regards,

Tony

Quoted 6 lines
Cc Brian Hutchinson <[email protected]>
---
 arch/arm/mach-omap2/omap_hwmod_81xx_data.c | 3 +++
 1 file changed, 3 insertions(+)
Quoted 10 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_ls_hwmod = { · line 148

Quoted 10 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
index b1288f5..6256052 100644
@@ -144,6 +144,7 @@ static struct omap_hwmod dm81xx_l4_ls_hwmod = {
      .name           = "l4_ls",
      .clkdm_name     = "alwon_l3s_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_SLOW_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm81xx_l4_hs_hwmod = { · line 160

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /*
@@ -155,6 +156,7 @@ static struct omap_hwmod dm81xx_l4_hs_hwmod = {
      .name           = "l4_hs",
      .clkdm_name     = "alwon_l3_med_clkdm",
      .class          = &l4_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In DM814x TRM, the CM_ALWON_L3_MED_CLKSTCTRL does not have IDLEST field. Same in DM816x TRM.

Quoted 8 lines

arch/arm/mach-omap2/omap_hwmod_81xx_data.c static struct omap_hwmod dm816x_emac0_hwmod = { · line 856

Quoted 8 lines
arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1 -0
 /* L3 slow -> L4 ls peripheral interface running at 125MHz */
@@ -850,6 +852,7 @@ static struct omap_hwmod dm816x_emac0_hwmod = {
      .name           = "emac0",
      .clkdm_name     = "alwon_ethernet_clkdm",
      .class          = &dm816x_emac_hwmod_class,
+     .flags          = HWMOD_NO_IDLEST,
 };

In this particular case, the IDLEST is handled in the MDIO hwmod.

Quoted 1 line
Quoted 1 line
Quoted 9 lines
Quoted 3 lines
Quoted 3 lines

static struct omap_hwmod_ocp_if dm81xx_l4_hs__emac0 = {
--
1.9.1

I'll check the TI tree to be sure...

Regards,
Neil

Tony,

In TI's tree, there is no L3_MED hwmod but the L3_SLOW hwmod has NO_IDLEST flag.

Quoted 9 lines
Quoted 1 line

Is there any other issue about this patchset ?

Thanks for checking. Well one thing, if this is needed as fix, then a description of what happens without it would be good to have.

Regards,

Tony

Tony,

I'll send a patchset with the error lines in a few minutes.

Neil