[U-Boot] [U-Boot, 1/3] pcnet: access descriptor rings & init block uncached
Tom Rini
trini at ti.com
Fri Apr 18 23:01:53 CEST 2014
On Mon, Apr 07, 2014 at 04:41:46PM +0100, Paul Burton wrote:
> The prior accesses to the descriptor rings & init block via cached
> memory had a few issues:
>
> - The memory needs cache flushes or invalidation at the appropriate
> times, but was not necessarily aligned on cache line boundaries.
> This could lead to data being incorrectly lost or written back to
> RAM at the wrong time.
>
> - There are points where ordering of writes to the memory is
> important, but because it's cached memory the pcnet controller
> would see cache lines written back ordered by address. This could
> occasionally lead to hardware seeing descriptors in an incorrect
> state.
>
> - Flushing the cache constantly is inefficient.
>
> So, to avoid all of those issues simply access the descriptors & init
> block via uncached memory. The MIPS-specific UNCACHED_SDRAM macro is
> used to do this (retrieving an address in kseg1) as I could see no
> existing generic solution. Since the MIPS Malta board is the only user
> of the pcnet driver, hopefully this doesn't matter.
>
> Signed-off-by: Paul Burton <paul.burton at imgtec.com>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140418/74915973/attachment.pgp>
More information about the U-Boot
mailing list