Messages in this thread | | | Date | Mon, 4 May 2020 12:59:23 +0530 | From | Vinod Koul <> | Subject | Re: [PATCH v7 3/3] phy: intel: Add driver support for ComboPhy |
| |
On 30-04-20, 15:15, Dilip Kota wrote:
> +enum { > + PHY_0, > + PHY_1, > + PHY_MAX_NUM
PHY_MAX_NUM = PHY_1?
> +static inline void combo_phy_w32_off_mask(void __iomem *base, unsigned int reg, > + u32 mask, u32 val) > +{ > + u32 reg_val; > + > + reg_val = readl(base + reg); > + reg_val &= ~mask; > + reg_val |= FIELD_PREP(mask, val); > + writel(reg_val, base + reg);
bypassing regmap here... why?
> +static int intel_cbphy_calibrate(struct phy *phy) > +{ > + struct intel_cbphy_iphy *iphy = phy_get_drvdata(phy); > + struct intel_combo_phy *cbphy = iphy->parent; > + void __iomem *cr_base = cbphy->cr_base; > + int val, ret, id; > + > + if (cbphy->phy_mode != PHY_XPCS_MODE) > + return 0; > + > + id = PHY_ID(iphy); > + > + /* trigger auto RX adaptation */ > + combo_phy_w32_off_mask(cr_base, CR_ADDR(PCS_XF_ATE_OVRD_IN_2, id), > + ADAPT_REQ_MSK, 3); > + /* Wait RX adaptation to finish */ > + ret = readl_poll_timeout(cr_base + CR_ADDR(PCS_XF_RX_ADAPT_ACK, id), > + val, val & RX_ADAPT_ACK_BIT, 10, 5000); > + if (ret) > + dev_err(cbphy->dev, "RX Adaptation failed!\n");
you want to continue her and not return error? -- ~Vinod
| |