All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Paul Walmsley <paul@pwsan.com>
Cc: bcousson@baylibre.com, Roger Quadros <rogerq@ti.com>,
	tomi.valkeinen@ti.com, balbi@ti.com, sr@denx.de,
	David.Laight@ACULAB.COM, michael@amarulasolutions.com,
	bigeasy@linutronix.de, linux-omap@vger.kernel.org,
	linux-usb@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module
Date: Sun, 8 Dec 2013 17:58:39 -0800	[thread overview]
Message-ID: <20131209015838.GA11433@atomide.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1312090125170.32309@utopia.booyaka.com>

* Paul Walmsley <paul@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.valkeinen@ti.com>
> > Signed-off-by: Roger Quadros <rogerq@ti.com>
> 
> Acked-by: Paul Walmsley <paul@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	= 0x0000,
> >  	.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

WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module
Date: Sun, 8 Dec 2013 17:58:39 -0800	[thread overview]
Message-ID: <20131209015838.GA11433@atomide.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1312090125170.32309@utopia.booyaka.com>

* Paul Walmsley <paul@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.valkeinen@ti.com>
> > Signed-off-by: Roger Quadros <rogerq@ti.com>
> 
> Acked-by: Paul Walmsley <paul@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	= 0x0000,
> >  	.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

  reply	other threads:[~2013-12-09  1:58 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-03 14:25 [PATCH v2 0/3] ARM: OMAP2+: USB Host bug fixes for 3.13 rc Roger Quadros
2013-12-03 14:25 ` Roger Quadros
2013-12-03 14:25 ` Roger Quadros
2013-12-03 14:25 ` [PATCH 1/3] ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module Roger Quadros
2013-12-03 14:25   ` Roger Quadros
2013-12-03 14:25   ` Roger Quadros
     [not found]   ` <1386080748-17005-2-git-send-email-rogerq-l0cyMroinI0@public.gmane.org>
2013-12-09  1:26     ` Paul Walmsley
2013-12-09  1:26       ` Paul Walmsley
2013-12-09  1:26       ` Paul Walmsley
2013-12-09  1:58       ` Tony Lindgren [this message]
2013-12-09  1:58         ` Tony Lindgren
2013-12-09  2:15         ` Paul Walmsley
2013-12-09  2:15           ` Paul Walmsley
2013-12-09 17:52       ` Benoit Cousson
2013-12-09 17:52         ` Benoit Cousson
2013-12-03 14:25 ` [PATCH 2/3] ARM: OMAP2+: hwmod: Fix RESET logic Roger Quadros
2013-12-03 14:25   ` Roger Quadros
2013-12-03 14:25   ` Roger Quadros
2013-12-09  1:32   ` Paul Walmsley
2013-12-09  1:32     ` Paul Walmsley
2013-12-09  1:32     ` Paul Walmsley
2013-12-03 14:25 ` [PATCH 3/3] ARM: OMAP3: hwmod data: Don't prevent RESET of USB Host module Roger Quadros
2013-12-03 14:25   ` Roger Quadros
2013-12-03 14:25   ` Roger Quadros
2013-12-09  1:34   ` Paul Walmsley
2013-12-09  1:34     ` Paul Walmsley
2013-12-04 10:00 ` [PATCH v2 0/3] ARM: OMAP2+: USB Host bug fixes for 3.13 rc Tomi Valkeinen
2013-12-04 10:00   ` Tomi Valkeinen
2013-12-04 10:00   ` Tomi Valkeinen
2013-12-05 18:48   ` Tony Lindgren
2013-12-05 18:48     ` Tony Lindgren
2013-12-06  9:14     ` Roger Quadros
2013-12-06  9:14       ` Roger Quadros
2013-12-06  9:14       ` Roger Quadros
     [not found]   ` <529EFD42.9070507-l0cyMroinI0@public.gmane.org>
2013-12-09  1:35     ` Paul Walmsley
2013-12-09  1:35       ` Paul Walmsley
2013-12-09  1:35       ` Paul Walmsley

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=20131209015838.GA11433@atomide.com \
    --to=tony@atomide.com \
    --cc=David.Laight@ACULAB.COM \
    --cc=balbi@ti.com \
    --cc=bcousson@baylibre.com \
    --cc=bigeasy@linutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=michael@amarulasolutions.com \
    --cc=paul@pwsan.com \
    --cc=rogerq@ti.com \
    --cc=sr@denx.de \
    --cc=tomi.valkeinen@ti.com \
    /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.