All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: "Cousson, Benoit" <b-cousson@ti.com>
Cc: "Hilman, Kevin" <khilman@ti.com>, Paul Walmsley <paul@pwsan.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCHv2 2/2] OMAP: add omap_device_reset()
Date: Fri, 27 May 2011 15:46:07 +0300	[thread overview]
Message-ID: <1306500367.1905.18.camel@deskari> (raw)
In-Reply-To: <4DDF9B5D.7060408@ti.com>

On Fri, 2011-05-27 at 14:38 +0200, Cousson, Benoit wrote:
> Hi Tomi,
> 
> On 5/27/2011 9:38 AM, Valkeinen, Tomi wrote:
> > Add omap_device_reset() function which can be used to reset the hwmods
> > associated with the given platform device.
> 
> We've never exposed it because we are trying to avoid that any driver 
> play with asynchronous HW reset. That can lead to undefined HW behavior :-(
> 
> Do you have some strong need for that?

DSS driver has been designed so that it resets the HW before it begins
programming it. That way we get the HW into known state. Otherwise we
need to be extra careful to program all possible registers to a sane
value. Not impossible, of course, but requires extra work.

I noticed the problem with DSI driver, it didn't work anymore if I
didn't reset it.

Why does it lead to undefined HW behaviour? Isn't it much better to
reset the HW before starting to use it to be 100% sure it's in known and
valid state?

Especially in error situations it may be difficult (even impossible) to
recover without reset. DISPC has been known to froze in some sync lost
situations, and, if I recall right, if DSI transfer is aborted the only
way to recover is to reset the DSI block (on OMAP3).

 Tomi



WARNING: multiple messages have this Message-ID (diff)
From: tomi.valkeinen@ti.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCHv2 2/2] OMAP: add omap_device_reset()
Date: Fri, 27 May 2011 15:46:07 +0300	[thread overview]
Message-ID: <1306500367.1905.18.camel@deskari> (raw)
In-Reply-To: <4DDF9B5D.7060408@ti.com>

On Fri, 2011-05-27 at 14:38 +0200, Cousson, Benoit wrote:
> Hi Tomi,
> 
> On 5/27/2011 9:38 AM, Valkeinen, Tomi wrote:
> > Add omap_device_reset() function which can be used to reset the hwmods
> > associated with the given platform device.
> 
> We've never exposed it because we are trying to avoid that any driver 
> play with asynchronous HW reset. That can lead to undefined HW behavior :-(
> 
> Do you have some strong need for that?

DSS driver has been designed so that it resets the HW before it begins
programming it. That way we get the HW into known state. Otherwise we
need to be extra careful to program all possible registers to a sane
value. Not impossible, of course, but requires extra work.

I noticed the problem with DSI driver, it didn't work anymore if I
didn't reset it.

Why does it lead to undefined HW behaviour? Isn't it much better to
reset the HW before starting to use it to be 100% sure it's in known and
valid state?

Especially in error situations it may be difficult (even impossible) to
recover without reset. DISPC has been known to froze in some sync lost
situations, and, if I recall right, if DSI transfer is aborted the only
way to recover is to reset the DSI block (on OMAP3).

 Tomi

  reply	other threads:[~2011-05-27 12:46 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-27  7:38 [PATCHv2 0/2] Some omap_device/hwmod/pwrdomain patches Tomi Valkeinen
2011-05-27  7:38 ` Tomi Valkeinen
2011-05-27  7:38 ` [PATCHv2 1/2] OMAP: change get_context_loss_count ret value to int Tomi Valkeinen
2011-05-27  7:38   ` Tomi Valkeinen
2011-05-27  7:38 ` [PATCHv2 2/2] OMAP: add omap_device_reset() Tomi Valkeinen
2011-05-27  7:38   ` Tomi Valkeinen
2011-05-27 12:38   ` Cousson, Benoit
2011-05-27 12:38     ` Cousson, Benoit
2011-05-27 12:46     ` Tomi Valkeinen [this message]
2011-05-27 12:46       ` Tomi Valkeinen
2011-05-27 14:43       ` Cousson, Benoit
2011-05-27 14:43         ` Cousson, Benoit
2011-05-27 14:51         ` Santosh Shilimkar
2011-05-27 14:51           ` Santosh Shilimkar
2011-05-27 15:00           ` Cousson, Benoit
2011-05-27 15:00             ` Cousson, Benoit
2011-05-27 15:06             ` Santosh Shilimkar
2011-05-27 15:06               ` Santosh Shilimkar
2011-05-27 16:40         ` Tomi Valkeinen
2011-05-27 16:40           ` Tomi Valkeinen
2011-05-30  2:15           ` Paul Walmsley
2011-05-30  2:15             ` Paul Walmsley
2011-05-30  6:00             ` Tomi Valkeinen
2011-05-30  6:00               ` Tomi Valkeinen
2011-05-30  8:49             ` Cousson, Benoit
2011-05-30  8:49               ` Cousson, Benoit
2011-05-30  2:24       ` Paul Walmsley
2011-05-30  2:24         ` Paul Walmsley
2011-05-30  5:55         ` Tomi Valkeinen
2011-05-30  5:55           ` Tomi Valkeinen

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=1306500367.1905.18.camel@deskari \
    --to=tomi.valkeinen@ti.com \
    --cc=b-cousson@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.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.