From: Pavel Machek <pavel@ucw.cz>
To: "Kok, Auke" <auke-jan.h.kok@intel.com>
Cc: David Fries <david@fries.net>, NetDev <netdev@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [2.6 patch] eepro100 resume patch
Date: Mon, 23 Jul 2007 09:44:51 +0200 [thread overview]
Message-ID: <20070723074451.GA9169@elf.ucw.cz> (raw)
In-Reply-To: <46984CF0.8080700@intel.com>
On Fri 2007-07-13 21:11:28, Kok, Auke wrote:
> [adding netdev]
>
> David Fries wrote:
> >When I did a software suspend to disk then resumed the Intel network
> >card using eepro100 driver would be unable to transmit packets. I
> >tracked this down and found a register write after the print message
> >"DP83840 specific setup" which wasn't being executed when the system
> >was restored. This fix moves that write and another write which
> >forces the link speed and duplex.
> >
> >After doing this work and preparing the patch I checked out the
> >mailing list only to find a patch that removes the eepro100. I then
> >updated Kconfig, though I wonder why it didn't have a similar message
> >in it long time ago.
> >
> >I too had tried the e100 driver some time ago and it didn't work,
>
> That argument is pretty useless right now. Please *test* e100 and *report
> issues*. I recently did some very intensive suspend/resume testing (and
> fixes) on e100 and I have yet to hear of any problems with it since... that
> was 2.6.18 or so even.
>
> >eepro100 did and I've been using it so long that I've almost forgotten
> >about that. I just gave the e100 driver a try and I've been running
> >for about an hour now without any problems and it does resume after a
> >suspend to disk operation.
> >
> >Signed-off-by: David Fries <David@Fries.net>
>
> I don't think I need to NAK this. I doubt that Jeff Garzik will apply this
> in the first place. eepro100 is on it's way out, so let's focus on what
> matters.
Well, I believe we should either remove eepro100 _now_ or fix issues
with it. "Keep it in the tree, and broken at the same time" is unnice.
> >@@ -743,20 +746,22 @@
> > phys[(eeprom[7]>>8)&7]);
> > if (((eeprom[6]>>8) & 0x3f) == DP83840
> > || ((eeprom[6]>>8) & 0x3f) == DP83840A) {
> >- int mdi_reg23 = mdio_read(dev, eeprom[6] & 0x1f, 23)
> >| 0x0422;
> >+ int mdi_reg23_orig = mdio_read(dev, eeprom[6] &
> >0x1f, 23);
> >+ int mdi_reg23 = mdi_reg23_orig | 0x0422;
> > if (congenb)
> > mdi_reg23 |= 0x0100;
> >- printk(KERN_INFO" DP83840 specific setup, setting
> >register 23 to %4.4x.\n",
> >- mdi_reg23);
> >- mdio_write(dev, eeprom[6] & 0x1f, 23, mdi_reg23);
> >+ /* Print the message here, write in speedo_resume,
> >which
> >+ * is called both on module load and from
> >+ * eepro100_resume.
> >+ */
> >+ printk(KERN_INFO" DP83840 specific setup, setting
> >register 23 to %4.4x, was %4.4x.\n",
> >+ mdi_reg23, mdi_reg23_orig);
> > }
> > if ((option >= 0) && (option & 0x70)) {
> >+ /* Print here, write in speedo_resume. */
> > printk(KERN_INFO " Forcing %dMbs %s-duplex
> > operation.\n",
> > (option & 0x20 ? 100 : 10),
> > (option & 0x10 ? "full" : "half"));
> >- mdio_write(dev, eeprom[6] & 0x1f, MII_BMCR,
> >- ((option & 0x20) ? 0x2000 : 0) |
> >/* 100mbps? */
> >- ((option & 0x10) ? 0x0100 : 0));
> >/* Full duplex? */
> > }
> >
> > /* Perform a system self-test. */
> >@@ -1050,6 +1055,24 @@
> > struct speedo_private *sp = netdev_priv(dev);
> > void __iomem *ioaddr = sp->regs;
> >
> >+ /* DP83840 specific setup, moved here from from speedo_found1 because
> >+ * it needs to called after resume, ie suspend to disk.
> >+ * 07-11-2007 David Fries <david@fries.net>
> >+ */
> >+ if (((sp->phy[0]>>8) & 0x3f) == DP83840
> >+ || ((sp->phy[0]>>8) & 0x3f) == DP83840A) {
> >+ int mdi_reg23 = mdio_read(dev, sp->phy[0] & 0x1f, 23) |
> >0x0422;
> >+ if (congenb)
> >+ mdi_reg23 |= 0x0100;
> >+ mdio_write(dev, sp->phy[0] & 0x1f, 23, mdi_reg23);
> >+ }
> >+ if ((sp->option >= 0) && (sp->option & 0x70)) {
> >+ mdio_write(dev, sp->phy[0] & 0x1f, MII_BMCR,
> >+ ((sp->option & 0x20) ? 0x2000 : 0) | /* 100mbps?
> >*/
> >+ ((sp->option & 0x10) ? 0x0100 : 0)); /* Full duplex?
> >*/
> >+ }
> >+
> >+
> > /* Start with a Tx threshold of 256 (0x..20.... 8 byte units). */
> > sp->tx_threshold = 0x01208000;
> >
> >
> >
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
prev parent reply other threads:[~2007-07-23 16:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-14 0:01 [2.6 patch] eepro100 resume patch David Fries
2007-07-14 4:11 ` Kok, Auke
2007-07-14 13:44 ` David Fries
2007-07-23 7:44 ` Pavel Machek [this message]
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=20070723074451.GA9169@elf.ucw.cz \
--to=pavel@ucw.cz \
--cc=auke-jan.h.kok@intel.com \
--cc=david@fries.net \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.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.