lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4205fde06ecd4a7489b03ef25e5e4011@realtek.com>
Date: Mon, 5 Jan 2026 08:39:57 +0000
From: Ricky WU <ricky_wu@...ltek.com>
To: Matthew Schwartz <matthew.schwartz@...ux.dev>,
        Ulf Hansson
	<ulf.hansson@...aro.org>
CC: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-mmc@...r.kernel.org" <linux-mmc@...r.kernel.org>
Subject: RE: [BUG] - Short freezes in gameplay due to MMC_CAP_AGGRESSIVE_PM on
 RTS525A card reader

> 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@...ux.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@...ion-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@...ion-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@...ion-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
> >>>>>
> >>>
> >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ