From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: vkoul@kernel.org, andersson@kernel.org, kishon@ti.com,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] phy: qcom-qmp-pcie: Fix the SM8450 PCS registers
Date: Wed, 26 Oct 2022 19:45:05 +0300 [thread overview]
Message-ID: <bdae97d3-d6a2-d508-cd86-5e427d8db00a@linaro.org> (raw)
In-Reply-To: <20221026143152.GA93939@thinkpad>
On 26/10/2022 17:31, Manivannan Sadhasivam wrote:
> On Wed, Sep 21, 2022 at 04:06:10PM +0300, Dmitry Baryshkov wrote:
>> On 10/09/2022 09:38, Manivannan Sadhasivam wrote:
>>> In the PCS region, registers QPHY_V5_PCS_EQ_CONFIG4 and
>>> QPHY_V5_PCS_EQ_CONFIG5 should be used instead of QPHY_V5_PCS_EQ_CONFIG2
>>> and QPHY_V5_PCS_EQ_CONFIG3.
>>>
>>> This causes high latency when ASPM is enabled, so fix it!
>>
>> I have checked against vendor's tree [1]. The registers in question have
>> offsets 0x01c0f3e0 / 0x01c0f3e4. The sm8450.dtsi uses 0x1c0f200 as the PCS
>> region base for the PCIe PHY1. Thus the correct offsets for the table are
>> 0x1e0/0x1e4.
>>
>> There might be a mistake in the name of the register, but the address
>> corresponds to the address in the vendor's tree.
>>
>
> Right. Only the register name is wrong and I've got the offset wrong here.
> But the actual latency issue is fixed by clearing the
> QPHY_V4_PCS_PCIE_PRESET_P10_POST register in pcs_misc register space.
Please, don't use v4 register names in v5.2 tables. If the register
matches, could you please add corresponding define?
>
> I will check with Qcom on this behaviour and post v2 with register name fix.
>
> Thanks,
> Mani
>
>> [1] https://github.com/MiCode/kernel_devicetree/blob/zeus-s-oss/qcom/waipio-pcie.dtsi#L520
>>
>>>
>>> Fixes: 2c91bf6bf290 ("phy: qcom-qmp: Add SM8450 PCIe1 PHY support")
>>> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
>>> ---
>>> drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 4 ++--
>>> drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h | 4 ++--
>>> 2 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
>>> index 4648467d5cac..b508903d77d0 100644
>>> --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
>>> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
>>> @@ -1332,8 +1332,8 @@ static const struct qmp_phy_init_tbl sm8450_qmp_gen4x2_pcie_rx_tbl[] = {
>>> };
>>> static const struct qmp_phy_init_tbl sm8450_qmp_gen4x2_pcie_pcs_tbl[] = {
>>> - QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG2, 0x16),
>>> - QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG3, 0x22),
>>> + QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG4, 0x16),
>>> + QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG5, 0x22),
>>> QMP_PHY_INIT_CFG(QPHY_V5_PCS_G3S2_PRE_GAIN, 0x2e),
>>> QMP_PHY_INIT_CFG(QPHY_V5_PCS_RX_SIGDET_LVL, 0x99),
>>> };
>>> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h
>>> index 61a44519f969..cca6455ec98c 100644
>>> --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h
>>> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h
>>> @@ -11,7 +11,7 @@
>>> #define QPHY_V5_PCS_G3S2_PRE_GAIN 0x170
>>> #define QPHY_V5_PCS_RX_SIGDET_LVL 0x188
>>> #define QPHY_V5_PCS_RATE_SLEW_CNTRL1 0x198
>>> -#define QPHY_V5_PCS_EQ_CONFIG2 0x1e0
>>> -#define QPHY_V5_PCS_EQ_CONFIG3 0x1e4
>>> +#define QPHY_V5_PCS_EQ_CONFIG4 0x2e0
>>> +#define QPHY_V5_PCS_EQ_CONFIG5 0x2e4
>>> #endif
--
With best wishes
Dmitry
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
To: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: vkoul@kernel.org, andersson@kernel.org, kishon@ti.com,
linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] phy: qcom-qmp-pcie: Fix the SM8450 PCS registers
Date: Wed, 26 Oct 2022 19:45:05 +0300 [thread overview]
Message-ID: <bdae97d3-d6a2-d508-cd86-5e427d8db00a@linaro.org> (raw)
In-Reply-To: <20221026143152.GA93939@thinkpad>
On 26/10/2022 17:31, Manivannan Sadhasivam wrote:
> On Wed, Sep 21, 2022 at 04:06:10PM +0300, Dmitry Baryshkov wrote:
>> On 10/09/2022 09:38, Manivannan Sadhasivam wrote:
>>> In the PCS region, registers QPHY_V5_PCS_EQ_CONFIG4 and
>>> QPHY_V5_PCS_EQ_CONFIG5 should be used instead of QPHY_V5_PCS_EQ_CONFIG2
>>> and QPHY_V5_PCS_EQ_CONFIG3.
>>>
>>> This causes high latency when ASPM is enabled, so fix it!
>>
>> I have checked against vendor's tree [1]. The registers in question have
>> offsets 0x01c0f3e0 / 0x01c0f3e4. The sm8450.dtsi uses 0x1c0f200 as the PCS
>> region base for the PCIe PHY1. Thus the correct offsets for the table are
>> 0x1e0/0x1e4.
>>
>> There might be a mistake in the name of the register, but the address
>> corresponds to the address in the vendor's tree.
>>
>
> Right. Only the register name is wrong and I've got the offset wrong here.
> But the actual latency issue is fixed by clearing the
> QPHY_V4_PCS_PCIE_PRESET_P10_POST register in pcs_misc register space.
Please, don't use v4 register names in v5.2 tables. If the register
matches, could you please add corresponding define?
>
> I will check with Qcom on this behaviour and post v2 with register name fix.
>
> Thanks,
> Mani
>
>> [1] https://github.com/MiCode/kernel_devicetree/blob/zeus-s-oss/qcom/waipio-pcie.dtsi#L520
>>
>>>
>>> Fixes: 2c91bf6bf290 ("phy: qcom-qmp: Add SM8450 PCIe1 PHY support")
>>> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
>>> ---
>>> drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 4 ++--
>>> drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h | 4 ++--
>>> 2 files changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
>>> index 4648467d5cac..b508903d77d0 100644
>>> --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
>>> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
>>> @@ -1332,8 +1332,8 @@ static const struct qmp_phy_init_tbl sm8450_qmp_gen4x2_pcie_rx_tbl[] = {
>>> };
>>> static const struct qmp_phy_init_tbl sm8450_qmp_gen4x2_pcie_pcs_tbl[] = {
>>> - QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG2, 0x16),
>>> - QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG3, 0x22),
>>> + QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG4, 0x16),
>>> + QMP_PHY_INIT_CFG(QPHY_V5_PCS_EQ_CONFIG5, 0x22),
>>> QMP_PHY_INIT_CFG(QPHY_V5_PCS_G3S2_PRE_GAIN, 0x2e),
>>> QMP_PHY_INIT_CFG(QPHY_V5_PCS_RX_SIGDET_LVL, 0x99),
>>> };
>>> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h
>>> index 61a44519f969..cca6455ec98c 100644
>>> --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h
>>> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcs-v5.h
>>> @@ -11,7 +11,7 @@
>>> #define QPHY_V5_PCS_G3S2_PRE_GAIN 0x170
>>> #define QPHY_V5_PCS_RX_SIGDET_LVL 0x188
>>> #define QPHY_V5_PCS_RATE_SLEW_CNTRL1 0x198
>>> -#define QPHY_V5_PCS_EQ_CONFIG2 0x1e0
>>> -#define QPHY_V5_PCS_EQ_CONFIG3 0x1e4
>>> +#define QPHY_V5_PCS_EQ_CONFIG4 0x2e0
>>> +#define QPHY_V5_PCS_EQ_CONFIG5 0x2e4
>>> #endif
--
With best wishes
Dmitry
--
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy
next prev parent reply other threads:[~2022-10-26 16:45 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-10 6:38 [PATCH] phy: qcom-qmp-pcie: Fix the SM8450 PCS registers Manivannan Sadhasivam
2022-09-10 6:38 ` Manivannan Sadhasivam
2022-09-20 6:45 ` Vinod Koul
2022-09-20 6:45 ` Vinod Koul
2022-09-20 9:29 ` Johan Hovold
2022-09-20 9:29 ` Johan Hovold
2022-09-21 13:06 ` Dmitry Baryshkov
2022-09-21 13:06 ` Dmitry Baryshkov
2022-10-26 14:31 ` Manivannan Sadhasivam
2022-10-26 14:31 ` Manivannan Sadhasivam
2022-10-26 16:45 ` Dmitry Baryshkov [this message]
2022-10-26 16:45 ` Dmitry Baryshkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bdae97d3-d6a2-d508-cd86-5e427d8db00a@linaro.org \
--to=dmitry.baryshkov@linaro.org \
--cc=andersson@kernel.org \
--cc=kishon@ti.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.