> > > > +static int lan743x_phy_reset(struct lan743x_adapter *adapter) {
> > > > +       u32 data;
> > > > +
> > > > +       data = lan743x_csr_read(adapter, PMT_CTL);
> > > > +       data |= PMT_CTL_ETH_PHY_RST_;
> > > > +       lan743x_csr_write(adapter, PMT_CTL, data);
> > > > +
> > > > +       return readx_poll_timeout(LAN743X_CSR_READ_OP, PMT_CTL,
> > > data,
> > > > +                                 (!(data & PMT_CTL_ETH_PHY_RST_) &&
> > > > +                                 (data & PMT_CTL_READY_)),
> > > > +                                 50000, 1000000);
> > > > +}
> > >
> > > Hi Bryan
> > >
> > > Could you explain this a bit more. What exactly is it resetting? Do
> > > we need to tell the phylib that the PHY has been reset and that it needs
> to re-program it?
> > > Or by phy do you mean a SERDES interface?
> >
> > Hi Andrew,
> >
> > This function resets the Ethernet phy. But it is called only in probe
> > and before mdiobus_register. So I don't believe it is necessary to
> > tell phylib.
> 
> Hi Bryan
> 
> So the PHY is built in? It should be safe. Normally we have the PHY driver, or
> the generic layers handle any such reset via a GPIO. But built in is 
> different.

Hi Andrew,

The phy is built in for LAN7430, and external for LAN7431. But the same reset 
should work in both cases because it asserts the normal phy reset line. 

> 
> > [snip]
> > > > +
> > > > +       /* PHY interrupt enabled here */
> > > > +       phy_start(phydev);
> > > > +       phy_start_aneg(phydev);
> > > > +       return 0;
> > >
> > > Are phy interrupts really enabled here? I could of missed it, but i
> > > don't see anywhere PHY interrupts are configured. This is either
> > > done via device tree, you set phydev->irq, or mdiobus->irq[X].
> >
> 
> > Sorry that is an obsolete comment, I will remove it. It is not using
> > phy interrupts. It's using polling.
> 
> Assuming it is built in, does the MAC get the interrupt?
> phy_mac_interrupt() can be called if so.

I believe the MAC does support a phy interrupt. But right now it's
working well using phy polling. Is it ok if I post pone supporting phy
interrupts until a future patch? I am planning a series of patches, and I
can add support for phy interrupts to the list.

Bryan

Reply via email to