u-boot/drivers
Paul Burton f1ae382dfd pcnet: access descriptor rings & init block uncached
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@imgtec.com>
2014-04-18 10:42:30 -04:00
..
bios_emulator kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
block ahci: Fix data abort on multiple scsi resets. 2014-04-02 15:44:40 -04:00
bootcount i2c, bootcount: add support for bootcounter on i2c devices 2014-02-20 06:46:56 +01:00
core dm: Add base driver model support 2014-03-04 12:15:29 -05:00
crypto drivers: crypto: ace_sha: add implementation of hardware based lib rand 2014-03-28 15:06:31 -04:00
ddr/fsl driver/ddr: Add 256 byte interleaving support 2014-02-21 11:06:13 -05:00
demo dm: Add a demonstration/example driver 2014-03-04 12:15:29 -05:00
dfu Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-04-08 09:25:08 +02:00
dma drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
fpga sizes.h - consolidate for all architectures 2014-03-04 12:15:01 -05:00
gpio sandbox: Convert GPIOs to use driver model 2014-03-04 12:15:30 -05:00
hwmon kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
i2c i2c: sh_i2c: bugfix: i2c probe command does not work 2014-04-14 17:41:48 +09:00
input cros_ec: Support systems with no EC interrupt 2014-03-17 20:05:46 -06:00
misc Merge branch 'master' of git://git.denx.de/u-boot-arm into master 2014-04-04 11:35:30 +02:00
mmc Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-04-08 09:25:08 +02:00
mtd mtd: delete unused files 2014-04-17 14:38:30 -04:00
net pcnet: access descriptor rings & init block uncached 2014-04-18 10:42:30 -04:00
pci Merge branch 'master' of git://git.denx.de/u-boot-arm into master 2014-04-04 11:35:30 +02:00
pcmcia powerpc: remove RPXClassic, RPXlite boards support 2014-04-18 10:42:30 -04:00
power Merge branch 'master' of git://git.denx.de/u-boot-arm 2014-03-05 12:51:26 +01:00
qe drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00
rtc kbuild: use Linux Kernel build scripts 2014-02-19 11:07:50 -05:00
serial sandbox: Allow Ctrl-C to work in sandbox 2014-03-17 20:05:49 -06:00
sound sound: Move Samsung-specific code into its own file 2014-03-17 20:05:49 -06:00
spi Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-03-25 10:53:15 +01:00
tpm sandbox: tpm: Fix nvwrite command 2014-01-08 17:26:17 -07:00
twserial drivers: convert makefiles to Kbuild style 2013-10-31 13:26:01 -04:00
usb usb: dfu: introduce dfuMANIFEST state 2014-03-23 02:20:09 +01:00
video Merge branch 'u-boot/master' into 'u-boot-arm/master' 2014-03-25 10:53:15 +01:00
watchdog Merge branch 'iu-boot/master' into 'u-boot-arm/master' 2013-11-09 22:59:47 +01:00
Makefile drivers/qe: move the entry to drivers/Makefile 2013-11-17 14:11:31 -05:00