]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC: r333647, r338275, r338280, r338513
authormarius <marius@FreeBSD.org>
Thu, 13 Sep 2018 10:18:47 +0000 (10:18 +0000)
committermarius <marius@FreeBSD.org>
Thu, 13 Sep 2018 10:18:47 +0000 (10:18 +0000)
commit625c38d98387cee9e59f6d38e65d96e6277ad45e
tree89af3d99853a2eb73062c6a0c10560bd48f1c410
parent1316286770b684f8f0f8c3c370a7a59048d46461
MFC: r333647, r338275, r338280, r338513

- 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]
sys/dev/mmc/mmc.c
sys/dev/mmc/mmcreg.h
sys/dev/mmc/mmcsd.c