]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC: r338261
authormarius <marius@FreeBSD.org>
Wed, 5 Sep 2018 21:05:16 +0000 (21:05 +0000)
committermarius <marius@FreeBSD.org>
Wed, 5 Sep 2018 21:05:16 +0000 (21:05 +0000)
commit787779516ff2be4da7b4e59e4dc7fb115e3916b2
tree71dc32e5dc932947d46f45bf0da0cab25ce4c0c3
parentc4a6f7ea73137b6de6d3be5ebadff2fb5a9d06be
MFC: r338261

- According to section 2.2.5 of the SDHCI specification version 4.20,
  SDHCI_TRNS_ACMD12 is to be set only for multiple-block read/write
  commands without data length information, so don't unconditionally
  set this bit. The result matches what e. g. Linux does.
- Section 2.2.19 of the SDHCI specification version 4.20 states that
  SDHCI_ACMD12_ERR should be only valid if SDHCI_INT_ACMD12ERR is set
  and hardware may clear SDHCI_ACMD12_ERR when SDHCI_INT_ACMD12ERR is
  cleared (differing silicon behavior is specifically allowed, though).
  Thus, read SDHCI_ACMD12_ERR before clearing SDHCI_INT_ACMD12ERR.
  While at it, use the 16-bit accessor rather than the 32-bit one for
  reading the 16-bit SDHCI_ACMD12_ERR.
- SDHCI_INT_TUNEERR isn't one of the ROC bits in SDHCI_INT_STATUS so
  clear it explicitly.
- Add missing prototypes and sort them.
sys/dev/sdhci/sdhci.c