linux/include/linux/mmc
Keita Aihara 63ddf8a5ec mmc: core: Add SD card quirk for broken poweroff notification
[ Upstream commit cd068d5159 ]

GIGASTONE Gaming Plus microSD cards manufactured on 02/2022 report that
they support poweroff notification and cache, but they are not working
correctly.

Flush Cache bit never gets cleared in sd_flush_cache() and Poweroff
Notification Ready bit also never gets set to 1 within 1 second from the
end of busy of CMD49 in sd_poweroff_notify().

This leads to I/O error and runtime PM error state.

I observed that the same card manufactured on 01/2024 works as expected.

This problem seems similar to the Kingston cards fixed with
commit c467c8f081 ("mmc: Add MMC_QUIRK_BROKEN_SD_CACHE for Kingston
Canvas Go Plus from 11/2019") and should be handled using quirks.

CID for the problematic card is here.
12345641535443002000000145016200

Manufacturer ID is 0x12 and defined as CID_MANFID_GIGASTONE as of now,
but would like comments on what naming is appropriate because MID list
is not public and not sure it's right.

Signed-off-by: Keita Aihara <keita.aihara@sony.com>
Link: https://lore.kernel.org/r/20240913094417.GA4191647@sony.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-14 20:00:00 +01:00
..
card.h mmc: core: Add SD card quirk for broken poweroff notification 2024-12-14 20:00:00 +01:00
core.h mmc: core: improve API to make clear that mmc_sw_reset is for cards 2022-04-26 14:05:20 +02:00
host.h mmc: core: Add host specific tuning support for SD HS mode 2023-08-25 11:45:51 +02:00
mmc.h mmc: core: Fix ambiguous TRIM and DISCARD arg 2022-11-18 10:39:22 +01:00
pm.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sd.h mmc: core: Add support for Power Off Notification for SD cards 2021-06-14 13:57:37 +02:00
sdio.h mmc: core: Add support for SDIO wakeup interrupt 2022-07-26 16:58:31 +02:00
sdio_func.h mmc: sdio: Parse CISTPL_VERS_1 major and minor revision numbers 2020-09-07 09:11:28 +02:00
sdio_ids.h mmc: sdio: Add/rename SDIO ID of the RTL8723DS SDIO wifi cards 2023-05-25 19:09:39 +03:00
slot-gpio.h mmc: core: Add mmc_gpiod_set_cd_config() function 2024-06-16 13:47:36 +02:00