From: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH 3/3] miidev: fix 1G wrong detection
Date: Fri, 7 Sep 2012 09:43:48 +0200 [thread overview]
Message-ID: <20120907074348.GO20330@game.jcrosoft.org> (raw)
In-Reply-To: <20120907064419.GL26594@pengutronix.de>
On 08:44 Fri 07 Sep , Sascha Hauer wrote:
> On Thu, Sep 06, 2012 at 09:39:31PM +0200, Eric Bénard wrote:
> > since 99e72c8bbdbdc690025a5868d831f1fe79ad56fc on an i.MX51 based board,
> > I get : "phy0: Link is up - 1000/Full". It seems miidev tries to probe
> > the PHY to early and gets 0x3ffff which leads to the wrong capabilities
> > setting.
> >
> > Signed-off-by: Eric Bénard <eric@eukrea.com>
> > ---
> > drivers/net/miidev.c | 33 +++++++++------------------------
> > 1 files changed, 9 insertions(+), 24 deletions(-)
> >
> > diff --git a/drivers/net/miidev.c b/drivers/net/miidev.c
> > index 75b53e3..e0f9d67 100644
> > --- a/drivers/net/miidev.c
> > +++ b/drivers/net/miidev.c
> > @@ -131,6 +131,14 @@ int miidev_get_status(struct mii_device *mdev)
> >
> > status = ret & BMSR_LSTATUS ? MIIDEV_STATUS_IS_UP : 0;
> >
> > + if (ret & BMSR_ESTATEN) {
> > + ret = mii_read(mdev, mdev->address, MII_ESTATUS);
> > + if (ret < 0)
> > + goto err_out;
> > + if (ret & (ESTATUS_1000_TFULL | ESTATUS_1000_THALF))
> > + mdev->capabilities = MIIDEV_CAPABLE_1000M;
> > + }
> > +
> > ret = mii_read(mdev, mdev->address, MII_BMCR);
> > if (ret < 0)
> > goto err_out;
> > @@ -239,27 +247,8 @@ static struct file_operations miidev_ops = {
> > static int miidev_probe(struct device_d *dev)
> > {
> > struct mii_device *mdev = dev->priv;
> > - int val;
> > - int caps = 0;
> >
> > - val = mii_read(mdev, mdev->address, MII_PHYSID1);
> > - if (val < 0 || val == 0xffff)
> > - goto err_out;
> > - val = mii_read(mdev, mdev->address, MII_PHYSID2);
> > - if (val < 0 || val == 0xffff)
> > - goto err_out;
>
> Is the above necessary? This was present before the patch which made the
> regression.
yes the previous patch made a regression
as it expect the mii to be ready at probe vs open before
Best Regards,
J.
>
> Sascha
>
> > - val = mii_read(mdev, mdev->address, MII_BMSR);
> > - if (val < 0)
> > - goto err_out;
> > - if (val & BMSR_ESTATEN) {
> > - val = mii_read(mdev, mdev->address, MII_ESTATUS);
> > - if (val < 0)
> > - goto err_out;
> > - if (val & (ESTATUS_1000_TFULL | ESTATUS_1000_THALF))
> > - caps = MIIDEV_CAPABLE_1000M;
> > - }
> > -
> > - mdev->capabilities = caps;
> > + mdev->capabilities = 0;
> > mdev->cdev.name = asprintf("phy%d", dev->id);
> > mdev->cdev.size = 64;
> > mdev->cdev.ops = &miidev_ops;
> > @@ -268,10 +257,6 @@ static int miidev_probe(struct device_d *dev)
> > devfs_create(&mdev->cdev);
> > list_add_tail(&mdev->list, &miidev_list);
> > return 0;
> > -
> > -err_out:
> > - dev_err(dev, "cannot read PHY registers (addr %d)\n", mdev->address);
> > - return -ENODEV;
> > }
> >
> > static void miidev_remove(struct device_d *dev)
> > --
> > 1.7.7.6
> >
> >
> > _______________________________________________
> > barebox mailing list
> > barebox@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/barebox
>
> --
> Pengutronix e.K. | |
> Industrial Linux Solutions | http://www.pengutronix.de/ |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2012-09-07 7:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-06 19:39 [PATCH 1/3] fec: restart autoneg at open instead of init Eric Bénard
2012-09-06 19:39 ` [PATCH 2/3] i.MX51: unbreak FEC iomux Eric Bénard
2012-09-07 8:30 ` Sascha Hauer
2012-09-06 19:39 ` [PATCH 3/3] miidev: fix 1G wrong detection Eric Bénard
2012-09-06 21:52 ` Jean-Christophe PLAGNIOL-VILLARD
2012-09-07 6:44 ` Sascha Hauer
2012-09-07 7:28 ` Eric Bénard
2012-09-07 8:23 ` Sascha Hauer
2012-09-07 7:43 ` Jean-Christophe PLAGNIOL-VILLARD [this message]
2012-09-07 8:52 ` Johannes Stezenbach
2012-09-07 9:02 ` Eric Bénard
2012-09-07 9:28 ` Johannes Stezenbach
2012-09-07 9:32 ` Eric Bénard
2012-09-14 7:03 ` Sascha Hauer
2012-09-07 6:57 ` [PATCH 1/3] fec: restart autoneg at open instead of init Sascha Hauer
2012-09-07 7:30 ` Eric Bénard
2012-09-07 7:47 ` Sascha Hauer
2012-09-07 7:51 ` Eric Bénard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120907074348.GO20330@game.jcrosoft.org \
--to=plagnioj@jcrosoft.com \
--cc=barebox@lists.infradead.org \
--cc=s.hauer@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.