Messages in this thread | | | From | Linus Walleij <> | Date | Fri, 1 Sep 2023 16:10:23 +0200 | Subject | Re: [PATCH] mmc: mmci: stm32: add SDIO in-band interrupt mode |
| |
Hi Yann/Christophe,
thanks for your patch!
On Fri, Sep 1, 2023 at 2:08 PM Yann Gautier <yann.gautier@foss.st.com> wrote:
> From: Christophe Kerello <christophe.kerello@foss.st.com> > > Add the support of SDIO in-band interrupt mode for STM32 variant. > It allows the SD I/O card to interrupt the host on SDMMC_D1 data line. > > Signed-off-by: Christophe Kerello <christophe.kerello@foss.st.com> > Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> (...) > +++ b/drivers/mmc/host/mmci.h > @@ -332,6 +332,7 @@ enum mmci_busy_state { > * @opendrain: bitmask identifying the OPENDRAIN bit inside MMCIPOWER register > * @dma_lli: true if variant has dma link list feature. > * @stm32_idmabsize_mask: stm32 sdmmc idma buffer size. > + * @use_sdio_irq: allow SD I/O card to interrupt the host
The documentation tag should be one line up (compare to the members...)
> @@ -376,6 +377,7 @@ struct variant_data { > u32 start_err; > u32 opendrain; > u8 dma_lli:1; > + u8 use_sdio_irq:1;
1. bool use_sdio_irq;
2. supports_sdio_irq is more to the point don't you think? Especially since it activates these two callbacks:
> + void (*enable_sdio_irq)(struct mmci_host *host, int enable); > + void (*sdio_irq)(struct mmci_host *host, u32 status);
Further: all the Ux500 variants support this (bit 22) as well, so enable those too in their vendor data. All I have is out-of-band signaling with an GPIO IRQ on my Broadcom chips but I think it works (maybe Ulf has tested it in the far past).
Yours, Linus Walleij
| |