[PATCH 1/5] phylib: bus reset function
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Fri Sep 21 13:20:17 EDT 2012
On 18:04 Fri 21 Sep , Renaud Barbier wrote:
> On 21/09/12 09:30, Sascha Hauer wrote:
> > On Fri, Sep 21, 2012 at 10:06:58AM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >> On 08:34 Fri 21 Sep , Sascha Hauer wrote:
> >>> On Thu, Sep 20, 2012 at 08:23:32PM +0200, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >>>> On 17:31 Thu 20 Sep , Renaud Barbier wrote:
> >>>>> Added an entry point for a bus reset function.
> >>>>>
> >>>>> Signed-off-by: Renaud Barbier <renaud.barbier at ge.com>
> >>>>> ---
> >>>>> drivers/net/phy/phy.c | 3 +++
> >>>>> include/miidev.h | 1 +
> >>>>> 2 files changed, 4 insertions(+), 0 deletions(-)
> >>>>>
> >>>>> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> >>>>> index 5406ea3..d9f5409 100644
> >>>>> --- a/drivers/net/phy/phy.c
> >>>>> +++ b/drivers/net/phy/phy.c
> >>>>> @@ -129,6 +129,9 @@ int phy_device_connect(struct eth_device *edev, struct mii_device *bus, int addr
> >>>>> unsigned int i;
> >>>>> int ret = -EINVAL;
> >>>>>
> >>>>> + if (bus->reset)
> >>>>> + bus->reset(bus);
> >>>>> +
> >>>> I do not like this we should not touch the bus at phy connect
> >>>
> >>> Then please make a suggestion where it should be then. I also have some
> >>> drivers where this function could be used.
> >> I have too the need of a reset
> >>
> >> I get a big issue on reset the mii bus at eth open
> >>
> >> my only idea was to move the phy detect awqy from the eth_open to the mii bus
> >> probe
> >>
> >> but this will increase the boot time as we do not need to probe the phy if we
> >> do not use the network
> >
> > Before we start adding quirks for do-the-reset-only-when necessary,
> > access-the-phy-pnly-when necessary can we have a statement on which
> > timescales we talk about here? A quick test on a i.MX board shows that
> > detecting the phy takes 186us when its address is specified and 1.7ms
> > when the whole bus is scanned for phys. This is really not worth adding
> > quirks for.
> >
> > BTW the reset function for the mii *bus* really should be done when the
> > bus is registered. Doing it when a new phy is registered will break phys
> > already present.
> In summary, we agree that we need a bus reset function and that it
> should be called at present by the function mii_register.
wait a few we agree on more than this, I will take a look how to update the
phylib correctly
Best Regards,
J.
More information about the barebox
mailing list