[RESEND v12 0/3] mmc: mediatek: add support for SDIO async IRQ

Axe Yang axe.yang at mediatek.com
Wed Jun 1 23:07:04 PDT 2022


Hi,

Gentle ping for this set.

On Wed, 2022-05-25 at 09:51 +0800, Axe Yang wrote:
> Changes in v12:
> - assign NULL to pins_eint directly instead of using kfree()
> 
> Changes in v11:
> - remove '_irq' suffix in interrupts-names property
> - fix yaml example build error
> - refactor msdc_enable_sdio_irq(), free pins_eint if async irq is not
> supported
> 
> Changes in v10:
> - add sample node for SDIO host which support wakeup interrupt in
> yaml
> - skip MMC_PM_WAKE_SDIO_IRQ check before enable SDIO async interrupt
> - add MMC_PM_KEEP_POWER check before SDIO eint pinstate parsing
> - use dev_pm_set_dedicated_wake_irq_reverse() to correct irq control
> sequence
> - set dedicated irq in msdc_enable_sdio_irq() rather than
> msdc_drv_probe()
> - remove unnecessary wake irq control, rpm/dpm system shall manage
> that
> - move wake irq/msdc irq control back to system suspend phase, use
> rpm_suspend
>   and rpm_resume to ensure irq control sequence:
>      disable msdc irq -> enable wake irq -> disable wake irq ->
> enable msdc irq
> - simplify variables, check pins_eint to know whether wakeup settings
> are managed
> 
> Changes in v9:
> - remove pinctrl "state_dat1"
> 
> Changes in v8:
> - remove maxItems property under pinctrl-names property
> 
> Changes in v7:
> - add device_init_wakeup() to register SDIO host as wakeup source
> 
> Changes in v6:
> - abandon cap-sdio-async-irq flag, use wakeup-source flag instead
> - extend interrupts and pinctrls in mediatek mmc host controller DT
> documents
> - add mmc_card_enable_async_irq() to access enable_async_irq flag
> - simplify wakeup irq implementation with dedicate wake up irq
> related interface
> 
> Changes in v5:
> - resort variables to reversed xmas tree order
> - restore old copyright year range and add current year back
> 
> Changes in v4:
> - add MMC_CAP2_SDIO_ASYNC_IRQ judge before lookup eint pinctrl
> - replace spin_lock_irqsave() variant with spin_lock() in eint irq
> handler
> 
> Changes in v3:
> - correct abbreviations with capital letters in commit message
> - replace copyright year with 2022 in mtk-sd.c
> - remove unnessary pointer casting
> - adjust variable order to reversed xmas tree
> - remove a redundant blank line
> - refine if statement, following standard pattern
> 
> Changes in v2:
> - change flag name from 'cap-sdio-async-int' to 'cap-sdio-async-irq'
> - change corresponding macro names from xxx_INT to xxx_IRQ
> - resort new member in msdc_host structure
> - refine function msdc_request_dat1_eint_irq()
> - rename msdc_{suspend,resume} function names, add suffix '_noirq'
> - add MMC_CAP2_NO_SDIO judgement before parse eint related pin
> setting
> 
> Axe Yang (3):
>   dt-bindings: mmc: mtk-sd: extend interrupts and pinctrls properties
>   mmc: core: Add support for SDIO wakeup interrupt
>   mmc: mediatek: add support for SDIO eint wakup IRQ
> 
>  .../devicetree/bindings/mmc/mtk-sd.yaml       | 50 +++++++++++-
>  drivers/mmc/core/sdio.c                       | 14 ++++
>  drivers/mmc/host/mtk-sd.c                     | 80
> +++++++++++++++++--
>  include/linux/mmc/card.h                      |  8 +-
>  include/linux/mmc/sdio.h                      |  5 ++
>  5 files changed, 149 insertions(+), 8 deletions(-)
> 


More information about the Linux-mediatek mailing list