Date: Sun, 16 Oct 2011 17:08:21 -0700 From: YongHyeon PYUN <pyunyh@gmail.com> To: Marius Strobl <marius@alchemy.franken.de> Cc: freebsd-net@freebsd.org, dave jones <s.dave.jones@gmail.com> Subject: Re: Question about GPIO bitbang MII Message-ID: <20111017000821.GA3338@michelle.cdnetworks.com> In-Reply-To: <20111015204739.GJ39118@alchemy.franken.de> References: <CANf5e8bcAfrXX%2BuqzVRoZJPmsvyPegx%2BFOYHSt-GHwEigUCoeg@mail.gmail.com> <20111009165838.GA19886@alchemy.franken.de> <20111010192238.GC1781@michelle.cdnetworks.com> <20111011212318.GC81376@alchemy.franken.de> <20111011225531.GD5661@michelle.cdnetworks.com> <20111012204222.GC39118@alchemy.franken.de> <20111012235707.GD9138@michelle.cdnetworks.com> <20111013214903.GH39118@alchemy.franken.de> <20111014203226.GA16192@michelle.cdnetworks.com> <20111015204739.GJ39118@alchemy.franken.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 15, 2011 at 10:47:39PM +0200, Marius Strobl wrote: > On Fri, Oct 14, 2011 at 01:32:26PM -0700, YongHyeon PYUN wrote: > > On Thu, Oct 13, 2011 at 11:49:03PM +0200, Marius Strobl wrote: > > > On Wed, Oct 12, 2011 at 04:57:07PM -0700, YongHyeon PYUN wrote: > > > > On Wed, Oct 12, 2011 at 10:42:22PM +0200, Marius Strobl wrote: > > > > > On Tue, Oct 11, 2011 at 03:55:31PM -0700, YongHyeon PYUN wrote: > > > > > > On Tue, Oct 11, 2011 at 11:23:18PM +0200, Marius Strobl wrote: > > > > > > > On Mon, Oct 10, 2011 at 12:22:38PM -0700, YongHyeon PYUN wrote: > > > > > > > > On Sun, Oct 09, 2011 at 06:58:38PM +0200, Marius Strobl wrote: > > > > > > > > > On Fri, Oct 07, 2011 at 10:34:58AM +0800, dave jones wrote: > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > > > Does FreeBSD have gpio bitbang api for MII? If not, any driver in tree using > > > > > > > > > > gpio-bitbang mii that I can refer to? Thanks. > > > > > > > > > > It seems like OpenBSD, NetBSD and Linux have added support to gpio bitbang mii, > > > > > > > > > > and it's useful for porting embedded devices. > > > > > > > > > > > > > > > > > > > > > > > > > > > > If what you are referring to is their mii_bitbang.[c,h] then I've a patch > > > > > > > > > which (im)ports these and converts drivers to take advantage of it here: > > > > > > > > > http://people.freebsd.org/~marius/mii_bitbang.diff > > > > > > > > > > > > > > > > Patch looks good to me. > > > > > > > > What about other drivers(rl(4), bm(4), lge(4), tl(4), nge(4), wb(4) > > > > > > > > and xe(4))? > > > > > > > > > > > > > > > > > > > > > > Meanwhile I've also converted bm(4), just re-fetch the patch. Generally > > > > > > > I've started with the drivers were the corresponding NetBSD one also > > > > > > > uses the common MII bitbang'ing code. As for nge(4), tl(4), wb(4) I'm > > > > > > > aware that these should also be convertible to the common code, I just > > > > > > > didn't get around to it so far. As for lge(4) that driver has some > > > > > > > remnants of MII bitbang'ing but doesn't actually use it AFAICT. I've > > > > > > > > > > > > Ah, I just blindly grepped the string, sorry. > > > > > > > > > > > > > previously missed rl(4) as I was only grepping beneath sys/dev and I > > > > > > > currently can't explain why I missed xe(4), so thanks for mentioning > > > > > > > these. > > > > > > > In my experience MII bitbang'ing is very fragile though and subtle > > > > > > > changes may break it so I don't want to commit these without testing > > > > > > > or in the case of smc(4) where at least the corresponding NetBSD > > > > > > > driver already uses the common code. Unfortunately, I only have > > > > > > > hardware for dc(4), stge(4), xl(4) and somewhere also for rl(4) and > > > > > > > tl(4) and I guess I can nwhitehorn@ regarding testing bm(4). Do you > > > > > > > happen to have hardware to test the remaining drivers, i.e. nge(4), > > > > > > > sis(4), ste(4), wb(4) and xe(4)? > > > > > > > > > > > > > > > > > > > I have access to sis(4) and ste(4). I also have a nge(4) but I'm > > > > > > not able to access to the hardware, at least in US. > > > > > > > > > > > > > > > > It would be great if you could test sis(4) and ste(4). > > > > > > > > > > > > > Ok, will do in this week. > > > > > > > > > > I just noticed that rl(4) only does MII bitbang'ing for the 8129 but I > > > only have a 8139. Do you happen do have the former so you could test the > > > patch with it? > > > > Sorry, I don't have 8129 based controller. > > > > > The patch is now complete as far as I'm willing to convert drivers. What's > > > left is ed(4) and xe(4). The former has several chip specific things > > > interwinded and I'm unsure whether it can be converted to use the common > > > code; I'd at least like to have hardware for the special cases to give > > > that a try. Xe(4) currently doesn't use miibus(4) (but should) so I > > > don't see much point in adding a dependency on miibus(4) just for the > > > bitbang'ing code on it (nor do I for not adding the common code to > > > miibus(4)). > > > > > > > Ok. > > Both sis(4) and ste(4) seem to work without problems. > > Thanks for your work! > > > > Thanks for testing! > While digging for test hardware I found a Intel 21143 based card I > decided to give a try for fun (as dc(4) doesn't use MII bitbang'ing > for these). Unfortunately, it turned out that some dc(4) changes > between 8.2-RELEASE an what's in head broke it in that it no longer > is able to establish a link (the link LED blinks periodically instead > of being lit permanently) ... > After reading this mail, I tried dual port Intel 21143 based controller and it worked as expected(with/without MII bitbang). Can you narrow down which change break your controller? Because there are so many dc(4) variants it would be better to know which controller you have. > Marius >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111017000821.GA3338>