Return-path: Received: from bu3sch.de ([62.75.166.246]:56595 "EHLO vs166246.vserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753422AbZH3Pzw convert rfc822-to-8bit (ORCPT ); Sun, 30 Aug 2009 11:55:52 -0400 From: Michael Buesch To: Larry Finger Subject: Re: [PATCH v2] b43: LP-PHY: Begin implementing calibration & software RFKILL support Date: Sun, 30 Aug 2009 17:55:40 +0200 Cc: =?utf-8?q?G=C3=A1bor_Stefanik?= , John Linville , Mark Huijgen , Broadcom Wireless , linux-wireless References: <4A99C4BB.7080806@gmail.com> <200908301228.16845.mb@bu3sch.de> <4A9A965F.8020200@lwfinger.net> In-Reply-To: <4A9A965F.8020200@lwfinger.net> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Message-Id: <200908301755.40557.mb@bu3sch.de> Sender: linux-wireless-owner@vger.kernel.org List-ID: On Sunday 30 August 2009 17:10:23 Larry Finger wrote: > Michael Buesch wrote: > > On Sunday 30 August 2009 02:15:55 Gábor Stefanik wrote: > >> static void lpphy_pr41573_workaround(struct b43_wldev *dev) > >> { > >> struct b43_phy_lp *lpphy = dev->phy.lp; > >> @@ -1357,28 +1488,440 @@ static void lpphy_pr41573_workaround(struct b43_wldev *dev) > >> b43_lptab_read_bulk(dev, B43_LPTAB32(7, 0x140), > >> saved_tab_size, saved_tab); > >> } > >> + b43_put_phy_into_reset(dev); > > > > Are you sure you really want this? > > This function completely disables the PHY on the backplane and keeps the physical > > PHY reset pin asserted (even after return from the function). > > So the PHY will physically be powered down from this point on. The following > > PHY accesses could even hang the machine, because the PHY won't respond to > > register accesses anymore. > > > > We currently only use this function on A/G Multi-PHY devices to permanently > > hard-disable the PHY that's not used. > > The PHY reset routine in > http://bcm-v4.sipsolutions.net/802.11/PHY/Reset, which I just updated > for the latest N PHY changes, appears to be a different routine than > b43_put_phy_into_reset(). The names are confusing. b43_put_phy_into_reset() is opencoded in the specifications in various init routines. There's no separate specs page for that function. But I think the code is straightforward and easy to understand. -- Greetings, Michael.