Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-09 Thread Benoit Cousson

Salut Paul,

On 08/12/2013 17:26, Paul Walmsley wrote:

Hi Benoît,

On Tue, 3 Dec 2013, Roger Quadros wrote:


Without this, the USB devices are sometimes not detected on OMAP4 Panda
with u-boot v2013.10.

Unlike what the comment states, errata i660 does not state that we
can't RESET the USB host module. Instead it states that RESET is the
only way to recover from a deadlock situation.

RESET ensures that the module is in a known good state irrespective
of what bootloader does with the module, so it must be done at boot.

Reported-by: Tomi Valkeinen 
Signed-off-by: Roger Quadros 


Acked-by: Paul Walmsley 

Will you pick this up for the -rc series, or do you want me or Tony to?
Roger writes that this one's pretty important.


I guess, it is better for you to take it. I don't have anything queued 
for -rc.


Acked-by: Benoit Cousson 

Thanks,
Benoit




- Paul



---
  arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
  arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
  2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index 1e5b12c..3318cae9 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
omap44xx_usb_host_hs_sysc = {
.sysc_offs  = 0x0010,
.syss_offs  = 0x0014,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
-  SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */

-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
  };

  /*
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
index 9e08d69..e297d62 100644
--- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
@@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
omap54xx_usb_host_hs_sysc = {
.rev_offs   = 0x,
.sysc_offs  = 0x0010,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
-  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
+  SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */

-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
.main_clk   = "l3init_60m_fclk",
.prcm = {
.omap4 = {
--
1.8.3.2




- Paul




--
Benoît Cousson
BayLibre
Embedded Linux Technology Lab
www.baylibre.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-09 Thread Benoit Cousson

Salut Paul,

On 08/12/2013 17:26, Paul Walmsley wrote:

Hi Benoît,

On Tue, 3 Dec 2013, Roger Quadros wrote:


Without this, the USB devices are sometimes not detected on OMAP4 Panda
with u-boot v2013.10.

Unlike what the comment states, errata i660 does not state that we
can't RESET the USB host module. Instead it states that RESET is the
only way to recover from a deadlock situation.

RESET ensures that the module is in a known good state irrespective
of what bootloader does with the module, so it must be done at boot.

Reported-by: Tomi Valkeinen tomi.valkei...@ti.com
Signed-off-by: Roger Quadros rog...@ti.com


Acked-by: Paul Walmsley p...@pwsan.com

Will you pick this up for the -rc series, or do you want me or Tony to?
Roger writes that this one's pretty important.


I guess, it is better for you to take it. I don't have anything queued 
for -rc.


Acked-by: Benoit Cousson bcous...@baylibre.com

Thanks,
Benoit




- Paul



---
  arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
  arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
  2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index 1e5b12c..3318cae9 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
omap44xx_usb_host_hs_sysc = {
.sysc_offs  = 0x0010,
.syss_offs  = 0x0014,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
-  SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */

-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
  };

  /*
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
index 9e08d69..e297d62 100644
--- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
@@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
omap54xx_usb_host_hs_sysc = {
.rev_offs   = 0x,
.sysc_offs  = 0x0010,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
-  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
+  SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */

-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
.main_clk   = l3init_60m_fclk,
.prcm = {
.omap4 = {
--
1.8.3.2




- Paul




--
Benoît Cousson
BayLibre
Embedded Linux Technology Lab
www.baylibre.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-08 Thread Paul Walmsley
On Sun, 8 Dec 2013, Tony Lindgren wrote:

> * Paul Walmsley  [131208 17:27]:
> > On Tue, 3 Dec 2013, Roger Quadros wrote:
> > 
> > > Without this, the USB devices are sometimes not detected on OMAP4 Panda
> > > with u-boot v2013.10.
> > > 
> > > Unlike what the comment states, errata i660 does not state that we
> > > can't RESET the USB host module. Instead it states that RESET is the
> > > only way to recover from a deadlock situation.
> > > 
> > > RESET ensures that the module is in a known good state irrespective
> > > of what bootloader does with the module, so it must be done at boot.
> > > 
> > > Reported-by: Tomi Valkeinen 
> > > Signed-off-by: Roger Quadros 
> > 
> > Acked-by: Paul Walmsley 
> > 
> > Will you pick this up for the -rc series, or do you want me or Tony to?  
> > Roger writes that this one's pretty important.
> 
> I suggest that you just queue this with your other fixes so we get
> things working.

I'm going to wait until tomorrow anyway to see if Sathya responds to my 
other E-mail, so maybe Benoît will let us know by then.


- Paul

Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-08 Thread Tony Lindgren
* Paul Walmsley  [131208 17:27]:
> Hi Benoît,
> 
> On Tue, 3 Dec 2013, Roger Quadros wrote:
> 
> > Without this, the USB devices are sometimes not detected on OMAP4 Panda
> > with u-boot v2013.10.
> > 
> > Unlike what the comment states, errata i660 does not state that we
> > can't RESET the USB host module. Instead it states that RESET is the
> > only way to recover from a deadlock situation.
> > 
> > RESET ensures that the module is in a known good state irrespective
> > of what bootloader does with the module, so it must be done at boot.
> > 
> > Reported-by: Tomi Valkeinen 
> > Signed-off-by: Roger Quadros 
> 
> Acked-by: Paul Walmsley 
> 
> Will you pick this up for the -rc series, or do you want me or Tony to?  
> Roger writes that this one's pretty important.

I suggest that you just queue this with your other fixes so we get
things working.

Regards,

Tony
 
 
> >  arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
> >  arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
> >  2 files changed, 5 insertions(+), 20 deletions(-)
> > 
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
> > b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> > index 1e5b12c..3318cae9 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> > @@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
> > omap44xx_usb_host_hs_sysc = {
> > .sysc_offs  = 0x0010,
> > .syss_offs  = 0x0014,
> > .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
> > -  SYSC_HAS_SOFTRESET),
> > +  SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
> > .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
> >SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
> >MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
> > @@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod 
> > = {
> >  * hence HWMOD_SWSUP_MSTANDBY
> >  */
> >  
> > -   /*
> > -* During system boot; If the hwmod framework resets the module
> > -* the module will have smart idle settings; which can lead to deadlock
> > -* (above Errata Id:i660); so, dont reset the module during boot;
> > -* Use HWMOD_INIT_NO_RESET.
> > -*/
> > -
> > -   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
> > - HWMOD_INIT_NO_RESET,
> > +   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
> >  };
> >  
> >  /*
> > diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
> > b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
> > index 9e08d69..e297d62 100644
> > --- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
> > +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
> > @@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
> > omap54xx_usb_host_hs_sysc = {
> > .rev_offs   = 0x,
> > .sysc_offs  = 0x0010,
> > .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
> > -  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
> > +  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
> > +  SYSC_HAS_RESET_STATUS),
> > .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
> >SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
> >MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
> > @@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod 
> > = {
> >  * hence HWMOD_SWSUP_MSTANDBY
> >  */
> >  
> > -   /*
> > -* During system boot; If the hwmod framework resets the module
> > -* the module will have smart idle settings; which can lead to deadlock
> > -* (above Errata Id:i660); so, dont reset the module during boot;
> > -* Use HWMOD_INIT_NO_RESET.
> > -*/
> > -
> > -   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
> > - HWMOD_INIT_NO_RESET,
> > +   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
> > .main_clk   = "l3init_60m_fclk",
> > .prcm = {
> > .omap4 = {
> > -- 
> > 1.8.3.2
> > 
> 
> 
> - Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-08 Thread Paul Walmsley
Hi Benoît,

On Tue, 3 Dec 2013, Roger Quadros wrote:

> Without this, the USB devices are sometimes not detected on OMAP4 Panda
> with u-boot v2013.10.
> 
> Unlike what the comment states, errata i660 does not state that we
> can't RESET the USB host module. Instead it states that RESET is the
> only way to recover from a deadlock situation.
> 
> RESET ensures that the module is in a known good state irrespective
> of what bootloader does with the module, so it must be done at boot.
> 
> Reported-by: Tomi Valkeinen 
> Signed-off-by: Roger Quadros 

Acked-by: Paul Walmsley 

Will you pick this up for the -rc series, or do you want me or Tony to?  
Roger writes that this one's pretty important.


- Paul


> ---
>  arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
>  arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
>  2 files changed, 5 insertions(+), 20 deletions(-)
> 
> diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
> b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> index 1e5b12c..3318cae9 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> @@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
> omap44xx_usb_host_hs_sysc = {
>   .sysc_offs  = 0x0010,
>   .syss_offs  = 0x0014,
>   .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
> -SYSC_HAS_SOFTRESET),
> +SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
>   .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
>  SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
>  MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
> @@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
>* hence HWMOD_SWSUP_MSTANDBY
>*/
>  
> - /*
> -  * During system boot; If the hwmod framework resets the module
> -  * the module will have smart idle settings; which can lead to deadlock
> -  * (above Errata Id:i660); so, dont reset the module during boot;
> -  * Use HWMOD_INIT_NO_RESET.
> -  */
> -
> - .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
> -   HWMOD_INIT_NO_RESET,
> + .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
>  };
>  
>  /*
> diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
> b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
> index 9e08d69..e297d62 100644
> --- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
> +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
> @@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
> omap54xx_usb_host_hs_sysc = {
>   .rev_offs   = 0x,
>   .sysc_offs  = 0x0010,
>   .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
> -SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
> +SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
> +SYSC_HAS_RESET_STATUS),
>   .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
>  SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
>  MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
> @@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod = {
>* hence HWMOD_SWSUP_MSTANDBY
>*/
>  
> - /*
> -  * During system boot; If the hwmod framework resets the module
> -  * the module will have smart idle settings; which can lead to deadlock
> -  * (above Errata Id:i660); so, dont reset the module during boot;
> -  * Use HWMOD_INIT_NO_RESET.
> -  */
> -
> - .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
> -   HWMOD_INIT_NO_RESET,
> + .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
>   .main_clk   = "l3init_60m_fclk",
>   .prcm = {
>   .omap4 = {
> -- 
> 1.8.3.2
> 


- Paul

Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-08 Thread Paul Walmsley
Hi Benoît,

On Tue, 3 Dec 2013, Roger Quadros wrote:

 Without this, the USB devices are sometimes not detected on OMAP4 Panda
 with u-boot v2013.10.
 
 Unlike what the comment states, errata i660 does not state that we
 can't RESET the USB host module. Instead it states that RESET is the
 only way to recover from a deadlock situation.
 
 RESET ensures that the module is in a known good state irrespective
 of what bootloader does with the module, so it must be done at boot.
 
 Reported-by: Tomi Valkeinen tomi.valkei...@ti.com
 Signed-off-by: Roger Quadros rog...@ti.com

Acked-by: Paul Walmsley p...@pwsan.com

Will you pick this up for the -rc series, or do you want me or Tony to?  
Roger writes that this one's pretty important.


- Paul


 ---
  arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
  arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
  2 files changed, 5 insertions(+), 20 deletions(-)
 
 diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
 b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 index 1e5b12c..3318cae9 100644
 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
 @@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
 omap44xx_usb_host_hs_sysc = {
   .sysc_offs  = 0x0010,
   .syss_offs  = 0x0014,
   .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
 -SYSC_HAS_SOFTRESET),
 +SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
   .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
  SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
  MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
 @@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
* hence HWMOD_SWSUP_MSTANDBY
*/
  
 - /*
 -  * During system boot; If the hwmod framework resets the module
 -  * the module will have smart idle settings; which can lead to deadlock
 -  * (above Errata Id:i660); so, dont reset the module during boot;
 -  * Use HWMOD_INIT_NO_RESET.
 -  */
 -
 - .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
 -   HWMOD_INIT_NO_RESET,
 + .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
  };
  
  /*
 diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
 b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
 index 9e08d69..e297d62 100644
 --- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
 +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
 @@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
 omap54xx_usb_host_hs_sysc = {
   .rev_offs   = 0x,
   .sysc_offs  = 0x0010,
   .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
 -SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
 +SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
 +SYSC_HAS_RESET_STATUS),
   .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
  SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
  MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
 @@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod = {
* hence HWMOD_SWSUP_MSTANDBY
*/
  
 - /*
 -  * During system boot; If the hwmod framework resets the module
 -  * the module will have smart idle settings; which can lead to deadlock
 -  * (above Errata Id:i660); so, dont reset the module during boot;
 -  * Use HWMOD_INIT_NO_RESET.
 -  */
 -
 - .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
 -   HWMOD_INIT_NO_RESET,
 + .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
   .main_clk   = l3init_60m_fclk,
   .prcm = {
   .omap4 = {
 -- 
 1.8.3.2
 


- Paul

Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-08 Thread Tony Lindgren
* Paul Walmsley p...@pwsan.com [131208 17:27]:
 Hi Benoît,
 
 On Tue, 3 Dec 2013, Roger Quadros wrote:
 
  Without this, the USB devices are sometimes not detected on OMAP4 Panda
  with u-boot v2013.10.
  
  Unlike what the comment states, errata i660 does not state that we
  can't RESET the USB host module. Instead it states that RESET is the
  only way to recover from a deadlock situation.
  
  RESET ensures that the module is in a known good state irrespective
  of what bootloader does with the module, so it must be done at boot.
  
  Reported-by: Tomi Valkeinen tomi.valkei...@ti.com
  Signed-off-by: Roger Quadros rog...@ti.com
 
 Acked-by: Paul Walmsley p...@pwsan.com
 
 Will you pick this up for the -rc series, or do you want me or Tony to?  
 Roger writes that this one's pretty important.

I suggest that you just queue this with your other fixes so we get
things working.

Regards,

Tony
 
 
   arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
   arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
   2 files changed, 5 insertions(+), 20 deletions(-)
  
  diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
  b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
  index 1e5b12c..3318cae9 100644
  --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
  +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
  @@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
  omap44xx_usb_host_hs_sysc = {
  .sysc_offs  = 0x0010,
  .syss_offs  = 0x0014,
  .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
  -  SYSC_HAS_SOFTRESET),
  +  SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
  .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
 MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
  @@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod 
  = {
   * hence HWMOD_SWSUP_MSTANDBY
   */
   
  -   /*
  -* During system boot; If the hwmod framework resets the module
  -* the module will have smart idle settings; which can lead to deadlock
  -* (above Errata Id:i660); so, dont reset the module during boot;
  -* Use HWMOD_INIT_NO_RESET.
  -*/
  -
  -   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
  - HWMOD_INIT_NO_RESET,
  +   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
   };
   
   /*
  diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
  b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
  index 9e08d69..e297d62 100644
  --- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
  +++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
  @@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
  omap54xx_usb_host_hs_sysc = {
  .rev_offs   = 0x,
  .sysc_offs  = 0x0010,
  .sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
  -  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
  +  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
  +  SYSC_HAS_RESET_STATUS),
  .idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
 SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
 MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
  @@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod 
  = {
   * hence HWMOD_SWSUP_MSTANDBY
   */
   
  -   /*
  -* During system boot; If the hwmod framework resets the module
  -* the module will have smart idle settings; which can lead to deadlock
  -* (above Errata Id:i660); so, dont reset the module during boot;
  -* Use HWMOD_INIT_NO_RESET.
  -*/
  -
  -   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
  - HWMOD_INIT_NO_RESET,
  +   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
  .main_clk   = l3init_60m_fclk,
  .prcm = {
  .omap4 = {
  -- 
  1.8.3.2
  
 
 
 - Paul

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-08 Thread Paul Walmsley
On Sun, 8 Dec 2013, Tony Lindgren wrote:

 * Paul Walmsley p...@pwsan.com [131208 17:27]:
  On Tue, 3 Dec 2013, Roger Quadros wrote:
  
   Without this, the USB devices are sometimes not detected on OMAP4 Panda
   with u-boot v2013.10.
   
   Unlike what the comment states, errata i660 does not state that we
   can't RESET the USB host module. Instead it states that RESET is the
   only way to recover from a deadlock situation.
   
   RESET ensures that the module is in a known good state irrespective
   of what bootloader does with the module, so it must be done at boot.
   
   Reported-by: Tomi Valkeinen tomi.valkei...@ti.com
   Signed-off-by: Roger Quadros rog...@ti.com
  
  Acked-by: Paul Walmsley p...@pwsan.com
  
  Will you pick this up for the -rc series, or do you want me or Tony to?  
  Roger writes that this one's pretty important.
 
 I suggest that you just queue this with your other fixes so we get
 things working.

I'm going to wait until tomorrow anyway to see if Sathya responds to my 
other E-mail, so maybe Benoît will let us know by then.


- Paul

[PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-03 Thread Roger Quadros
Without this, the USB devices are sometimes not detected on OMAP4 Panda
with u-boot v2013.10.

Unlike what the comment states, errata i660 does not state that we
can't RESET the USB host module. Instead it states that RESET is the
only way to recover from a deadlock situation.

RESET ensures that the module is in a known good state irrespective
of what bootloader does with the module, so it must be done at boot.

Reported-by: Tomi Valkeinen 
Signed-off-by: Roger Quadros 
---
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
 arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
 2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index 1e5b12c..3318cae9 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
omap44xx_usb_host_hs_sysc = {
.sysc_offs  = 0x0010,
.syss_offs  = 0x0014,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
-  SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */
 
-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
 };
 
 /*
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
index 9e08d69..e297d62 100644
--- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
@@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
omap54xx_usb_host_hs_sysc = {
.rev_offs   = 0x,
.sysc_offs  = 0x0010,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
-  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
+  SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */
 
-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
.main_clk   = "l3init_60m_fclk",
.prcm = {
.omap4 = {
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module

2013-12-03 Thread Roger Quadros
Without this, the USB devices are sometimes not detected on OMAP4 Panda
with u-boot v2013.10.

Unlike what the comment states, errata i660 does not state that we
can't RESET the USB host module. Instead it states that RESET is the
only way to recover from a deadlock situation.

RESET ensures that the module is in a known good state irrespective
of what bootloader does with the module, so it must be done at boot.

Reported-by: Tomi Valkeinen tomi.valkei...@ti.com
Signed-off-by: Roger Quadros rog...@ti.com
---
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 12 ++--
 arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 13 +++--
 2 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index 1e5b12c..3318cae9 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -2937,7 +2937,7 @@ static struct omap_hwmod_class_sysconfig 
omap44xx_usb_host_hs_sysc = {
.sysc_offs  = 0x0010,
.syss_offs  = 0x0014,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE |
-  SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SOFTRESET | SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -3001,15 +3001,7 @@ static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */
 
-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
 };
 
 /*
diff --git a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c 
b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
index 9e08d69..e297d62 100644
--- a/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_54xx_data.c
@@ -1544,7 +1544,8 @@ static struct omap_hwmod_class_sysconfig 
omap54xx_usb_host_hs_sysc = {
.rev_offs   = 0x,
.sysc_offs  = 0x0010,
.sysc_flags = (SYSC_HAS_MIDLEMODE | SYSC_HAS_RESET_STATUS |
-  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET),
+  SYSC_HAS_SIDLEMODE | SYSC_HAS_SOFTRESET |
+  SYSC_HAS_RESET_STATUS),
.idlemodes  = (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
   SIDLE_SMART_WKUP | MSTANDBY_FORCE | MSTANDBY_NO |
   MSTANDBY_SMART | MSTANDBY_SMART_WKUP),
@@ -1598,15 +1599,7 @@ static struct omap_hwmod omap54xx_usb_host_hs_hwmod = {
 * hence HWMOD_SWSUP_MSTANDBY
 */
 
-   /*
-* During system boot; If the hwmod framework resets the module
-* the module will have smart idle settings; which can lead to deadlock
-* (above Errata Id:i660); so, dont reset the module during boot;
-* Use HWMOD_INIT_NO_RESET.
-*/
-
-   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY |
- HWMOD_INIT_NO_RESET,
+   .flags  = HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
.main_clk   = l3init_60m_fclk,
.prcm = {
.omap4 = {
-- 
1.8.3.2

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/