All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfram Sang <wsa@the-dreams.de>
To: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
Cc: linux-i2c@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
	naveenkrishna.ch@gmail.com, ben-linux@fluff.org,
	cpgs@samsung.com, sjg@chromium.org, grundler@chromium.org
Subject: Re: [PATCH] i2c-s3c2410: Leave the bus disabled unless it is in use
Date: Wed, 12 Mar 2014 20:29:32 +0100	[thread overview]
Message-ID: <20140312192932.GF28891@katana> (raw)
In-Reply-To: <20140312192714.GE28891@katana>

[-- Attachment #1: Type: text/plain, Size: 1695 bytes --]

On Wed, Mar 12, 2014 at 08:27:14PM +0100, Wolfram Sang wrote:
> On Fri, Feb 07, 2014 at 02:24:09PM +0530, Naveen Krishna Chatradhi wrote:
> > From: Simon Glass <sjg@chromium.org>
> > 
> > There is a rather odd feature of the exynos i2c controller that if it
> > is left enabled, it can lock itself up with the clk line held low.
> > This makes the bus unusable.
> > 
> > Unfortunately, the s3c24xx_i2c_set_master() function does not notice
> > this, and reports a timeout. From then on the bus cannot be used until
> > the AP is rebooted.
> > 
> > The problem happens when any sort of interrupt occurs (e.g. due to a
> > bus transition) when we are not in the middle of a transaction. We
> > have seen many instances of this when U-Boot leaves the bus apparently
> > happy, but Linux cannot access it.
> > 
> > The current code is therefore pretty fragile.
> > 
> > This fixes things by leaving the bus disabled unless we are actually
> > in a transaction. We enable the bus at the start of the transaction and
> > disable it at the end. That way we won't get interrupts and will not
> > lock up the bus.
> > 
> > It might be possible to clear pending interrupts on start-up, but this
> > seems to be a more robust solution. We can't service interrupts when
> > we are not in a transaction, and anyway would rather not lock up the
> > bus while we try.
> > 
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > Cc: Grant Grundler <grundler@chromium.org>
> > Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com>
> > Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> 
> Applied to for-next, thanks!

Do you consider this relevant for stable?


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2014-03-12 19:29 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-29  5:05 [PATCH 0/2] i2c-s3c2410: Implementation bus arbitration support Naveen Krishna Chatradhi
2012-11-29  5:05 ` Naveen Krishna Chatradhi
2012-11-29  5:05 ` [PATCH 1/2] i2c-s3c2410: Leave the bus disabled unless it is in use Naveen Krishna Chatradhi
2012-11-29  5:05   ` Naveen Krishna Chatradhi
2012-11-29 14:44   ` Kyungmin Park
2012-11-29 14:44     ` Kyungmin Park
     [not found]     ` <CAH9JG2VZAZfpfCjtxgMDsJPNf10FOO_PNV4poVkTgX=2XCoEpQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-01-07 12:02       ` Naveen Krishna Ch
2013-01-07 12:02         ` Naveen Krishna Ch
2013-01-07 12:02         ` Naveen Krishna Ch
     [not found]   ` <1354165536-18529-2-git-send-email-ch.naveen-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2013-01-24 12:20     ` Wolfram Sang
2013-01-24 12:20       ` Wolfram Sang
2013-01-24 12:20       ` Wolfram Sang
2014-02-07  8:50       ` Naveen Krishna Ch
2014-02-07  8:50         ` Naveen Krishna Ch
2014-02-07  8:54   ` [PATCH] " Naveen Krishna Chatradhi
2014-03-12 19:27     ` Wolfram Sang
2014-03-12 19:29       ` Wolfram Sang [this message]
2012-11-29  5:05 ` [PATCH 2/2] i2c-s3c2410: Add bus arbitration implementation Naveen Krishna Chatradhi
2012-11-29  5:05   ` Naveen Krishna Chatradhi
     [not found]   ` <1354165536-18529-3-git-send-email-ch.naveen-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-11-29 16:34     ` Mark Brown
2012-11-29 16:34       ` Mark Brown
2012-11-29 16:34       ` Mark Brown
2012-11-30  2:13       ` Simon Glass
2012-11-30  2:13         ` Simon Glass
     [not found]         ` <CAPnjgZ0atD3k=gT0vjgkLO_SA8DMak6SiT6nZ_2T6WFqtK0szQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-30  6:14           ` Olof Johansson
2012-11-30  6:14             ` Olof Johansson
2012-11-30  6:14             ` Olof Johansson
2012-12-01 13:26             ` Mark Brown
2012-12-01 13:26               ` Mark Brown
     [not found]               ` <20121201132632.GA17981-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-12-04  0:11                 ` Olof Johansson
2012-12-04  0:11                   ` Olof Johansson
2012-12-04  0:11                   ` Olof Johansson
     [not found]                   ` <CAOesGMgzBGieYJ131sUX7u8EWPEusxareFzC0XPt48+oNuh-xA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-12-04  5:15                     ` Naveen Krishna Ch
2012-12-04  5:15                       ` Naveen Krishna Ch
2012-12-04  5:15                       ` Naveen Krishna Ch

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=20140312192932.GF28891@katana \
    --to=wsa@the-dreams.de \
    --cc=ben-linux@fluff.org \
    --cc=ch.naveen@samsung.com \
    --cc=cpgs@samsung.com \
    --cc=grundler@chromium.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=naveenkrishna.ch@gmail.com \
    --cc=sjg@chromium.org \
    /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.