linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/3] mmc: mediatek: add support for SDIO async IRQ
@ 2022-03-17 10:08 Axe Yang
  2022-03-17 10:08 ` [PATCH 1/3] dt-bindings: mmc: mtk-sd: extend interrupts and pinctrls properties Axe Yang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Axe Yang @ 2022-03-17 10:08 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Chaotian Jing, Matthias Brugger, Adrian Hunter
  Cc: Yoshihiro Shimoda, Satya Tangirala, Andy Shevchenko,
	Wolfram Sang, Axe Yang, Lucas Stach, Eric Biggers,
	Andrew Jeffery, Stephen Boyd, Kiwoong Kim, Yue Hu, Tian Tao,
	angelogioacchino.delregno, linux-mmc, devicetree, linux-kernel,
	linux-arm-kernel, linux-mediatek

Change in v7:
- add device_init_wakeup() to register SDIO host as wakeup source

Change 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

Change in v5:
- resort variables to reversed xmas tree order
- restore old copyright year range and add current year back

Change 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

Change 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       |  24 ++++-
 drivers/mmc/core/sdio.c                       |  17 +++
 drivers/mmc/host/mtk-sd.c                     | 100 ++++++++++++++++--
 include/linux/mmc/card.h                      |   8 +-
 include/linux/mmc/sdio.h                      |   5 +
 5 files changed, 144 insertions(+), 10 deletions(-)

-- 
2.25.1



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread
* [PATCH v12 0/3] mmc: mediatek: add support for SDIO async IRQ
@ 2022-05-25  1:48 Axe Yang
  2022-05-25  1:48 ` [PATCH 2/3] mmc: core: Add support for SDIO wakeup interrupt Axe Yang
  0 siblings, 1 reply; 5+ messages in thread
From: Axe Yang @ 2022-05-25  1:48 UTC (permalink / raw)
  To: Ulf Hansson, Rob Herring, Chaotian Jing, Matthias Brugger, Adrian Hunter
  Cc: Yoshihiro Shimoda, Satya Tangirala, Andy Shevchenko,
	Wolfram Sang, Axe Yang, Lucas Stach, Eric Biggers,
	Andrew Jeffery, Stephen Boyd, Kiwoong Kim, Yue Hu, Tian Tao,
	angelogioacchino.delregno, linux-mmc, devicetree, linux-kernel,
	linux-arm-kernel, linux-mediatek,
	Project_Global_Chrome_Upstream_Group

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(-)

-- 
2.25.1



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-05-25  1:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-17 10:08 [PATCH v7 0/3] mmc: mediatek: add support for SDIO async IRQ Axe Yang
2022-03-17 10:08 ` [PATCH 1/3] dt-bindings: mmc: mtk-sd: extend interrupts and pinctrls properties Axe Yang
2022-03-17 10:08 ` [PATCH 2/3] mmc: core: Add support for SDIO wakeup interrupt Axe Yang
2022-03-17 10:08 ` [PATCH 3/3] mmc: mediatek: add support for SDIO eint wakup IRQ Axe Yang
2022-05-25  1:48 [PATCH v12 0/3] mmc: mediatek: add support for SDIO async IRQ Axe Yang
2022-05-25  1:48 ` [PATCH 2/3] mmc: core: Add support for SDIO wakeup interrupt Axe Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).