]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC: r333614, r333647, r338275, r338280, r338513
authormarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 13 Sep 2018 10:18:50 +0000 (10:18 +0000)
committermarius <marius@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Thu, 13 Sep 2018 10:18:50 +0000 (10:18 +0000)
commit45ed7787b2df46a87f68162180d9dd3c43b0e3c4
tree80aa8788ccdde262fa9b9baae542d6781faf20da
parent479cc45441e020d058db7665f8ef3eaf3e24123f
MFC: r333614, r333647, r338275, r338280, r338513

- Let mmcsd_ioctl() ensure appropriate privileges via priv_check(9).
- If present, take advantage of the R/W cache of eMMC revision 1.5 and
  later devices. These caches work akin to the ones found in HDDs/SSDs
  that ada(4)/da(4) also enable if existent, but likewise increase the
  likelihood of data loss in case of a sudden power outage etc. On the
  other hand, write performance is up to twice as high for e. g. 1 GiB
  files depending on the actual chip and transfer mode employed.
  For maximum data integrity, the usage of eMMC caches can be disabled
  via the hw.mmcsd.cache tunable.
- Get rid of the NOP mmcsd_open().
- Obtain the bus mode (MMC or SD) from the directly superordinated
  bus rather than reaching up to the bridge and use the cached mode
  in mmcsd_delete(), too.
- Use le32dec(9) for decoding EXT_CSD values where it makes sense. [1]
- Locally cache some instance variable values in mmc_discover_cards()
  in order to improve the code readability a bit.

Obtained from: NetBSD [1]

git-svn-id: svn://svn.freebsd.org/base/stable/10@338638 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/mmc/mmc.c
sys/dev/mmc/mmcreg.h
sys/dev/mmc/mmcsd.c