Message ID | 20191008095604.20675-1-ludovic.Barre@st.com (mailing list archive) |
---|---|
Headers | show |
Series | mmc: mmci: add busy detect for stm32 sdmmc variant | expand |
On Tue, 8 Oct 2019 at 11:56, Ludovic Barre <ludovic.Barre@st.com> wrote: > > From: Ludovic Barre <ludovic.barre@st.com> > > This patch series adds busy detect for stm32 sdmmc variant. > Some adaptations are required: > -On sdmmc the data timer is started on data transfert > and busy state, so we must add hardware busy timeout support. > -Add busy_complete callback at mmci_host_ops to allow to define > a specific busy completion by variant. > -Add sdmmc busy_complete callback. > > V7: > -Patch 1/3: rephrasing like proposed (thx ulf) > -If busy timeout is undefined => increase to 10s > -Keep busy_detect. > -Patch 3/3: rephrasing comment header > -Avoid twice read of status register > -Avoid writing in MMCIMASK0 & MMCICLEAR if not modified > Applied for next, thanks! [...] Kind regards Uffe
From: Ludovic Barre <ludovic.barre@st.com> This patch series adds busy detect for stm32 sdmmc variant. Some adaptations are required: -On sdmmc the data timer is started on data transfert and busy state, so we must add hardware busy timeout support. -Add busy_complete callback at mmci_host_ops to allow to define a specific busy completion by variant. -Add sdmmc busy_complete callback. V7: -Patch 1/3: rephrasing like proposed (thx ulf) -If busy timeout is undefined => increase to 10s -Keep busy_detect. -Patch 3/3: rephrasing comment header -Avoid twice read of status register -Avoid writing in MMCIMASK0 & MMCICLEAR if not modified V6: -mmci_start_command: set datatimer only on rsp_busy flag (remove host->mrq->data). -move max_busy_timeout in set_ios callback. -typo fix: err_msk, clks on one lines. V5: -Replaces !cmd->data to !host->mrq->data to avoid overwrite of datatimer register by the first command (cmd23, without data) of SBC request. V4: -Re-work with busy_complete callback -In series, move "mmc: mmci: add hardware busy timeout feature" in first to simplify busy_complete prototype with err_msk parameter. V3: -rebase on latest mmc next -replace re-read by status parameter. V2: -mmci_cmd_irq cleanup in separate patch. -simplify the busy_detect_flag exclude -replace sdmmc specific comment in "mmc: mmci: avoid fake busy polling in mmci_irq" to focus on common behavior Ludovic Barre (3): mmc: mmci: add hardware busy timeout feature mmc: mmci: add busy_complete callback mmc: mmci: sdmmc: add busy_complete callback drivers/mmc/host/mmci.c | 178 +++++++++++++++++----------- drivers/mmc/host/mmci.h | 5 + drivers/mmc/host/mmci_stm32_sdmmc.c | 42 +++++++ 3 files changed, 159 insertions(+), 66 deletions(-)