From patchwork Mon Apr 26 11:48:45 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helmut Schaa X-Patchwork-Id: 95059 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o3QBsL9S007247 for ; Mon, 26 Apr 2010 11:54:21 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751891Ab0DZLyU (ORCPT ); Mon, 26 Apr 2010 07:54:20 -0400 Received: from mail-fx0-f46.google.com ([209.85.161.46]:34741 "EHLO mail-fx0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751671Ab0DZLyU (ORCPT ); Mon, 26 Apr 2010 07:54:20 -0400 X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Mon, 26 Apr 2010 11:54:22 +0000 (UTC) X-Greylist: delayed 322 seconds by postgrey-1.27 at vger.kernel.org; Mon, 26 Apr 2010 07:54:19 EDT Received: by fxm10 with SMTP id 10so100251fxm.19 for ; Mon, 26 Apr 2010 04:54:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=gamma; h=domainkey-signature:received:received:from:to:subject:date :user-agent:cc:mime-version:content-type:content-transfer-encoding :message-id; bh=P06JA3jQavtTlG+8lsADFZ4QvVNSUIWcvMJ7bYdk758=; b=fQ15tWFU52fIrsnp+lQELddyZEaq4CdC+L1pTj7hPFCTlsRJlTdFfavdtr1g8fShaY wkPBCQIM5IrLTxoBglKnjZVRTrOyL3zaEWln4F262VC/Xk8b7B8/5lfS7a2Vu22NGyH7 cypNoQa449Igp9y7qswCCU7FJ7j3LZN3fHzzw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=googlemail.com; s=gamma; h=from:to:subject:date:user-agent:cc:mime-version:content-type :content-transfer-encoding:message-id; b=F+WuVwCKy6aZ0BRyUXaa2i9cEU+Q00C2w7e4OliSRqAVXYiO6h97HpmRMg+favQHl+ tQ7ndL1/jU3WH8dhVDQ6LJ7Kt9gSETBAoCa+NgnXtQ+Zvd+e5s+esvcxgoqkOT22s60I j93OU+hAUNy1+FG6HmluhtYl9/rQP4kmuQFD8= Received: by 10.86.124.8 with SMTP id w8mr1793492fgc.8.1272282535845; Mon, 26 Apr 2010 04:48:55 -0700 (PDT) Received: from helmutmobil.localnet (p5495A8DA.dip.t-dialin.net [84.149.168.218]) by mx.google.com with ESMTPS id 4sm6434493fge.8.2010.04.26.04.48.55 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 26 Apr 2010 04:48:55 -0700 (PDT) From: Helmut Schaa To: John Linville Subject: [PATCH] rt2x00: rt2800lib: Fix rx path on SoC devices Date: Mon, 26 Apr 2010 13:48:45 +0200 User-Agent: KMail/1.12.4 (Linux/2.6.34-rc5-wl-default; KDE/4.3.5; x86_64; ; ) Cc: Ivo van Doorn , Gertjan van Wingerde , linux-wireless@vger.kernel.org MIME-Version: 1.0 Message-Id: <201004261348.45044.helmut.schaa@googlemail.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 2648f31..1358d9a 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c @@ -1703,7 +1703,8 @@ int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev) if (!rt2x00_rt(rt2x00dev, RT3070) && !rt2x00_rt(rt2x00dev, RT3071) && !rt2x00_rt(rt2x00dev, RT3090) && - !rt2x00_rt(rt2x00dev, RT3390)) + !rt2x00_rt(rt2x00dev, RT3390) && + !(rt2x00_is_soc(rt2x00dev) && rt2x00_rt(rt2x00dev, RT2872))) return 0; /* @@ -1771,6 +1772,37 @@ int rt2800_init_rfcsr(struct rt2x00_dev *rt2x00dev) rt2800_rfcsr_write(rt2x00dev, 29, 0x8f); rt2800_rfcsr_write(rt2x00dev, 30, 0x20); rt2800_rfcsr_write(rt2x00dev, 31, 0x0f); + } else if (rt2x00_rt(rt2x00dev, RT2872)) { + rt2800_rfcsr_write(rt2x00dev, 0, 0x50); + rt2800_rfcsr_write(rt2x00dev, 1, 0x01); + rt2800_rfcsr_write(rt2x00dev, 2, 0xf7); + rt2800_rfcsr_write(rt2x00dev, 3, 0x75); + rt2800_rfcsr_write(rt2x00dev, 4, 0x40); + rt2800_rfcsr_write(rt2x00dev, 5, 0x03); + rt2800_rfcsr_write(rt2x00dev, 6, 0x02); + rt2800_rfcsr_write(rt2x00dev, 7, 0x50); + rt2800_rfcsr_write(rt2x00dev, 8, 0x39); + rt2800_rfcsr_write(rt2x00dev, 9, 0x0f); + rt2800_rfcsr_write(rt2x00dev, 10, 0x60); + rt2800_rfcsr_write(rt2x00dev, 11, 0x21); + rt2800_rfcsr_write(rt2x00dev, 12, 0x75); + rt2800_rfcsr_write(rt2x00dev, 13, 0x75); + rt2800_rfcsr_write(rt2x00dev, 14, 0x90); + rt2800_rfcsr_write(rt2x00dev, 15, 0x58); + rt2800_rfcsr_write(rt2x00dev, 16, 0xb3); + rt2800_rfcsr_write(rt2x00dev, 17, 0x92); + rt2800_rfcsr_write(rt2x00dev, 18, 0x2c); + rt2800_rfcsr_write(rt2x00dev, 19, 0x02); + rt2800_rfcsr_write(rt2x00dev, 20, 0xba); + rt2800_rfcsr_write(rt2x00dev, 21, 0xdb); + rt2800_rfcsr_write(rt2x00dev, 22, 0x00); + rt2800_rfcsr_write(rt2x00dev, 23, 0x31); + rt2800_rfcsr_write(rt2x00dev, 24, 0x08); + rt2800_rfcsr_write(rt2x00dev, 25, 0x01); + rt2800_rfcsr_write(rt2x00dev, 26, 0x25); + rt2800_rfcsr_write(rt2x00dev, 27, 0x23); + rt2800_rfcsr_write(rt2x00dev, 28, 0x13); + rt2800_rfcsr_write(rt2x00dev, 29, 0x83); } if (rt2x00_rt_rev_lt(rt2x00dev, RT3070, REV_RT3070F)) {