From owner-freebsd-hackers@FreeBSD.ORG Thu Nov 18 16:36:47 2004 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 40C3F16A4CE for ; Thu, 18 Nov 2004 16:36:47 +0000 (GMT) Received: from harmony.village.org (rover.village.org [168.103.84.182]) by mx1.FreeBSD.org (Postfix) with ESMTP id AE15443D1F for ; Thu, 18 Nov 2004 16:36:46 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (harmony.village.org [10.0.0.6]) by harmony.village.org (8.13.1/8.13.1) with ESMTP id iAIGaZ0E070758; Thu, 18 Nov 2004 09:36:36 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Thu, 18 Nov 2004 09:37:02 -0700 (MST) Message-Id: <20041118.093702.34542518.imp@bsdimp.com> To: soralx@cydem.org From: "M. Warner Losh" In-Reply-To: <200411180014.52267.soralx@cydem.org> References: <417B08B5.8080208@error404.nls.net> <417BE411.8070500@error404.nls.net> <200411180014.52267.soralx@cydem.org> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit cc: freebsd-hackers@freebsd.org Subject: Re: [PATCH] Re: Linksys PCM200 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Nov 2004 16:36:47 -0000 In message: <200411180014.52267.soralx@cydem.org> writes: : : > Okay, so I got unlazy and threw some stuff together. Try these patches; : > this will default the PCM200 cards to store-and-forward. This might help. : > -ksaihr : [...] : > --- /usr/src/sys/pci/if_dcreg.h Thu Aug 5 13:46:14 2004 : > +++ if_dcreg.h Sun Oct 24 13:09:31 2004 : > @@ -98,6 +98,13 @@ : > #define DC_IS_XIRCOM(x) (x->dc_type == DC_TYPE_XIRCOM) : > #define DC_IS_CONEXANT(x) (x->dc_type == DC_TYPE_CONEXANT) : > : > +/* Cards requiring specific workaround */ : > + /* Linksys PCM200 */ : > +#define DC_IS_LINKSYS(x) \ : > + (x->dc_type == DC_TYPE_AN985 && \ : > + pci_get_vendor(dev) == DC_VENDORID_LINKSYS && \ : > + pci_get_device(dev) == DC_DEVICEID_PCM200_AB08) : > + : > /* MII/symbol mode port types */ : > #define DC_PMODE_MII 0x1 : > #define DC_PMODE_SYM 0x2 : : I've tested the patch. The kernel won't compile with it: 'dev' [as in : pci_get_vendor(dev)] is not defined. Don't have time now to investigate :( You likely shouldn't have IS_LINKSYS here. There's all manner of ugliness in the dc driver that should more properly be handled by better use of a flags quirk word. Warner