From owner-freebsd-stable@FreeBSD.ORG Sat Jan 20 06:53:21 2007 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 618) id DB61216A405; Sat, 20 Jan 2007 06:53:21 +0000 (UTC) In-Reply-To: <2a41acea0701171258k16b4c6ebuf1d4794b89d0749b@mail.gmail.com> from Jack Vogel at "Jan 17, 2007 12:58:04 pm" To: jfvogel@gmail.com (Jack Vogel) Date: Sat, 20 Jan 2007 06:53:21 +0000 (GMT) X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Message-Id: <20070120065321.DB61216A405@hub.freebsd.org> From: wpaul@FreeBSD.ORG (Bill Paul) Cc: freebsd-current@freebsd.org, freebsd-stable@freebsd.org, jon.otterholm@ide.resurscentrum.se Subject: Re: Lenovo X60 em workaround X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 20 Jan 2007 06:53:22 -0000 > Since this was just seen, and the patch below validated as working I wanted > to send general email to capture this: > > The Lenovo X60 can have issues with long ping times, this is a KNOWN > hardware problem, and Intel is working with IBM/Lenovo, a final 'fix' has > not been decided on yet. Nevertheless, the patch below will work, but > I do not want to check it in as its still temporary. > > Address questions to me, Okay, I have a question. Could you elaborate on just what the problem is? (I mean, since it's KNOWN and all...) I'm just having a hard time figuring out what problem could possibly be fixed by setting the RX interrupt delay timer to a non-zero value (especially since elsewhere in the em(4) source it says that doing so is a Bad Thing (tm)). -Bill > Jack > > PS This is based on 6.2, but is needed for CURRENT as well. > > > --- if_em.dist.c Wed Jan 17 17:59:46 2007 > +++ if_em.c Wed Jan 17 18:03:13 2007 > @@ -3348,6 +3348,10 @@ > E1000_WRITE_REG(&adapter->hw, RXCSUM, reg_rxcsum); > } > > + /* TEMPORARY WORKAROUND for X60 */ > + if (adapter->hw.mac_type == em_82573) > + E1000_WRITE_REG(&adapter->hw, RDTR, 32); > + > /* Enable Receives */ > E1000_WRITE_REG(&adapter->hw, RCTL, reg_rctl); > /* >