linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: "Mark D. Studebaker" <mds@paradyne.com>
To: joakim.tjernlund@lumentis.se
Cc: Tom Rini <trini@kernel.crashing.org>,
	linuxppc-embedded@lists.linuxppc.org,
	sensors@stimpy.netroedge.com
Subject: Re: 8xx i2c refers to unspecified chip errata
Date: Sun, 17 Nov 2002 15:51:23 -0500	[thread overview]
Message-ID: <3DD8014B.D88A6C34@paradyne.com> (raw)
In-Reply-To: IGEFJKJNHJDCBKALBJLLMEFNFHAA.joakim.tjernlund@lumentis.se


Tom + Joakim,
we're doing a release soon over here at sensors/i2c,
do you want this checked in as-is, with mods, or not at all?

Joakim Tjernlund wrote:
>
> > >
> > > Here is a patch against the PPC 2.4 devel tree for the i2c-algo-8xx.c
> >
> > Can you please split this into logical chunks, or give me a list of each
> > fix in here?  Thanks.
>
> ohh, kind of hard to remember all that went into that patch. The path
> has evoled over many days, but I can try summarize. I have tested this code
> pretty well it does not fail for me. Speed has been between 10-150KHz. The
> old code fails as soon you start to stress it a little.
>
>  - replace invalidate_dcache_range with flush_dcache_range, since buffers are
>    NOT cache aligned. flush will write to memory AND invalidate the cache.
>
>  - move the chip errata stuff from irq routine into read/write routines. Made
>    it default off since it causes lock ups on my I2C device. I think it causes
>    a too short STOP condition. If enabled I2C will behave better than before, but
>    may still cause problems if the read/write is interrupted with a signal while
>    microcode is enabled.
>
>  - set default speed to 60 KHz instead.
>
>  - missing/faulty initialization of parameter ram when I2C micro patch is active.
>
>  - replaced assingments with mask operations with relevant bits. Example:
>       /* Shut down IIC. */
>       i2c->i2c_i2mod = 0;
>         i2c->i2c_i2mod &= ~1;
>
>  - When reading from I2C device, let the receive BD generate interrupt instead of
>    the dummy trasmit. This is important since the TX interrupt will be too early sometimes, before
>    the RX BD has closed. There is one case where the RX irq is before the TX irq, if iic_mrblr is set
>    to match the number of bytes to read. Therefore must the iic_mrblr be one byte larger than
>    the expected number of bytes.
>
>  - busy wait for small transfers since it's faster.
>
>  - save_flags(flags); cli(); cleanups
>
>  - interruptible_sleep_on_timeout() instead of interruptible_sleep_on() so it won't hang forever if an
>    irq is lost.
>
>  Jocke

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

  parent reply	other threads:[~2002-11-17 20:51 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-09 20:14 8xx i2c refers to unspecified chip errata Barker Michael-r43496
2002-10-10 10:35 ` Joakim Tjernlund
2002-10-10 16:18   ` Dan Malek
2002-10-10 16:35     ` Dr. Craig Hollabaugh
2002-10-11  7:28     ` Joakim Tjernlund
2002-10-11  7:50       ` bart
2002-10-11  9:12         ` Joakim Tjernlund
2002-10-11  9:56           ` bart
2002-10-11 12:02           ` Stephan Linke
2002-10-11 12:14             ` bart
2002-10-11 12:31               ` Stephan Linke
2002-10-11 12:46                 ` Joakim Tjernlund
2002-10-11 12:44             ` Joakim Tjernlund
2002-10-11 12:55               ` bart
2002-10-11 13:10                 ` Joakim Tjernlund
2002-10-15 16:57           ` Tom Rini
2002-10-22  9:15             ` Joakim Tjernlund
2002-10-24 16:10               ` Tom Rini
2002-10-24 18:21                 ` Joakim Tjernlund
2002-11-01 11:01                   ` Joakim Tjernlund
2002-11-01 19:19                     ` Tom Rini
2002-11-17 20:51                   ` Mark D. Studebaker [this message]
2002-11-17 21:44                     ` Joakim Tjernlund
2002-11-18 14:10                       ` Tom Rini
2002-11-18 19:04                         ` Mark D. Studebaker
2002-11-18 19:24                           ` Joakim Tjernlund
2002-11-18 19:31                             ` Tom Rini
2002-11-18 19:42                             ` Jean Delvare
2002-11-18 19:46                               ` Tom Rini
  -- strict thread matches above, loose matches on Subject: below --
2002-10-10 17:01 Barker Michael-r43496

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=3DD8014B.D88A6C34@paradyne.com \
    --to=mds@paradyne.com \
    --cc=joakim.tjernlund@lumentis.se \
    --cc=linuxppc-embedded@lists.linuxppc.org \
    --cc=sensors@stimpy.netroedge.com \
    --cc=trini@kernel.crashing.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).