misc: rtsx: Enhance the signal handling processes in SVID/SSID 1028:0CE1 platform
authorRicky Wu <ricky_wu@realtek.com>
Fri, 14 Mar 2025 09:40:13 +0000 (17:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 15 Apr 2025 14:14:37 +0000 (16:14 +0200)
This patch introduces improvements to the signal handling processes on
the SVID/SSID 1028:0CE1 platform. By optimizing signal handling processes
we aim to deliver a more stable and reliable user experience.
The enhancements ensure robust connectivity and enhance signal process
performance. We have conducted extensive testing to ensure these
modifications result in noticeable improvements without impacting
existing functionalities.

Signed-off-by: Ricky Wu <ricky_wu@realtek.com>
Link: https://lore.kernel.org/r/20250314094013.663223-1-ricky_wu@realtek.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/cardreader/rts5264.c

index 8be4ed7d9d473ad3dfcaaa381581e0f2381c1ab7..06d7a8a95fd6edf3ff8425d05dc5312ade8e8b27 100644 (file)
@@ -605,6 +605,22 @@ static int rts5264_extra_init_hw(struct rtsx_pcr *pcr)
        return 0;
 }
 
+static int rts5264_optimize_phy(struct rtsx_pcr *pcr)
+{
+       u16 subvendor, subdevice, val;
+
+       subvendor = pcr->pci->subsystem_vendor;
+       subdevice = pcr->pci->subsystem_device;
+
+       if ((subvendor == 0x1028) && (subdevice == 0x0CE1)) {
+               rtsx_pci_read_phy_register(pcr, _PHY_REV0, &val);
+               if ((val & 0xFE00) > 0x3800)
+                       rtsx_pci_update_phy(pcr, _PHY_REV0, 0x1FF, 0x3800);
+       }
+
+       return 0;
+}
+
 static void rts5264_enable_aspm(struct rtsx_pcr *pcr, bool enable)
 {
        u8 val = FORCE_ASPM_CTL0 | FORCE_ASPM_CTL1;
@@ -682,6 +698,7 @@ static const struct pcr_ops rts5264_pcr_ops = {
        .turn_on_led = rts5264_turn_on_led,
        .turn_off_led = rts5264_turn_off_led,
        .extra_init_hw = rts5264_extra_init_hw,
+       .optimize_phy = rts5264_optimize_phy,
        .enable_auto_blink = rts5264_enable_auto_blink,
        .disable_auto_blink = rts5264_disable_auto_blink,
        .card_power_on = rts5264_card_power_on,