From owner-freebsd-embedded@FreeBSD.ORG Wed Dec 28 13:52:31 2011 Return-Path: Delivered-To: freebsd-embedded@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96E4A106566C; Wed, 28 Dec 2011 13:52:31 +0000 (UTC) (envelope-from stb@lassitu.de) Received: from gilb.zs64.net (gilb.zs64.net [IPv6:2001:470:1f0b:105e::1ea]) by mx1.freebsd.org (Postfix) with ESMTP id 482518FC0C; Wed, 28 Dec 2011 13:52:31 +0000 (UTC) Received: by gilb.zs64.net (Postfix, from stb@lassitu.de) id 783F9112F11; Wed, 28 Dec 2011 13:52:30 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1251.1) Content-Type: text/plain; charset=iso-8859-1 From: Stefan Bethke In-Reply-To: Date: Wed, 28 Dec 2011 14:52:29 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <2135AD2B-76D4-4B3D-A009-8F3BEC836051@lassitu.de> References: <0F6CC18F-6973-42A2-AC03-F01BF59458AE@lassitu.de> <1100F70E-9DA9-4163-AC9A-423ECE5AA9A3@lassitu.de> <18CABB46-9B9A-41CB-8742-6723C5FF4D67@lassitu.de> <2CBD8651-E132-49DC-A082-37A8F5C626EA@bsdimp.com> <45529E C2-73BE-4F69-A9BE-E22D9FEAADD7@lassitu.de> <267FB3D6-830E-4A2F-8C1C-A96873EDCD31@lassitu.de> <12538AED-175C-4B1E-BF05-6FD05D14CE70@lassitu.de> To: Adrian Chadd X-Mailer: Apple Mail (2.1251.1) Cc: "freebsd-embedded@freebsd.org" Subject: Re: Updated switch/glue patch? X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Dec 2011 13:52:31 -0000 Am 28.12.2011 um 13:50 schrieb Adrian Chadd: > Hi, >=20 > Ok, can you then please send me an updated diff which: >=20 > * renames *_lockheld() to *_locked(), just for consistency with the = kernel; > * rename smi_mtx back to sc_mtx, just for consistency; > * add _LOCK, _UNLOCK, _LOCK_ASSERT, _UNLOCK_ASSERT macros; > * use those to enforce correct locking. :) >=20 > Let's do that. We'll then worry about the callout mutex use = afterwards. Implement a number of suggestions by Adrian: * add mutex to callout * add locking macros * rename _lockheld to _locked * bring debugging under DEBUG, incl. sysctls * move i2c select retry to its own function * mtx_sleep when retrying the select * only reset bus on probe * do not DELAY on phy access retries * count phy access retries (under DEBUG) http://gitorious.org/~stb/freebsd/stb-adrianchadd-freebsd-work (branch = work/ath) http://www.lassitu.de/freebsd/etherswitch-adrian.patch (patch against = Adrians gitorious repo as of now) http://www.lassitu.de/freebsd/etherswitch.tbz (all files) --=20 Stefan Bethke Fon +49 151 14070811