From: Ralph Siemsen <rsiemsen@rossvideo.com>
To: Linux PPC Dev <linuxppc-dev@lists.linuxppc.org>,
Matt Porter <mporter@kernel.crashing.org>
Subject: [PATCH] 44x ethernet MDIO access
Date: Thu, 05 Aug 2004 15:01:39 -0400 [thread overview]
Message-ID: <41128413.7030900@rossvideo.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 713 bytes --]
There is a small bug in the emac_phy_write() routine defined in
drivers/net/ibm_emac/ibm_emac_core.c (present in latest 2.6.8-rc3). At
the end of the function, check is done for phy error; however as written
this will always be false, because "stacr" contains the value _written_
to the hardware, rather than the value read back from hardware.
Simple on-line fix attached.
In a related issue, both the PHY read and write functions use a fixed
time delay (MDIO_DELAY = 50) presently... it seems I need a longer value
on my hardware, and having such hardcoded values is trouble anyways... I
suggest we change the code to poll for completion, with a short delay
and an upper limit on the number of loops.
=Ralph
[-- Attachment #2: mdio_write.patch --]
[-- Type: text/plain, Size: 500 bytes --]
Allow proper detection of phy write error.
--- linux-2.6.8-rc3/drivers/net/ibm_emac/ibm_emac_core.c.orig 2004-08-05 14:54:22.000000000 -0400
+++ linux-2.6.8-rc3/drivers/net/ibm_emac/ibm_emac_core.c 2004-08-05 14:54:56.000000000 -0400
@@ -453,7 +453,7 @@
udelay(MDIO_DELAY);
- if ((in_be32(&emacp->em0stacr) & EMAC_STACR_OC) == 0)
+ if (((stacr = in_be32(&emacp->em0stacr)) & EMAC_STACR_OC) == 0)
printk(KERN_WARNING "%s: PHY write timeout #2!\n", dev->name);
/* Check for a write error */
next reply other threads:[~2004-08-05 19:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-05 19:01 Ralph Siemsen [this message]
2004-08-05 20:05 ` [PATCH] 44x ethernet MDIO access Ralph Siemsen
2004-08-05 21:34 ` Matt Porter
2004-08-06 12:12 ` Geert Uytterhoeven
2004-08-06 13:04 ` Ralph Siemsen
2004-08-05 21:23 ` Matt Porter
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=41128413.7030900@rossvideo.com \
--to=rsiemsen@rossvideo.com \
--cc=linuxppc-dev@lists.linuxppc.org \
--cc=mporter@kernel.crashing.org \
/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.