linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
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 */

             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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).