u-boot-brain/drivers
Marek Vasut 4a66d4ee33 mmc: tmio: sdhi: Implement get_b_max function
Implement get_b_max() for the Renesas R-Car SDHI controller driver, limit
the b_max per hardware capabilities such that select Gen2 controllers have
16bit block transfer limit, the rest has 32bit block transfer limit and on
Gen3, the block transfer limit on addresses above the 32bit boundary is set
to 1/4 of the malloc area.

Originally, on Gen3, the block transfers above the 32bit area were limited
to PIO only, which resulted in (R8A7795 Salvator-X , HS200 eMMC):
  => time mmc read 0x0000000700000000 0 0x10000
  time: 0.151 seconds
  => time mmc read 0x0000000700000000 0 0x100000
  time: 11.090 seconds
with bounce buffer in place and b_max adjustment in place:
  => time mmc read 0x0000000700000000 0 0x10000
  time: 0.156 seconds
  => time mmc read 0x0000000700000000 0 0x100000
  time: 2.349 seconds

Note that the bounce buffer does mallocate and free the bounce buffer
for every transfer. Experiment which removes this results in further
increase of read speed, from 2.349s to 2.156s per 512 MiB of data,
which is not such a significant improvement anymore. It might however
be interesting to have bounce buffer directly in the MMC core or even
block core.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
2020-04-22 20:41:56 +08:00
..
adc dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
ata Revert "ata: fsl_ahci: Add sata DM support for Freescale powerpc socs" 2020-02-25 10:16:05 +05:30
axi dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
bios_emulator bios_emulator: remove stray break 2019-08-09 22:24:02 +08:00
block dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
board drivers: board: Add get_fit_loadable() 2020-01-07 11:13:24 -05:00
bootcount bootcounter: add DM support for memory based bootcounter 2020-03-16 08:05:00 +01:00
cache common: Move hang() to the same header as panic() 2020-01-24 23:06:49 +05:30
clk clk: imx: add i.IMXRT1020 clk driver 2020-04-18 14:54:28 +02:00
core dm: core: add ofnode and dev function to iterate on node property 2020-04-16 23:06:54 -04:00
cpu cpu: Support querying the address width 2020-04-16 14:36:28 +08:00
crypto drivers: crypto: rsa_mod_exp: avoid DM_FLAG_PRE_RELOC 2020-04-16 08:12:32 +02:00
ddr arm: mvebu: drivers/ddr: remove redundant assignment 2020-04-14 13:16:42 +02:00
demo SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
dma dma: ti: k3-udma: Mark flow id as valid parameter for RX channel config 2020-03-03 13:08:14 +05:30
fastboot fastboot: mt85xx: add command to flash/erase emmc hwpart 2020-01-25 12:04:36 -05:00
firmware Xilinx changes for v2020.07 2020-04-07 17:13:35 -04:00
fpga dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
gpio test: pinmux: add pincontrol-gpio for pin configuration 2020-04-16 23:06:54 -04:00
hwspinlock dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
i2c i2c: stm32f7_i2c: allows for any bus frequency 2020-03-24 14:23:32 +01:00
input input: Move input.o to be built only in some cases 2019-11-19 17:43:04 -05:00
led dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
mailbox dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
memory SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
misc sandbox: p2sb: Silence compiler warning 2020-04-16 08:07:57 -06:00
mmc mmc: tmio: sdhi: Implement get_b_max function 2020-04-22 20:41:56 +08:00
mtd nand: raw: zynq: Do not try to probe driver if nand flash is disabled 2020-04-06 12:52:15 +02:00
net net: dwc_eth_qos: implement phy reg and max-speed for stm32 2020-04-15 09:08:29 +02:00
nvme dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
pch x86: Allow removal of standard PCH drivers 2019-12-15 11:44:16 +08:00
pci x86: Move acpi_s3.h to include/acpi/ 2020-04-16 14:36:28 +08:00
pci_endpoint pci_ep: Fix Coverity warning 2019-08-07 15:31:04 -04:00
phy phy: meson-gxl-usb: add set_mode call to force switch to peripheral mode 2020-04-20 14:19:10 +02:00
pinctrl test: dm: update test for pins configuration in pinctrl node 2020-04-16 23:06:54 -04:00
power pmic: pfuze100: Change error message level to debug 2020-04-18 12:59:37 +02:00
pwm pwm: rk_pwm: Make PWM driver to support all Rockchip Socs 2019-12-06 00:06:23 +08:00
qe crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
ram configs: stm32mp1: replace STM32MP1_TRUSTED by TFABOOT 2020-04-15 09:08:37 +02:00
remoteproc remoteproc: k3-r5: Fix rproc init failure on Split-mode _only_ devices 2020-03-16 12:33:19 +05:30
reset sandbox conversion to SDL2 2020-02-11 10:58:41 -05:00
rng drivers/rng: add Amlogic hardware RNG driver 2020-03-11 08:29:58 +01:00
rtc rtc: m41t62: add compatible for m41st87 2020-03-01 22:07:32 +01:00
scsi scsi: Add dma direction member to command structure 2019-10-23 20:47:12 -04:00
serial Functions for reading indexed values from device tree 2020-04-16 13:45:03 -04:00
smem dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
soc dma-mapping: move dma_map_(un)single() to <linux/dma-mapping.h> 2020-02-19 21:27:30 +08:00
sound dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
spi Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-tegra 2020-04-03 16:05:46 -04:00
spmi dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
sysreset x86: Move acpi_s3.h to include/acpi/ 2020-04-16 14:36:28 +08:00
tee dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
thermal thermal: ti-bandgap: Fix adc value datatype 2020-01-20 10:10:28 +05:30
timer timer: sti: use clk API to get timer clock rate 2020-03-24 14:23:35 +01:00
tpm tpm: Don't cleanup unless an error happens 2020-04-16 14:36:28 +08:00
ufs dma-mapping: move dma_map_(un)single() to <linux/dma-mapping.h> 2020-02-19 21:27:30 +08:00
usb Merge branch 'next' 2020-04-13 11:27:00 -04:00
video video: mxsfb: enable setting ENABLE negative polarity 2020-04-18 12:54:43 +02:00
virtio dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
w1 dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
w1-eeprom dm: core: Create a new header file for 'compat' features 2020-02-05 19:33:46 -07:00
watchdog watchdog: sp805_wdt: get platform clock from dt file 2020-04-15 08:54:07 +02:00
Kconfig dm: rng: Add random number generator(rng) uclass 2020-01-07 18:08:21 +01:00
Makefile drivers: Descend to drivers/soc unconditionally 2020-03-03 13:08:13 +05:30