u-boot-brain/drivers
Stephen Warren 1981539914 mmc: tegra: use bounce buffer APIs
Tegra's MMC driver does DMA, and hence needs cache-aligned buffers. In
some cases (e.g. user load commands) this cannot be guaranteed by callers
of the MMC APIs. To solve this, modify the Tegra MMC driver to use the
new bounce_buffer_*() APIs.

Note: Ideally, all U-Boot code will always provide address- and size-
aligned buffers, so a bounce buffer will only ever be needed for user-
supplied buffers (e.g. load commands). Ensuring this removes the need
for performance-sucking bounce buffer cache management and memcpy()s.
The one known exception at present is the SCR buffer in sd_change_freq(),
which is only 8 bytes long. Solving this requires enhancing struct
mmc_data to know the difference between buffer size and transferred data
size, or forcing all callers of mmc_send_cmd() to have allocated buffers
using ALLOC_CACHE_ALIGN_BUFFER(), which while true in this case, is not
enforced in any way at present, and so cannot be assumed by the core MMC
code.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Andy Fleming <afleming@freescale.com>
2012-11-27 17:26:49 -06:00
..
bios_emulator Add abs() macro to return absolute value 2012-05-15 08:31:37 +02:00
block drivers/block/: sparse fixes 2012-11-04 11:00:37 -07:00
bootcount Consolidate bootcount code into drivers/bootcount 2012-09-01 14:26:02 +02:00
dfu dfu:usb:fix: Read the "filesize" environment variable only when file read 2012-09-21 00:05:00 +02:00
dma MX28: DMA: Prolong the DMA timeout 2012-09-01 14:58:29 +02:00
fpga FPGA: Cyclon II: Correctly reset the FPGA before configuration 2012-10-29 14:21:20 -07:00
gpio drivers/gpio/mpc83xx_gpio.c: sparse fixes 2012-11-04 11:00:37 -07:00
hwmon hwmon: do not init sensors on startup 2011-08-04 23:30:38 +02:00
i2c Merge branch 'master' of git://git.denx.de/u-boot-arm 2012-10-26 15:44:31 -07:00
input drivers/input/input.c: sparse fix 2012-11-04 11:00:37 -07:00
misc powerpc/mpc8xxx: move LAW code into arch/powerpc/cpu/mpc8xxx 2012-11-26 15:41:22 -06:00
mmc mmc: tegra: use bounce buffer APIs 2012-11-27 17:26:49 -06:00
mtd nand: Add torture feature 2012-11-26 15:41:29 -06:00
net drivers/net/: sparse fixes 2012-11-04 11:00:36 -07:00
pci powerpc/boot: Change the compile macro for SRIO & PCIE boot master module 2012-10-22 15:52:46 -05:00
pcmcia PXA: Remove PXA PCMCIA support 2012-03-26 23:09:23 +02:00
power power:pmic: Rename CONFIG_DIALOG_PMIC defines to CONFIG_DIALOG_POWER 2012-11-14 11:21:12 +01:00
qe mpc83xx: add support for mpc8309 2012-10-23 15:23:26 -05:00
rtc pmic: Extend PMIC framework to support multiple instances of PMIC devices 2012-11-14 11:21:09 +01:00
serial serial/ns16550: wait for TEMT before initializing 2012-11-26 15:41:20 -06:00
spi Merge remote-tracking branch 'u-boot-ti/master' 2012-10-26 07:00:28 +02:00
tpm Introduce generic TPM support in u-boot 2011-12-07 08:45:51 +01:00
twserial Switch from archive libraries to partial linking 2010-11-17 21:02:18 +01:00
usb Remove obsolete header file 2012-11-27 09:41:10 -07:00
video Video: fix compiler warnings in bus_vcxk 2012-11-14 12:27:49 +01:00
watchdog dm: wdt: arm: Move tnetv107x into drivers/watchdog/ 2012-10-18 06:52:02 +02:00