lkml.org 
[lkml]   [2020]   [Dec]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 01/14] phy: cadence: Sierra: Fix PHY power_on sequence
    Date
    Commit 44d30d622821d ("phy: cadence: Add driver for Sierra PHY")
    de-asserts PHY_RESET even before the configurations are loaded in
    phy_init(). However PHY_RESET should be de-asserted only after
    all the configurations has been initialized, instead of de-asserting
    in probe. Fix it here.

    Fixes: 44d30d622821d ("phy: cadence: Add driver for Sierra PHY")
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    Cc: <stable@vger.kernel.org> # v5.4+
    ---
    drivers/phy/cadence/phy-cadence-sierra.c | 7 ++++++-
    1 file changed, 6 insertions(+), 1 deletion(-)

    diff --git a/drivers/phy/cadence/phy-cadence-sierra.c b/drivers/phy/cadence/phy-cadence-sierra.c
    index 26a0badabe38..19f32ae877b9 100644
    --- a/drivers/phy/cadence/phy-cadence-sierra.c
    +++ b/drivers/phy/cadence/phy-cadence-sierra.c
    @@ -319,6 +319,12 @@ static int cdns_sierra_phy_on(struct phy *gphy)
    u32 val;
    int ret;

    + ret = reset_control_deassert(sp->phy_rst);
    + if (ret) {
    + dev_err(dev, "Failed to take the PHY out of reset\n");
    + return ret;
    + }
    +
    /* Take the PHY lane group out of reset */
    ret = reset_control_deassert(ins->lnk_rst);
    if (ret) {
    @@ -616,7 +622,6 @@ static int cdns_sierra_phy_probe(struct platform_device *pdev)

    pm_runtime_enable(dev);
    phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
    - reset_control_deassert(sp->phy_rst);
    return PTR_ERR_OR_ZERO(phy_provider);

    put_child:
    --
    2.17.1
    \
     
     \ /
      Last update: 2020-12-22 08:09    [W:4.235 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site