Re: [PATCH] mmc: dw_mmc: Disable SDIO interrupts while suspended to fix suspend/resume

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Apr 10, 2019 at 4:20 PM Sasha Levin <sashal@xxxxxxxxxx> wrote:
>
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
>
> The bot has tested the following trees: v5.0.7, v4.19.34, v4.14.111, v4.9.168, v4.4.178, v3.18.138.
>
> v5.0.7: Build OK!
> v4.19.34: Build OK!
> v4.14.111: Build OK!
> v4.9.168: Failed to apply! Possible dependencies:
>     0f21c58c63ad ("mmc: dw_mmc: Remove the public dw_mmc header file")
>     1f5c51d76e8f ("mmc: dw_mmc: disable biu clk if possible")
>     32dba73772f8 ("mmc: dw_mmc: Convert to use MMC_CAP2_SDIO_IRQ_NOTHREAD for SDIO IRQs")
>     58870241a674 ("mmc: dw_mmc: remove the loop about finding slots")
>     a4cc7eb4416f ("mmc: dw_mmc: use the cookie's enum values for post/pre_req()")
>     ca8971ca5753 ("mmc: dw_mmc: Prevent runtime PM suspend when SDIO IRQs are enabled")
>     d30a8f7bdf64 ("mmc: dw_mmc: deprecated the "num-slots" property")
>     df9bcc2bc0a1 ("mmc: dw_mmc: add missing codes for runtime resume")
>     e9748e0364fe ("mmc: dw_mmc: force setup bus if active slots exist")
>     e9ed8835e990 ("mmc: dw_mmc: add runtime PM callback")
>     ed24e1ff5ae3 ("mmc: dw_mmc: remove system PM callback")
>     f90142683f04 ("mmc: dw_mmc-rockchip: add runtime PM support")
>
> v4.4.178: Failed to apply! Possible dependencies:
>     01a999e48995 ("mmc: dw_mmc: remove the unused quirks")
>     267b62a96951 ("clk: tegra: pll: Update PLLM handling")
>     287980e49ffc ("remove lots of IS_ERR_VALUE abuses")
>     32dba73772f8 ("mmc: dw_mmc: Convert to use MMC_CAP2_SDIO_IRQ_NOTHREAD for SDIO IRQs")
>     3706b43629f5 ("clk: tegra: pll: Don't unconditionally set LOCK flags")
>     407254da291c ("clk: tegra: pll: Add logic for out-of-table rates for T210")
>     58870241a674 ("mmc: dw_mmc: remove the loop about finding slots")
>     6583a6309e83 ("clk: tegra: pll: Add tegra_pll_wait_for_lock to clk header")
>     6929715cf6b9 ("clk: tegra: pll: Add support for PLLMB for Tegra210")
>     6b301a059eb2 ("clk: tegra: Add support for Tegra210 clocks")
>     7db864c9deb2 ("clk: tegra: pll: Simplify clk_enable_path")
>     86c679a52294 ("clk: tegra: pll: Fix _pll_ramp_calc_pll logic and _calc_dynamic_ramp_rate")
>     8cfb0cdf07e2 ("ACPI / debugger: Add IO interface to access debugger functionalities")
>     8d99704fde54 ("clk: tegra: Format tables consistently")
>     c4947e364b50 ("clk: tegra: Fix 26 MHz oscillator frequency")
>     ca8971ca5753 ("mmc: dw_mmc: Prevent runtime PM suspend when SDIO IRQs are enabled")
>     d907f4b4a178 ("clk: tegra: pll: Add logic for handling SDM data")
>     dd322f047d22 ("clk: tegra: pll: Add specialized logic for Tegra210")
>     e52d7c04bb39 ("clk: tegra: Miscellaneous coding style cleanups")
>     e8cc37b8fc3a ("mmc: dw_mmc: remove DW_MCI_QUIRK_BROKEN_CARD_DETECTION quirk")
>     f8d31489629c ("ACPICA: Debugger: Convert some mechanisms to OSPM specific")
>
> v3.18.138: Failed to apply! Possible dependencies:
>     1a25b1b4199c ("mmc: dw_mmc: fix the max_blk_count in IDMAC")
>     2b708df2b3ed ("mmc: dw_mmc: remove the unused blk_setting")
>     32dba73772f8 ("mmc: dw_mmc: Convert to use MMC_CAP2_SDIO_IRQ_NOTHREAD for SDIO IRQs")
>     575c319dfe87 ("mmc: dw_mmc: fix pio mode when internal dmac is enabled")
>     58870241a674 ("mmc: dw_mmc: remove the loop about finding slots")
>     5959b32e3636 ("mmc: dw_mmc: handle data blocks > than 4kB if IDMAC is used")
>     6130e7a9c34d ("mmc: dw_mmc: Remove old card detect infrastructure")
>     6687c42fa71a ("mmc: dw_mmc: change idmac descriptor files to __le32")
>     69d99fdcfd78 ("mmc: dw_mmc: Add IDMAC 64-bit address mode support")
>     767562348b72 ("mmc: dw_mmc: add support for the other bit of sdio interrupt")
>     b24c8b260189 ("mmc: dw_mmc: Cleanup disable of low power mode w/ SDIO interrupts")
>     ca8971ca5753 ("mmc: dw_mmc: Prevent runtime PM suspend when SDIO IRQs are enabled")
>     ed2540effa70 ("mmc: dw_mmc: Don't crash if we get an interrupt before slot has initted")
>     f8c58c113634 ("mmc: dw_mmc: Protect read-modify-write of INTMASK with a lock")
>     fa0c328343c6 ("mmc: dw_mmc: Only enable CD after setup and only if needed")
>
>
> How should we proceed with this patch?

This is discussed "after the cut" in my commit message.  The
low-hanging fruit is to just pick it to 5.0 and 4.19.  If folks are
interested I can spin a 4.14 build back up again and test the patch
there, but likely if it applies / builds then it'll just work.  For
older that 4.14 I'd say to just drop this but an interested party
could try if they really wanted.  Given (for me) ~1/3 of my
suspend/resumes were failing presumably anyone on an old kernel has
already come up with some sort of solution themselves.

Hrm, I guess I could have just added a versioning tag to my "Cc".
I'll do that next time.

I guess first we should see if MMC maintainers think the patch looks OK.

-Doug



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux