[PATCH] phy: airoha: adjust initialization delay in airoha_pcie_phy_init()

Lorenzo Bianconi lorenzo at kernel.org
Mon Aug 5 10:17:54 PDT 2024


> On 09-07-24, 09:03, Lorenzo Bianconi wrote:
> > 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 at kernel.org>
> > ---
> >  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..445bacfdaaf4 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
> > +	 */
> > +	mdelay(PHY_HW_INIT_TIME_MS);
> 
> Why not use msleep()...?

ack, you are right, it is not in an atomic context. I will fix it in v2.

Regards,
Lorenzo

> 
> -- 
> ~Vinod
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-phy/attachments/20240805/c53fdb55/attachment.sig>


More information about the linux-phy mailing list