[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