Message ID | 20250305144355.20364-1-eichest@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | phy: freescale: imx8m-pcie: fix and cleanup phy | expand |
On Wed, Mar 05, 2025 at 03:43:15PM +0100, Stefan Eichenberger wrote: > From: Stefan Eichenberger <stefan.eichenberger@toradex.com> > > Remove the switch statement and base perst release on whether it is > found in the device tree. The probe function fails without the reset > property, making it mandatory. Therefore, always release reset > independent of the variant. Thanks for clean up this. "Remove the switch statement for releasing 'perst' and 'reset' since they are already correctly set at probe and are no-ops for reset_control_deassert(NULL). Call these unconditionally." Reviewed-by: Frank Li <Frank.Li@nxp.com> > > This does not change the behavior of the driver but reduces driver > complexity and allows for easier future modifications. > > Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com> > --- > drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c > index e98361dcdeadf..5b505e34ca364 100644 > --- a/drivers/phy/freescale/phy-fsl-imx8m-pcie.c > +++ b/drivers/phy/freescale/phy-fsl-imx8m-pcie.c > @@ -141,15 +141,9 @@ static int imx8_pcie_phy_power_on(struct phy *phy) > IMX8MM_GPR_PCIE_REF_CLK_PLL); > usleep_range(100, 200); > > - switch (imx8_phy->drvdata->variant) { > - case IMX8MP: > - reset_control_deassert(imx8_phy->perst); > - fallthrough; > - case IMX8MM: > - reset_control_deassert(imx8_phy->reset); > - usleep_range(200, 500); > - break; > - } > + reset_control_deassert(imx8_phy->perst); > + reset_control_deassert(imx8_phy->reset); > + usleep_range(200, 500); > > /* Do the PHY common block reset */ > regmap_update_bits(imx8_phy->iomuxc_gpr, IOMUXC_GPR14, > -- > 2.45.2 >
Hi Stefan: Thanks for the clean up and bug fix. Please update the commit with Frank's comments. For this series, Acked-by: Richard Zhu <hongxing.zhu@nxp.com> Best Regards Richard Zhu > -----Original Message----- > From: Stefan Eichenberger <eichest@gmail.com> > Sent: 2025年3月5日 22:43 > To: vkoul@kernel.org; kishon@kernel.org; shawnguo@kernel.org; > s.hauer@pengutronix.de; kernel@pengutronix.de; festevam@gmail.com; > p.zabel@pengutronix.de; tharvey@gateworks.com; Hongxing Zhu > <hongxing.zhu@nxp.com>; Francesco Dolcini <francesco.dolcini@toradex.com> > Cc: linux-phy@lists.infradead.org; imx@lists.linux.dev; > linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org > Subject: [PATCH v2 0/2] phy: freescale: imx8m-pcie: fix and cleanup phy > > The imx8m-pcie PHY PLL fails to lock under certain conditions when returning > from suspend. This is resolved by asserting the PHY reset when powering off the > PHY during suspend. This ensures that the PHY is properly reset when powering > on again in resume. > > Changes in v2: > - Remove unnecessary check if perst is not null (Philipp) > > Stefan Eichenberger (2): > phy: freescale: imx8m-pcie: cleanup reset logic > phy: freescale: imx8m-pcie: assert phy reset and perst in power off > > drivers/phy/freescale/phy-fsl-imx8m-pcie.c | 23 +++++++++++++--------- > 1 file changed, 14 insertions(+), 9 deletions(-) > > -- > 2.45.2