From owner-freebsd-arch@FreeBSD.ORG Sun Feb 12 05:02:37 2012 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E6C5C106566B; Sun, 12 Feb 2012 05:02:37 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 776DE8FC13; Sun, 12 Feb 2012 05:02:37 +0000 (UTC) Received: from [10.0.0.63] (63.imp.bsdimp.com [10.0.0.63]) (authenticated bits=0) by harmony.bsdimp.com (8.14.4/8.14.3) with ESMTP id q1C4x9Dn013587 (version=TLSv1/SSLv3 cipher=DHE-DSS-AES128-SHA bits=128 verify=NO); Sat, 11 Feb 2012 21:59:10 -0700 (MST) (envelope-from imp@bsdimp.com) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Warner Losh In-Reply-To: Date: Sat, 11 Feb 2012 21:59:08 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: <58EA57DC-75DF-4813-BB03-FD27F2A49BA2@bsdimp.com> References: <95372FB3-406F-46C2-8684-4FDB672D9FCF@lassitu.de> <20120106214741.GB88161@alchemy.franken.de> <20120108130039.GG88161@alchemy.franken.de> <23477898-8D85-498C-8E30-192810BD68A8@lassitu.de> <20120111193738.GB44286@alchemy.franken.de> <66DDA0A2-F878-43FF-8824-54868F493B18@lassitu.de> <20120125221753.GA17821@alchemy.franken.de> <20120211111731.GE39861@alchemy.franken.de> <20120211144544.c91701d9.ray@ddteam.net> To: Adrian Chadd X-Mailer: Apple Mail (2.1084) X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (harmony.bsdimp.com [10.0.0.6]); Sat, 11 Feb 2012 21:59:10 -0700 (MST) Cc: Aleksandr Rybalko , Stefan Bethke , Juli Mallett , FreeBSD-arch , Aleksandr Rybalko , Marius Strobl Subject: Re: Extending sys/dev/mii X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Feb 2012 05:02:38 -0000 On Feb 11, 2012, at 9:49 PM, Adrian Chadd wrote: > On 11 February 2012 17:15, Warner Losh wrote: >>=20 >> On Feb 11, 2012, at 6:00 PM, Adrian Chadd wrote: >>> I'd like to try and finally bring some sanity to the hardcoded PHY >>> mask handling in if_arge (and make it actually work for AR71xx and >>> AR724x - where AR71xx has one shared MDIO bus between both MACs, but >>> AR724x has two independent MDIO busses..) >>=20 >> FDT would do that... >=20 > .. how would it bring sanity to the device driver? FDT would encode the links between the MAC and the PHY. FDT is a = directed graph, not a tree, so you can have multiple paths to a device = node that follow different domains. > Right now the driver assumes that both arge0 and arge1 mdiobus are the > same and uses the phymask setting to determine how/when to access > registers (ie, trying to read/write from phy registers not in the > phymask of argeX are denied.) It is one of the annoying issues with > the AR7241 internal switch support as that switch hangs off of arge1's > MII bus. It would no longer need to do this, or make any assumptions at all. FDT = would tell it all. > It may make it easier to specify the configuration but it doesn't fix > the fundamentally wrong assumption. Nope. Bad assumptions would still need to be fixed. > The trouble in this whole mess (where FDT may help) is that phy's for > arge0 may actually sit on arge1. So you can't probe/attach the miibus > on arge0 until you've probe/attached arge1, so the arge1 MII registers > can be tickled. The PHYs don't sit on arge1. They sit on another device that the driver = bogusly assumes is tightly coupled to arge1, when in fact it isn't. > Ray/Stefan/others: if anything, I'd like to try and bring sanity to > this particular thorny issue in -HEAD before we worry about switch PHY > devices. Warner