summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicky Wu <ricky_wu@realtek.com>2025-03-14 17:40:13 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-04-15 16:14:37 +0200
commit84d1ee548f4add582aa1923f30cf379c9c068ea5 (patch)
treed822460c35112ab9cfb14f4225fd3ef2be8f2050
parentb41381a0bdccf5dfd60815bdccaa7e3b41189f42 (diff)
misc: rtsx: Enhance the signal handling processes in SVID/SSID 1028:0CE1 platform
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>
-rw-r--r--drivers/misc/cardreader/rts5264.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/misc/cardreader/rts5264.c b/drivers/misc/cardreader/rts5264.c
index 8be4ed7d9d47..06d7a8a95fd6 100644
--- a/drivers/misc/cardreader/rts5264.c
+++ b/drivers/misc/cardreader/rts5264.c
@@ -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,