All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ricky WU <ricky_wu@realtek.com>
To: Matthew Schwartz <matthew.schwartz@linux.dev>,
	Ulf Hansson <ulf.hansson@linaro.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: RE: [BUG] - Short freezes in gameplay due to MMC_CAP_AGGRESSIVE_PM on RTS525A card reader
Date: Mon, 5 Jan 2026 08:39:57 +0000	[thread overview]
Message-ID: <4205fde06ecd4a7489b03ef25e5e4011@realtek.com> (raw)
In-Reply-To: <d46dcebe-ca58-44c4-87ee-cade2e478572@linux.dev>

> On 1/4/26 11:02 PM, Ricky WU wrote:
> >> On 1/4/26 7:58 PM, Ricky WU wrote:
> >>>> On 1/3/26 11:52 AM, Matthew Schwartz wrote:
> >>>>> On 1/3/26 3:37 AM, Ulf Hansson wrote:
> >>>>>> On Wed, 24 Dec 2025 at 22:01, Matthew Schwartz
> >>>>>> <matthew.schwartz@linux.dev> wrote:
> >>>>>>>
> >>>>>>> Hello,
> >>>>>>>
> >>>>>>> I have several handheld devices that have a Realtek Semiconductor
> Co.,
> >> Ltd.
> >>>> RTS525A PCI Express Card Reader and I am running into an issue on all of
> >> them
> >>>> when I try to play games off of my SanDisk Extreme PRO Micro SD cards.
> >>>>>>>
> >>>>>>> I have two SD cards, a 1TB and a 2TB model, and while playing games
> >> off
> >>>> of either one there are frequent freezes in gameplay. When this happens,
> >> the
> >>>> kernel has some mmc and rtsx errors:
> >>>>>>>
> >>>>>>> [   41.348311] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 13, arg = 0xd5550000
> >>>>>>> [   41.354004] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000900
> >>>>>>> [   41.354020] rtsx_pci 0000:c0:00.0: Switch card clock to 208MHz
> >>>>>>> [   41.354021] rtsx_pci 0000:c0:00.0: Internal SSC clock: 208MHz
> >>>> (cur_clock = 208)
> >>>>>>> [   41.354026] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 48, arg = 0x08000200
> >>>>>>> [   41.354235] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [   41.354236] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 208)
> >>>>>>> [   41.354237] rtsx_pci 0000:c0:00.0: n = 118, div = 3
> >>>>>>> [   41.354237] rtsx_pci 0000:c0:00.0: ssc_depth = 1
> >>>>>>> [   41.601291] rtsx_pci 0000:c0:00.0: --> rtsx_pci_runtime_idle
> >>>>>>> [   51.521666] rtsx_pci 0000:c0:00.0: --> rtsx_pci_runtime_suspend
> >>>>>>> [  101.898966] rtsx_pci 0000:c0:00.0: --> rtsx_pci_runtime_resume
> >>>>>>> [  101.899052] rtsx_pci 0000:c0:00.0: RTSX_BIER: 0x36400000
> >>>>>>> [  101.910028] rtsx_pci 0000:c0:00.0: Power OFF efuse!
> >>>>>>> [  102.025901] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.025907] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.025911] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >>>> sdmmc_switch_voltage: signal_voltage = 0
> >>>>>>> [  102.031892] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.031900] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.037892] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.037899] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.039168] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.039172] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.039177] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 0, arg = 0x00000000
> >>>>>>> [  102.040763] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.040764] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.041874] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.041875] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.041879] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 8, arg = 0x000001aa
> >>>>>>> [  102.042452] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x000001aa
> >>>>>>> [  102.042468] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.042469] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.042474] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.043036] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.043053] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.043057] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.043061] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.043599] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00ff8000
> >>>>>>> [  102.062878] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.062885] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.062890] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.063450] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.063462] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.063463] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.063467] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.064012] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00ff8000
> >>>>>>> [  102.104036] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.104043] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.104047] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.104603] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.104619] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.104620] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.104624] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.105162] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00ff8000
> >>>>>>> [  102.184867] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.184874] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.184878] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.185438] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.185446] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.185447] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.185451] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.185990] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00ff8000
> >>>>>>> [  102.265861] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.265868] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.265872] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.266434] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.266450] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.266452] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.266456] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.266996] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00ff8000
> >>>>>>> [  102.346859] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.346869] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.346875] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.347441] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.347450] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.347451] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.347455] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.348005] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00ff8000
> >>>>>>> [  102.427853] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.427860] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.427865] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.428434] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.428443] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.428444] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.428448] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.428995] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x41ff8000
> >>>>>>> [  102.508837] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.508845] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.508852] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0x00000000
> >>>>>>> [  102.509408] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000120
> >>>>>>> [  102.509440] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.509445] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.509452] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 41, arg = 0x59300000
> >>>>>>> [  102.509996] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0xc1ff8000
> >>>>>>> [  102.510008] mmc0: cannot verify signal voltage switch
> >>>>>>> [  102.510031] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.510033] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.510038] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 11, arg = 0x00000000
> >>>>>>> [  102.510587] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000320
> >>>>>>> [  102.511837] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.511838] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.511840] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >>>> sdmmc_switch_voltage: signal_voltage = 1
> >>>>>>> [  102.598474] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.598480] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.599674] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.599679] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.599684] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 2, arg = 0x00000000
> >>>>>>> [  102.600608] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x03534453
> >>>>>>> [  102.600612] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[1] =
> >>>> 0x52303254
> >>>>>>> [  102.600613] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[2] =
> >>>> 0x87bacf26
> >>>>>>> [  102.600614] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[3] =
> >>>> 0xfe018901
> >>>>>>> [  102.600630] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.600631] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.600635] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 3, arg = 0x00000000
> >>>>>>> [  102.601176] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0xd5550500
> >>>>>>> [  102.601195] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.601199] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.601205] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 7, arg = 0xd5550000
> >>>>>>> [  102.601770] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000700
> >>>>>>> [  102.601785] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.601786] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.601793] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 6, arg = 0x00fffff0
> >>>>>>> [  102.604338] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.604340] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.604345] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 55, arg = 0xd5550000
> >>>>>>> [  102.604887] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000920
> >>>>>>> [  102.604893] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.604894] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.604899] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 6, arg = 0x00000002
> >>>>>>> [  102.605462] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000920
> >>>>>>> [  102.605480] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.605481] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.605486] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.605487] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.605493] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 6, arg = 0x80ff1fff
> >>>>>>> [  102.608016] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.608019] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.608025] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 6, arg = 0x80fffff3
> >>>>>>> [  102.612934] rtsx_pci 0000:c0:00.0: Switch card clock to 30MHz
> >>>>>>> [  102.612936] rtsx_pci 0000:c0:00.0: Internal SSC clock: 30MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.612950] rtsx_pci 0000:c0:00.0: Switch card clock to 208MHz
> >>>>>>> [  102.612951] rtsx_pci 0000:c0:00.0: Internal SSC clock: 208MHz
> >>>> (cur_clock = 30)
> >>>>>>> [  102.612951] rtsx_pci 0000:c0:00.0: n = 206, div = 1
> >>>>>>> [  102.612952] rtsx_pci 0000:c0:00.0: ssc_depth = 2
> >>>>>>> [  102.613105] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(TX):
> >>>> sample_point = 25
> >>>>>>> [  102.613115] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 0
> >>>>>>> [  102.613126] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614718] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 1
> >>>>>>> [  102.614732] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614759] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 2
> >>>>>>> [  102.614770] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614796] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 3
> >>>>>>> [  102.614815] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614842] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 4
> >>>>>>> [  102.614853] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614879] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 5
> >>>>>>> [  102.614890] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614916] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 6
> >>>>>>> [  102.614927] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614952] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 7
> >>>>>>> [  102.614963] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.614987] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 8
> >>>>>>> [  102.614998] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615024] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 9
> >>>>>>> [  102.615035] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615059] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 10
> >>>>>>> [  102.615071] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615095] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 11
> >>>>>>> [  102.615107] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615132] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 12
> >>>>>>> [  102.615144] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615172] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.615178] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 13
> >>>>>>> [  102.615187] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615211] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.615215] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 14
> >>>>>>> [  102.615223] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615235] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.615350] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 15
> >>>>>>> [  102.615358] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615383] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.615387] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 16
> >>>>>>> [  102.615395] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615419] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.615424] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 17
> >>>>>>> [  102.615432] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615458] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.615462] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 18
> >>>>>>> [  102.615470] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615495] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.615499] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 19
> >>>>>>> [  102.615507] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615531] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 20
> >>>>>>> [  102.615539] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615562] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 21
> >>>>>>> [  102.615570] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615594] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 22
> >>>>>>> [  102.615602] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615625] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 23
> >>>>>>> [  102.615633] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615657] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 24
> >>>>>>> [  102.615665] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615689] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 25
> >>>>>>> [  102.615697] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615722] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 26
> >>>>>>> [  102.615730] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615754] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 27
> >>>>>>> [  102.615762] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615785] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 28
> >>>>>>> [  102.615793] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615817] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 29
> >>>>>>> [  102.615825] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615849] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 30
> >>>>>>> [  102.615858] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615890] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 31
> >>>>>>> [  102.615907] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615933] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 0
> >>>>>>> [  102.615943] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.615968] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 1
> >>>>>>> [  102.615977] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616001] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 2
> >>>>>>> [  102.616010] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616034] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 3
> >>>>>>> [  102.616042] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616066] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 4
> >>>>>>> [  102.616076] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616100] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 5
> >>>>>>> [  102.616109] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616133] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 6
> >>>>>>> [  102.616142] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616168] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 7
> >>>>>>> [  102.616180] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616207] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 8
> >>>>>>> [  102.616219] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616244] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 9
> >>>>>>> [  102.616257] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616282] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 10
> >>>>>>> [  102.616294] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616319] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 11
> >>>>>>> [  102.616331] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616356] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 12
> >>>>>>> [  102.616368] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616395] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.616402] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 13
> >>>>>>> [  102.616413] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616439] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.616445] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 14
> >>>>>>> [  102.616457] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616471] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.616580] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 15
> >>>>>>> [  102.616592] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616606] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.616714] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 16
> >>>>>>> [  102.616726] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616753] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.616758] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 17
> >>>>>>> [  102.616770] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616796] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.616809] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 18
> >>>>>>> [  102.616821] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616848] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.616854] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 19
> >>>>>>> [  102.616866] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616891] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 20
> >>>>>>> [  102.616903] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616928] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 21
> >>>>>>> [  102.616940] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.616965] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 22
> >>>>>>> [  102.616978] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617003] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 23
> >>>>>>> [  102.617015] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617040] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 24
> >>>>>>> [  102.617051] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617076] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 25
> >>>>>>> [  102.617088] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617111] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 26
> >>>>>>> [  102.617120] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617143] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 27
> >>>>>>> [  102.617152] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617175] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 28
> >>>>>>> [  102.617184] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617207] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 29
> >>>>>>> [  102.617216] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617239] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 30
> >>>>>>> [  102.617247] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617271] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 31
> >>>>>>> [  102.617280] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617303] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 0
> >>>>>>> [  102.617312] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617335] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 1
> >>>>>>> [  102.617343] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617367] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 2
> >>>>>>> [  102.617375] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617398] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 3
> >>>>>>> [  102.617407] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617430] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 4
> >>>>>>> [  102.617439] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617462] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 5
> >>>>>>> [  102.617471] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617494] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 6
> >>>>>>> [  102.617502] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617525] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 7
> >>>>>>> [  102.617534] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617557] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 8
> >>>>>>> [  102.617566] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617589] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 9
> >>>>>>> [  102.617598] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617621] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 10
> >>>>>>> [  102.617630] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617653] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 11
> >>>>>>> [  102.617662] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617686] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 12
> >>>>>>> [  102.617694] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617719] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.617723] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 13
> >>>>>>> [  102.617732] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617756] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.617761] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 14
> >>>>>>> [  102.617770] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617782] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.617889] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 15
> >>>>>>> [  102.617898] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.617911] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.618017] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 16
> >>>>>>> [  102.618026] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618051] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.618056] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 17
> >>>>>>> [  102.618064] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618089] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.618093] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 18
> >>>>>>> [  102.618102] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618127] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> rtsx_pci_send_cmd
> >>>> fail (err = -22)
> >>>>>>> [  102.618132] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 19
> >>>>>>> [  102.618140] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618164] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 20
> >>>>>>> [  102.618173] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618196] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 21
> >>>>>>> [  102.618205] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618228] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 22
> >>>>>>> [  102.618237] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618260] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 23
> >>>>>>> [  102.618268] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618292] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 24
> >>>>>>> [  102.618301] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618324] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 25
> >>>>>>> [  102.618333] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618356] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 26
> >>>>>>> [  102.618364] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618388] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 27
> >>>>>>> [  102.618397] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618421] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 28
> >>>>>>> [  102.618429] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618454] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 29
> >>>>>>> [  102.618463] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618488] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 30
> >>>>>>> [  102.618497] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618520] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 31
> >>>>>>> [  102.618529] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_read_data:
> >>>> SD/MMC CMD 19, arg = 0x00000000
> >>>>>>> [  102.618552] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: RX
> >> raw_phase_map[0]
> >>>> = 0xfff80fff
> >>>>>>> [  102.618554] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: RX
> >> raw_phase_map[1]
> >>>> = 0xfff80fff
> >>>>>>> [  102.618555] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: RX
> >> raw_phase_map[2]
> >>>> = 0xfff80fff
> >>>>>>> [  102.618556] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: RX phase_map =
> >>>> 0xfff80fff
> >>>>>>> [  102.618558] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: phase:
> >> [map:fff80fff]
> >>>> [maxlen:25] [final:31]
> >>>>>>> [  102.618559] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_change_phase(RX):
> >>>> sample_point = 31
> >>>>>>> [  102.618579] rtsx_pci 0000:c0:00.0: Switch card clock to 208MHz
> >>>>>>> [  102.618581] rtsx_pci 0000:c0:00.0: Internal SSC clock: 208MHz
> >>>> (cur_clock = 208)
> >>>>>>> [  102.618586] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sd_write_data:
> >>>> SD/MMC CMD 49, arg = 0x10020800
> >>>>>>> [  102.618587] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 49, arg = 0x10020800
> >>>>>>> [  102.618598] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000900
> >>>>>>> [  102.618754] rtsx_pci 0000:c0:00.0: Switch card clock to 208MHz
> >>>>>>> [  102.618756] rtsx_pci 0000:c0:00.0: Internal SSC clock: 208MHz
> >>>> (cur_clock = 208)
> >>>>>>> [  102.618759] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 13, arg = 0xd5550000
> >>>>>>> [  102.618769] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000900
> >>>>>>> [  102.618784] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: pre dma sg: 1
> >>>>>>> [  102.618794] rtsx_pci 0000:c0:00.0: Switch card clock to 208MHz
> >>>>>>> [  102.618795] rtsx_pci 0000:c0:00.0: Internal SSC clock: 208MHz
> >>>> (cur_clock = 208)
> >>>>>>> [  102.618798] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_read_long_data:
> >>>> SD/MMC CMD 18, arg = 0xc44607f8
> >>>>>>> [  102.618800] rtsx_pci 0000:c0:00.0: DMA addr: 0x675e5000, Len:
> >>>> 0x1000
> >>>>>>> [  102.619019] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 12, arg = 0x00000000
> >>>>>>> [  102.619030] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000b00
> >>>>>>> [  102.619066] rtsx_pci 0000:c0:00.0: Switch card clock to 208MHz
> >>>>>>> [  102.619068] rtsx_pci 0000:c0:00.0: Internal SSC clock: 208MHz
> >>>> (cur_clock = 208)
> >>>>>>> [  102.619074] rtsx_pci_sdmmc rtsx_pci_sdmmc.0:
> >> sd_send_cmd_get_rsp:
> >>>> SD/MMC CMD 13, arg = 0xd5550000
> >>>>>>> [  102.619085] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: cmd->resp[0] =
> >>>> 0x00000900
> >>>>>>> [  102.619090] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: sdmmc_get_cd:
> >>>> RTSX_BIPR = 0x00010000
> >>>>>>> [  102.624418] rtsx_pci_sdmmc rtsx_pci_sdmmc.0: pre dma sg: 17
> >>>>>>> [  102.624445] rtsx_pci 0000:c0:00.0: Switch card clock to 208MHz
> >>>>>>> [  102.624448] rtsx_pci 0000:c0:00.0: Internal SSC clock: 208MHz
> >>>> (cur_clock = 208)
> >>>>>>>
> >>>>>>> I've included a readout of sudo lspci -s c0:00.0 -xxxx below:
> >>>>>>>
> >>>>>>> c0:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd.
> >> RTS525A
> >>>> PCI Express Card Reader (rev 01)
> >>>>>>> 00: ec 10 5a 52 06 04 10 00 01 00 00 ff 10 00 00 00
> >>>>>>> 10: 00 00 00 00 00 00 b0 b0 00 00 00 00 00 00 00 00
> >>>>>>> 20: 00 00 00 00 00 00 00 00 00 00 00 00 ec 10 5a 52
> >>>>>>> 30: 00 00 00 00 80 00 00 00 00 00 00 00 ff 01 00 00
> >>>>>>> 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 80: 01 90 c3 f7 03 01 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 90: 05 b0 81 00 00 10 e0 fe 00 00 00 00 22 00 00 00
> >>>>>>> a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b0: 10 00 02 00 c2 8f 2c 01 30 20 19 00 12 7c 47 00
> >>>>>>> c0: 42 01 12 10 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d0: 00 00 00 00 10 08 0c 00 00 04 00 00 06 00 00 00
> >>>>>>> e0: 02 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 100: 01 00 82 14 00 00 00 00 00 00 40 00 30 20 46 00
> >>>>>>> 110: 00 20 00 00 00 60 00 00 a0 00 00 00 00 00 00 00
> >>>>>>> 120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 140: 00 00 00 00 00 00 00 00 03 00 81 15 00 e0 4c 00
> >>>>>>> 150: 01 00 00 00 00 00 00 00 18 00 01 16 01 10 01 10
> >>>>>>> 160: 1e 00 01 00 1f 3c 31 00 0f 00 99 40 49 00 00 00
> >>>>>>> 170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 1a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 1b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 1c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 1d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 1e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 1f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 220: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 230: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 240: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 250: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 260: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 270: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 290: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 2a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 2b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 2c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 2d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 2e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 2f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 350: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 360: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 370: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 390: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 3a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 3b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 3c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 3d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 3e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 3f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 410: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 430: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 440: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 460: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 470: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 490: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 4a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 4b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 4c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 4d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 4e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 4f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 500: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 510: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 520: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 530: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 540: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 550: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 560: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 570: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 580: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 5a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 5b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 5c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 5d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 5e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 5f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 610: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 620: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 630: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 640: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 650: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 660: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 670: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 680: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 690: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 6a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 6b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 6c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 6d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 6e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 6f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 700: 68 00 38 01 ff ff ff ff 04 00 00 07 01 ff ff 5b
> >>>>>>> 710: 20 01 01 00 00 00 00 00 00 00 01 00 80 02 00 00
> >>>>>>> 720: 00 00 00 00 aa ff ff ee 11 7a f6 03 10 03 00 08
> >>>>>>> 730: 80 00 01 00 ff 0f 01 00 40 00 01 00 01 00 00 00
> >>>>>>> 740: 0f 00 00 00 00 00 00 00 20 40 20 40 04 40 20 00
> >>>>>>> 750: 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 7a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 7b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 7c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 7d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 7e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 7f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 800: 00 00 00 00 00 00 00 00 00 00 00 00 ff 01 00 00
> >>>>>>> 810: 94 b3 c8 24 75 1f 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 850: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 860: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 870: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 880: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 890: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 8a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 8b0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
> >>>>>>> 8c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 8d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 8e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 8f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 900: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 910: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 920: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 930: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 940: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 950: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 960: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 970: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 980: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 990: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 9a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 9b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 9c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 9d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 9e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> 9f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> a90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> aa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ab0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ac0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ad0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ae0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> af0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b40: 01 00 00 00 d3 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> b90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ba0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> bb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> bc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> bd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> be0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> bf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> c90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ca0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> cb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> cc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> cd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ce0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> cf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> d90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> db0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> dc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> dd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> de0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> df0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> e90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ea0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> eb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ec0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ed0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> f90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> fa0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> fc0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> fd0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> fe0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>> ff0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> >>>>>>>
> >>>>>>> deck@legion-go-2 ~> sudo cat /sys/kernel/debug/mmc0/ios
> >>>>>>> clock:          208000000 Hz
> >>>>>>> vdd:            21 (3.3 ~ 3.4 V)
> >>>>>>> bus mode:       2 (push-pull)
> >>>>>>> chip select:    0 (don't care)
> >>>>>>> power mode:     2 (on)
> >>>>>>> bus width:      2 (4 bits)
> >>>>>>> timing spec:    6 (sd uhs SDR104)
> >>>>>>> signal voltage: 1 (1.80 V)
> >>>>>>> driver type:    0 (driver type B)
> >>>>>>>
> >>>>>>> As a workaround, not setting MMC_CAP_AGGRESSIVE_PM seems to
> >>>> resolve the issue:
> >>>>>>>
> >>>>>>> diff --git a/drivers/mmc/host/rtsx_pci_sdmmc.c
> >>>> b/drivers/mmc/host/rtsx_pci_sdmmc.c
> >>>>>>> index 1e5170435cf8..a7c7daf66d5c 100644
> >>>>>>> --- a/drivers/mmc/host/rtsx_pci_sdmmc.c
> >>>>>>> +++ b/drivers/mmc/host/rtsx_pci_sdmmc.c
> >>>>>>> @@ -1499,7 +1499,7 @@ static void realtek_init_host(struct
> >>>> realtek_pci_sdmmc *host)
> >>>>>>>         mmc->caps = MMC_CAP_4_BIT_DATA |
> >>>> MMC_CAP_SD_HIGHSPEED |
> >>>>>>>                 MMC_CAP_MMC_HIGHSPEED |
> >>>> MMC_CAP_BUS_WIDTH_TEST |
> >>>>>>>                 MMC_CAP_UHS_SDR12 |
> MMC_CAP_UHS_SDR25;
> >>>>>>> -       if (pcr->rtd3_en)
> >>>>>>> +       if (pcr->rtd3_en && PCI_PID(pcr) != PID_525A)
> >>>>>>>                 mmc->caps = mmc->caps |
> >>>> MMC_CAP_AGGRESSIVE_PM;
> >>>>>>>         mmc->caps2 = MMC_CAP2_NO_PRESCAN_POWERUP |
> >>>> MMC_CAP2_FULL_PWR_CYCLE |
> >>>>>>>                 MMC_CAP2_NO_SDIO;
> >>>>>>> --
> >>>>>>> 2.52.0
> >>>>>>>
> >>>>>>> I think what's happening here is that RTS525A shuts off power to the
> >> card
> >>>> reader when games are idle for 10 seconds or more, and then when the
> >> game
> >>>> goes to load new assets it has to go through the whole re-tuning process
> >> which
> >>>> takes 1-2 seconds. The other brands of card readers I have keep the
> device
> >>>> powered the whole time so they do not have this issue, and that's what
> >>>> untagging MMC_CAP_AGGRESSIVE_PM seems to mimic.
> >>>>>>
> >>>>>> Right, MMC_CAP_AGGRESSIVE_PM does exactly what you think. If
> there
> >>>> are
> >>>>>> an idle period of no requests for the SD card, the mmc core may
> decide
> >>>>>> to power-off the card for those mmc host drivers that has set
> >>>>>> MMC_CAP_AGGRESSIVE_PM. The idea is that we want to avoid
> wasting
> >>>> power
> >>>>>> when the card is unused, which is typically important on some battery
> >>>>>> driven devices.
> >>>>>>
> >>>>>> The main problem however, is that we are lacking a common policy for
> >>>>>> how to handle this generically for all eMMC/SD cards. Ideally it
> >>>>>> should be independent of what mmc host drivers that is managing it,
> >>>>>> but that's not the case.
> >>>>>>
> >>>>>> That said, without changing the code you can use sysfs to either tweak
> >>>>>> the idle-period or to simply prevent "runtime_suspend" (meaning
> >>>>>> power-off) for the SD card.
> >>>>>>
> >>>
> >>> Hi Ulf, Matthew
> >>>
> >>> In our Windows card reader driver, the idle period time is set to
> >> approximately 10 seconds.
> >>> Is there any recommended way to control or configure this idle period
> time?
> >>
> >> I tried adjusting pm_schedule_suspend(device, 10000); in rtsx_pcr, but this
> just
> >> increases the time until you inevitably run into the issue. There are some
> >> games that can go a very long time in runtime_suspend without loading
> new
> >> assets, but when they inevitably go into runtime_resume after say 3 or 5
> >> minutes, this hang in gameplay seems unavoidable with
> >> MMC_CAP_AGGRESSIVE_PM in particular. I found an old laptop of mine
> with
> >> an RTS5261 reader and that has the same issue unless I disable
> >> MMC_CAP_AGGRESSIVE_PM.
> >>
> >>> Or is it possible to introduce a capability tag that is less aggressive than
> >> MMC_CAP_AGGRESSIVE_PM?
> >>
> >> Full disclosure: This is my first time looking at mmc/rtsx code, so I'll defer to
> >> Ulf on this.
> >>
> >>> Since most notebooks have very strict power-saving requirements during
> idle
> >> states,
> >>> we are not able to avoid using the MMC_CAP_AGGRESSIVE_PM capability.
> >>
> >> The only other comparison I have is from card readers in other devices of
> mine,
> >> a Genesys Logic GL9767 in a ROG Ally X and an O2 Micro in my Steam
> Deck.
> >> For both of these, the card reader drivers do not seem to implement any
> form
> >> of runtime power management on Linux, so the experience when playing
> >> games off of them has been flawless.
> >>
> >> Matt
> >>
> >
> > Since our driver is designed to be a general-purpose driver for all readers,
> > the scenarios you mentioned — ROG Ally X and Steam Deck — are gaming
> handheld devices.
> 
> The drivers they use were not designed to be gaming-focused either, they are
> general purpose.
> O2 Micro has been around since before handheld gaming PCs were even a
> thing. Personally,
> I disagree with classifying gaming as falling outside of "general purpose"
> parameters.
> 

What I’m referring to here is the product positioning — whether the device is categorized as a gaming handheld or a notebook PC.

> > For Realtek reader usage on handheld platforms,
> > we would recommend disabling this power-saving function(pcr->rtd3_en)
> through BIOS settings/guidelines.
> 
> Just to clarify, is the recommendation to disable this feature for every device
> with a Realtek card
> reader that might be used to play games from an SD card? My MSI Raider
> GE67HX laptop with RTS5261 has
> this same freeze in gameplay if I use an SD card. Using an SD card as a
> portable library is very
> common.
> 
> Thanks,
> Matt
> 

Over the past few years, the vast majority of notebook manufacturers have placed strong emphasis on power consumption, 
requiring support for S0ix with very strict power efficiency targets.
As a result, we updated the driver to further reduce power consumption.

To address this issue, it seems necessary to provide a mechanism that allows games or user-mode applications to dynamically enable or disable the power-management (PM) functionality.

Ricky
> >>>
> >>>
> >>>>>> For example, find the corresponding device for the mmc/sd card in
> >>>>>> sysfs and do: echo on >.../power/control to prevent runtime suspend.
> >>>>>
> >>>>> I tried the runtime solution during debugging, however the card reader
> >> still
> >>>> shuts off while idle:
> >>>>>
> >>>>> deck@legion-go-2 ~> cat
> >>>> /sys/bus/pci/drivers/rtsx_pci/0000:c0:00.0/power/control
> >>>>> on
> >>>>
> >>>> Ah, I misunderstood. I should have used
> >>>> /sys/bus/mmc/devices/mmc0:d555/power/control, that does work at
> >> runtime.
> >>>>
> >>>> Matt
> >>>>
> >>>>>
> >>>>> deck@legion-go-2 ~> sudo cat /sys/kernel/debug/mmc0/ios
> >>>>> clock:          0 Hz
> >>>>> vdd:            0 (invalid)
> >>>>> bus mode:       2 (push-pull)
> >>>>> chip select:    0 (don't care)
> >>>>> power mode:     0 (off)
> >>>>> bus width:      0 (1 bits)
> >>>>> timing spec:    0 (legacy)
> >>>>> signal voltage: 1 (1.80 V)
> >>>>> driver type:    0 (driver type B)
> >>>>>
> >>>>> Only removing MMC_CAP_AGGRESSIVE_PM seemed to actually work.
> >>>>>
> >>>>>>
> >>>>>>>
> >>>>>>> Should I upstream the above as a quirk or is there further debugging I
> >> can
> >>>> assist with to find another workaround for the gameplay stutter? I've
> found
> >> a
> >>>> couple other bugs with the card reader too but I will send out separate
> >> threads
> >>>> to keep things organized.
> >>>>>>
> >>>>>> Please post a formal patch, then let's discuss what to do about it.
> >>>>>
> >>>>> Will send out that patch shortly.
> >>>>>
> >>>>> Matt
> >>>>>
> >>>>>>
> >>>>>>>
> >>>>>>> Thanks!
> >>>>>>>
> >>>>>>> Matt
> >>>>>>
> >>>>>> Kind regards
> >>>>>> Uffe
> >>>>>
> >>>
> >


  reply	other threads:[~2026-01-05  8:40 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-24 21:01 [BUG] - Short freezes in gameplay due to MMC_CAP_AGGRESSIVE_PM on RTS525A card reader Matthew Schwartz
2026-01-03 11:37 ` Ulf Hansson
2026-01-03 19:52   ` Matthew Schwartz
2026-01-04  0:45     ` Matthew Schwartz
2026-01-05  3:58       ` Ricky WU
2026-01-05  4:53         ` Matthew Schwartz
2026-01-05  7:02           ` Ricky WU
2026-01-05  7:50             ` Matthew Schwartz
2026-01-05  8:39               ` Ricky WU [this message]
2026-01-28 13:23                 ` Ulf Hansson
2026-01-28 17:14                   ` Bart Van Assche
2026-01-29 16:30                     ` Ulf Hansson
2026-02-02 22:47                       ` Bart Van Assche
2026-02-03 11:28                         ` Ulf Hansson
2026-02-03 18:10                           ` Bart Van Assche
2026-02-05 11:26                             ` Ulf Hansson
2026-02-05 14:21                               ` Bart Van Assche
2026-02-05 14:55                                 ` Ulf Hansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4205fde06ecd4a7489b03ef25e5e4011@realtek.com \
    --to=ricky_wu@realtek.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=matthew.schwartz@linux.dev \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.