On 21/11/2023 09:10, Jyan Chou wrote: > We implemented cmdq feature on Synopsys DesignWare mmc driver. > The difference between dw_mmc.c and dw_mmc_cqe.c were distinct > register definitions, mmc user flow and the addition of cmdq. > > New version of User Guide had modify mmc driver's usage flow, > we may need to renew code to precisely follow user guide. > > More over, We added a wait status function to satisfy synopsys > user guide's description, since this flow might be specific in > synopsys host driver only. > > Signed-off-by: Jyan Chou <jyanchou@xxxxxxxxxxx> > > —-- > v6 -> v7: > - Remove reset-names in driver and adjust reset control's code. > > v5 -> v6: > - Fix linux coding style issues. > - Drop useless code that is not described in the bindings. > - Replace devm_clk_get and clk_prepare_enable with devm_clk_get_enabled. > - Replace EXPORT_SYMBOL with EXPORT_SYMBOL_GPL. > > v4 -> v5: > - Fix linux coding style issues. > - Fix test robot build errors to make good use of setup_tran_desc > call back function. > - Remove useless function. > > v3 -> v4: > - Modify dma mode selection and dma addressing bit to statisfy > linux coding style. > > v1 -> v2: > - Remove dw_mci_cqe_set_tran_desc due to the duplicated function. > - Add ->pre_enable() / ->post_disable() > > v0 -> v1: > - Seperate different support into single patch. > - Fix the compiler complains. > --- > --- > drivers/mmc/host/Kconfig | 13 + > drivers/mmc/host/Makefile | 1 + > drivers/mmc/host/dw_mmc_cqe.c | 1467 +++++++++++++++++++++++++++++++++ > drivers/mmc/host/dw_mmc_cqe.h | 456 ++++++++++ > 4 files changed, 1937 insertions(+) > create mode 100644 drivers/mmc/host/dw_mmc_cqe.c > create mode 100644 drivers/mmc/host/dw_mmc_cqe.h > > diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig > index 58bd5fe4cd25..06bb4de28cc4 100644 > --- a/drivers/mmc/host/Kconfig > +++ b/drivers/mmc/host/Kconfig > @@ -837,6 +837,19 @@ config MMC_DW_STARFIVE > Synopsys DesignWare Memory Card Interface driver. Select this option > for platforms based on StarFive JH7110 SoC. > > +config MMC_DW_CQE > + tristate "Synopsys DesignWare Memory Card with CQE Interface" > + depends on ARC || ARM || ARM64 || MIPS || COMPILE_TEST > + select MMC_CQHCI > + help > + This selects support for the Synopsys DesignWare Mobile Storage IP > + block after JEDEC Standard version 5.1. Select this option for SD and > + MMC interfaces that use command queue. /after/according to/ ? Does the hardware actually implement both: SD and MMC CQ? If so that would be very interesting, but also not currently supported by mmc layer.