freebsd-skq/sys/cam/mmc
Emmanuel Vadot af2253f61c mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci
For the discovery phase of SD/eMMC we need to do some transaction in a async
way.
The classic CAM XPT_{GET,SET}_TRAN_SETTING cannot be used in a async way.
This also allow us to split the discovery phase into a more complete state
machine and we don't mtx_sleep with a random number to wait for completion
of the tasks.
For mmc_sim we now do the SET_TRAN_SETTING in a taskqueue so we can call
the needed function for regulators/clocks without the cam lock(s). This part is
still needed to be done for sdhci.
We also now save the host OCR in the discovery phase as it wasn't done before and
only worked because the same ccb was reused.

Reviewed by:	imp, kibab, bz
Differential Revision:	https://reviews.freebsd.org/D30038
2021-05-21 17:34:05 +02:00
..
mmc_all.h mmcam: Use a static length sbuf buffer 2020-08-04 20:02:23 +00:00
mmc_bus.h
mmc_da.c cam: make sure to clear even more CCBs allocated on the stack 2021-04-11 15:24:22 +01:00
mmc_sim_if.m mmccam: Add mmc_sim, a generic sim for mmc driver to use 2021-04-27 19:00:38 +02:00
mmc_sim.c mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci 2021-05-21 17:34:05 +02:00
mmc_sim.h mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci 2021-05-21 17:34:05 +02:00
mmc_xpt.c mmccam: Add two new XPT for MMC and use them in mmc_sim and sdhci 2021-05-21 17:34:05 +02:00
mmc.h Fix setting RCA for MMC cards 2018-06-19 20:02:03 +00:00