Message ID | 20231107-refclk_always_on-v2-0-de23962fc4b3@quicinc.com |
---|---|
Headers | show |
Series | phy: qcom-qmp-pcie: Add support to keep refclk always on | expand |
On 11/7/23 13:26, Krishna chaitanya chundru wrote: > This series adds support to provide refclk to endpoint even in low > power states. > > Due to some platform specific issues with CLKREQ signal, it is not being > propagated to the host and as host doesn't know the clkreq signal host is > not sending refclk. Due to this endpoint is seeing linkdown and going > to bad state. > To avoid those ref clk should be provided always to the endpoint. The > issue is coming only when ep intiates the L1.1 or L1.2 exit and clkreq > is not being propagated properly to the host. I'm gonna sound like a broken record, but: How much power does this consume? Would it matter if we kept this clock always-on for all platforms with this version of the phy? Konrad
On 11/8/2023 3:27 AM, Konrad Dybcio wrote: > > > On 11/7/23 13:26, Krishna chaitanya chundru wrote: >> This series adds support to provide refclk to endpoint even in low >> power states. >> >> Due to some platform specific issues with CLKREQ signal, it is not being >> propagated to the host and as host doesn't know the clkreq signal >> host is >> not sending refclk. Due to this endpoint is seeing linkdown and going >> to bad state. >> To avoid those ref clk should be provided always to the endpoint. The >> issue is coming only when ep intiates the L1.1 or L1.2 exit and clkreq >> is not being propagated properly to the host. > I'm gonna sound like a broken record, but: > > How much power does this consume? Would it matter if we kept this > clock always-on for all platforms with this version of the phy? > > Konrad We see about 22mw extra power consumption with refclk always on. We can't keep this property always on as there is impact on power consumption. - Krishna Chaitanya
On 11/9/23 10:32, Krishna Chaitanya Chundru wrote: > > On 11/8/2023 3:27 AM, Konrad Dybcio wrote: >> >> >> On 11/7/23 13:26, Krishna chaitanya chundru wrote: >>> This series adds support to provide refclk to endpoint even in low >>> power states. >>> >>> Due to some platform specific issues with CLKREQ signal, it is not being >>> propagated to the host and as host doesn't know the clkreq signal host is >>> not sending refclk. Due to this endpoint is seeing linkdown and going >>> to bad state. >>> To avoid those ref clk should be provided always to the endpoint. The >>> issue is coming only when ep intiates the L1.1 or L1.2 exit and clkreq >>> is not being propagated properly to the host. >> I'm gonna sound like a broken record, but: >> >> How much power does this consume? Would it matter if we kept this >> clock always-on for all platforms with this version of the phy? >> >> Konrad > > We see about 22mw extra power consumption with refclk always on. > > We can't keep this property always on as there is impact on power consumption. Ooeheh, that's not far away from a low-clocked efficiency CPU core.. Thanks for checking! Konrad
This series adds support to provide refclk to endpoint even in low power states. Due to some platform specific issues with CLKREQ signal, it is not being propagated to the host and as host doesn't know the clkreq signal host is not sending refclk. Due to this endpoint is seeing linkdown and going to bad state. To avoid those ref clk should be provided always to the endpoint. The issue is coming only when ep intiates the L1.1 or L1.2 exit and clkreq is not being propagated properly to the host. Signed-off-by: Krishna chaitanya chundru <quic_krichai@quicinc.com> --- Changes in v2: - Added refclk cntrl registers to the applicable phy versions & added reg layout where - refclk cntrl offset needs to be updated (Dmitry) - Error out if refclk_always_on is set and there is no refclk control register to enable it (Dmitry) - updated the dt-binding description & some nit's as suggested by (Bjorn) - Link to v1: https://lore.kernel.org/r/20231106-refclk_always_on-v1-0-17a7fd8b532b@quicinc.com --- Krishna chaitanya chundru (3): dt-bindings: phy: qcom,qmp: Add PCIe qcom,refclk-always-on property phy: qcom-qmp-pcie: Add endpoint refclk control register offset phy: qcom-qmp-pcie: Add support for keeping refclk always on .../bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 7 ++++ drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 40 ++++++++++++++++++++-- drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v5.h | 1 + drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v5_20.h | 1 + drivers/phy/qualcomm/phy-qcom-qmp-pcs-pcie-v6_20.h | 1 + 5 files changed, 47 insertions(+), 3 deletions(-) --- base-commit: 71e68e182e382e951d6248bccc3c960dcec5a718 change-id: 20231106-refclk_always_on-9beae8297cb8 Best regards,