2021-01-21 10:21:53

by Ricky Wu

[permalink] [raw]
Subject: [PATCH] misc: rtsx: init value of aspm_enabled

From: Ricky Wu <[email protected]>

make sure ASPM state sync with pcr->aspm_enabled
init value pcr->aspm_enabled

Signed-off-by: Ricky Wu <[email protected]>
---
drivers/misc/cardreader/rtsx_pcr.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/misc/cardreader/rtsx_pcr.c b/drivers/misc/cardreader/rtsx_pcr.c
index 2aa6648fa41f..06df0687c0bb 100644
--- a/drivers/misc/cardreader/rtsx_pcr.c
+++ b/drivers/misc/cardreader/rtsx_pcr.c
@@ -1512,6 +1512,7 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
struct pcr_handle *handle;
u32 base, len;
int ret, i, bar = 0;
+ u8 val;

dev_dbg(&(pcidev->dev),
": Realtek PCI-E Card Reader found at %s [%04x:%04x] (rev %x)\n",
@@ -1577,7 +1578,11 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
pcr->host_cmds_addr = pcr->rtsx_resv_buf_addr;
pcr->host_sg_tbl_ptr = pcr->rtsx_resv_buf + HOST_CMDS_BUF_LEN;
pcr->host_sg_tbl_addr = pcr->rtsx_resv_buf_addr + HOST_CMDS_BUF_LEN;
-
+ rtsx_pci_read_register(pcr, ASPM_FORCE_CTL, &val);
+ if (val & FORCE_ASPM_CTL0 || val & FORCE_ASPM_CTL1)
+ pcr->aspm_enabled = true;
+ else
+ pcr->aspm_enabled = false;
pcr->card_inserted = 0;
pcr->card_removed = 0;
INIT_DELAYED_WORK(&pcr->carddet_work, rtsx_pci_card_detect);
--
2.17.1


2021-01-21 10:24:57

by Ricky Wu

[permalink] [raw]
Subject: RE: [PATCH] misc: rtsx: init value of aspm_enabled

Abandon this patch
Sorry~

> -----Original Message-----
> From: ?d???? Ricky <[email protected]>
> Sent: Thursday, January 21, 2021 6:16 PM
> To: [email protected]; [email protected]; [email protected]; ?d
> ???? Ricky <[email protected]>; [email protected];
> [email protected]
> Subject: [PATCH] misc: rtsx: init value of aspm_enabled
>
> From: Ricky Wu <[email protected]>
>
> make sure ASPM state sync with pcr->aspm_enabled init value
> pcr->aspm_enabled
>
> Signed-off-by: Ricky Wu <[email protected]>
> ---
> drivers/misc/cardreader/rtsx_pcr.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/misc/cardreader/rtsx_pcr.c
> b/drivers/misc/cardreader/rtsx_pcr.c
> index 2aa6648fa41f..06df0687c0bb 100644
> --- a/drivers/misc/cardreader/rtsx_pcr.c
> +++ b/drivers/misc/cardreader/rtsx_pcr.c
> @@ -1512,6 +1512,7 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
> struct pcr_handle *handle;
> u32 base, len;
> int ret, i, bar = 0;
> + u8 val;
>
> dev_dbg(&(pcidev->dev),
> ": Realtek PCI-E Card Reader found at %s [%04x:%04x] (rev %x)\n",
> @@ -1577,7 +1578,11 @@ static int rtsx_pci_probe(struct pci_dev *pcidev,
> pcr->host_cmds_addr = pcr->rtsx_resv_buf_addr;
> pcr->host_sg_tbl_ptr = pcr->rtsx_resv_buf + HOST_CMDS_BUF_LEN;
> pcr->host_sg_tbl_addr = pcr->rtsx_resv_buf_addr +
> HOST_CMDS_BUF_LEN;
> -
> + rtsx_pci_read_register(pcr, ASPM_FORCE_CTL, &val);
> + if (val & FORCE_ASPM_CTL0 || val & FORCE_ASPM_CTL1)
> + pcr->aspm_enabled = true;
> + else
> + pcr->aspm_enabled = false;
> pcr->card_inserted = 0;
> pcr->card_removed = 0;
> INIT_DELAYED_WORK(&pcr->carddet_work, rtsx_pci_card_detect);
> --
> 2.17.1