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] [thread-next>] [day] [month] [year] [list]
Message-ID: <380f75c7adc04cbab38cfd2f82bd0c6d@realtek.com>
Date: Mon, 5 Jan 2026 07:02:18 +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 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.
For Realtek reader usage on handheld platforms, 
we would recommend disabling this power-saving function(pcr->rtd3_en) through BIOS settings/guidelines.

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