| 85ccd313 | 21-May-2017 |
Imre Vadász <imre@vdsz.com> |
A step to correctly handling command timeouts in the MMC layer.
- Now that properly issuing CMD6 is crucial (so data isn't written to the wrong partition for example), make a step into the
A step to correctly handling command timeouts in the MMC layer.
- Now that properly issuing CMD6 is crucial (so data isn't written to the wrong partition for example), make a step into the direction of correctly handling the timeout for these commands in the MMC layer. Also, do a SEND_STATUS when CMD6 is invoked with an R1B response as recommended by relevant specifications. However, quite some work is left to be done in this regard; all other R1B-type commands done by the MMC layer also should be followed by a SEND_STATUS (CMD13), the erase timeout calculations/handling as documented in specifications are entirely ignored so far, the MMC layer doesn't provide timeouts applicable up to the bridge drivers and at least sdhci(4) currently is hardcoding 1 s as timeout for all command types unconditionally. Let alone already available return codes often not being checked in the MMC layer ...
- For devices following the eMMC specification v4.41 or later, year 0 is 2013 rather than 1997; so correct this for assembling the device ID string properly.
* This omits all the parts specific to eMMC "partitions" from the FreeBSD change.
* Add the Intel sdhci controller ids to sdhci_pci.c to set the SDHCI_QUIRK_WAIT_WHILE_BUSY quirk there. This also disables DMA on apollo lake sdhci, while there and whitelists ADMA2 on Bay Trail and Braswell sdhci controllers.
Taken-From: FreeBSD (svn r315430)
show more ...
|
| e9348d8e | 10-Jan-2017 |
Matthew Dillon <dillon@apollo.backplane.com> |
mmcsd - Wasn't quite MPSAFE, fix startup race
* mmcsd was attaching the drive before finishing the softc setup. Being MPSAFE, the system tried to probe the mmcsd before it could finish the setu
mmcsd - Wasn't quite MPSAFE, fix startup race
* mmcsd was attaching the drive before finishing the softc setup. Being MPSAFE, the system tried to probe the mmcsd before it could finish the setup.
* Fixed by shifting things around a little.
show more ...
|