All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Vinson <rvinson@mvista.com>
To: Liu Dave-r63238 <DaveLiu@freescale.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: [QUESTION] Enable coherency for all pages on 83xx to fix PCI data corruption
Date: Wed, 30 Aug 2006 15:15:27 -0700	[thread overview]
Message-ID: <44F60DFF.9080508@mvista.com> (raw)
In-Reply-To: <43765FEB-22D2-4435-A074-7DEF969E466B@kernel.crashing.org>

Kumar Gala wrote:
> Randy may remember but this fixed an issue related that he was seeing  
> with an e100 or e1000 and it was the solution provided by the  Freescale 
> Apps team in Austin.
Hi All,
  Sorry for the delay in responding, I've been out sick on and off.

  The patch does not solve an erratum. It is required for proper operation if prefetching is enabled for any inbound PCI window.

  The problem is related to the buffers in the I/O Sequencer (Page 11-1 of the MPC8349 Manual Rev 2). There are 12 of these buffers, each the length of a cache line. When memory prefetching is enabled for an inbound PCI window, these buffers can get pre-loaded with data from main memory. If the processor subsequently modifies this data in main memory and cache coherency is not enabled, the contents of the I/O Sequencer's buffers do not get snooped and stale data is delivered to the PCI bus. If memory coherency is enabled, subsequent writes to pre-fetchable memory are snooped by the I/O Sequencer and the stale data problem is avoided.

  The connection to PCI erratum 5 was false. Marking the inbound PCI memory windows non-prefetchable solved the problem because the I/O Sequencers internal buffers were not pre-loaded and could not contain stale data.

  Kumar is correct in that the solution was provided by the folks at Freescale. Similar corruption has been seen when using a MPC107 host bridge with 74[45]x processors as the MPC107 also has an internal set of buffers that can contain stale data if prefetching is enabled on inbound PCI windows. In fact, there is a comment to that effect just above the comment adding the 83xx in the patch.

		Randy V.

      reply	other threads:[~2006-08-30 22:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-28  7:49 [QUESTION] Enable coherency for all pages on 83xx to fix PCI data corruption Liu Dave-r63238
2006-08-28 13:49 ` Kumar Gala
2006-08-29  2:04   ` Liu Dave-r63238
2006-08-29 15:28     ` Kumar Gala
2006-08-30 22:15       ` Randy Vinson [this message]

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=44F60DFF.9080508@mvista.com \
    --to=rvinson@mvista.com \
    --cc=DaveLiu@freescale.com \
    --cc=linuxppc-dev@ozlabs.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.