]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: r342634 (partial)
authormarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Jan 2019 19:05:18 +0000 (19:05 +0000)
committermarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Sun, 27 Jan 2019 19:05:18 +0000 (19:05 +0000)
commitca67104591a20be09fb70a7367aadc5bd51dd785
tree740ed2d7404dc23735a95c67283cce912bb273d5
parent0cf686e667f6542656334167eabe059200eb3f7f
MFC: r342634 (partial)

o Don't allocate resources for SDMA in sdhci(4) if the controller or the
  front-end doesn't support SDMA or the latter implements a platform-
  specific transfer method instead. While at it, factor out allocation
  and freeing of SDMA resources to sdhci_dma_{alloc,free}() in order to
  keep the code more readable when adding support for ADMA variants.

o Base the size of the SDMA bounce buffer on MAXPHYS up to the maximum
  of 512 KiB instead of using a fixed 4-KiB-buffer. With the default
  MAXPHYS of 128 KiB and depending on the controller and medium, this
  reduces the number of SDHCI interrupts by a factor of ~16 to ~32 on
  sequential reads while an increase of throughput of up to ~84 % was
  seen.

  Front-ends for broken controllers that only support an SDMA buffer
  boundary of a specific size may set SDHCI_QUIRK_BROKEN_SDMA_BOUNDARY
  and supply a size via struct sdhci_slot. According to Linux, only -
  unsupported in stable/10 anyway - Qualcomm MSM-type SDHCI controllers
  are affected by this, though.

  Requested by: Shreyank Amartya (unconditional bump to 512 KiB)

o Introduce a SDHCI_DEPEND macro for specifying the dependency of the
  front-end modules on the sdhci(4) one and bump the module version
  of sdhci(4) to 2 via an also newly introduced SDHCI_VERSION in order
  to ensure that all components are in sync WRT struct sdhci_slot.

o In sdhci(4):
  - Make pointers const were applicable, and
  - replace a few device_printf(9) calls with slot_printf() for
    consistency.

git-svn-id: svn://svn.freebsd.org/base/stable/10@343505 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/arm/broadcom/bcm2835/bcm2835_sdhci.c
sys/arm/freescale/imx/imx_sdhci.c
sys/arm/ti/ti_sdhci.c
sys/dev/sdhci/sdhci.c
sys/dev/sdhci/sdhci.h
sys/dev/sdhci/sdhci_acpi.c
sys/dev/sdhci/sdhci_fdt.c
sys/dev/sdhci/sdhci_pci.c
sys/powerpc/mpc85xx/fsl_sdhc.c