Re: [PATCH v2] phy: airoha: adjust initialization delay in airoha_pcie_phy_init()
From: Lorenzo Bianconi <lorenzo@kernel.org>
Date: 2024-08-06 15:58:02
Also in:
linux-arm-kernel
Il 05/08/24 21:57, Lorenzo Bianconi ha scritto:quoted
Align phy-pcie initialization delay to the vendor sdk in airoha_pcie_phy_init routine and allow the hw to complete required configuration before proceeding Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>quoted
--- Changes since v1: - use msleep() instead of mdelay() --- drivers/phy/phy-airoha-pcie.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)diff --git a/drivers/phy/phy-airoha-pcie.c b/drivers/phy/phy-airoha-pcie.c index bd3edaa986c8..6d61e6486a03 100644 --- a/drivers/phy/phy-airoha-pcie.c +++ b/drivers/phy/phy-airoha-pcie.c@@ -18,6 +18,9 @@ #define LEQ_LEN_CTRL_MAX_VAL 7 #define FREQ_LOCK_MAX_ATTEMPT 10 +/* PCIe-PHY initialization time in ms needed by the hw to complete */ +#define PHY_HW_INIT_TIME_MS 30 + enum airoha_pcie_port_gen { PCIE_PORT_GEN1 = 1, PCIE_PORT_GEN2,@@ -1180,8 +1183,11 @@ static int airoha_pcie_phy_init(struct phy *phy) PCIE_DA_XPON_CDR_PR_PWDB); airoha_phy_pma1_set_bits(pcie_phy, REG_PCIE_PMA_SS_DA_XPON_PWDB0, PCIE_DA_XPON_CDR_PR_PWDB); - - usleep_range(100, 200); + /* + * Wait for the time in ms needed by the hw to complete the PCIe-PHY + * initialization...but regardless, I have a nit here (not a blocker for me, hence the R-b tag): there's no need to say that we're waiting for milliseconds, so this comment can be just one line: /* Wait for the PCIe PHY to complete initialization before returning */ Cheers, Angelo
ack, no worries, already fixed in v3. Regards, Lorenzo
quoted
+ */ + msleep(PHY_HW_INIT_TIME_MS); return 0; }