Return-path: Received: from mail-bw0-f46.google.com ([209.85.214.46]:64637 "EHLO mail-bw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756206Ab1BOWS4 (ORCPT ); Tue, 15 Feb 2011 17:18:56 -0500 Received: by bwz15 with SMTP id 15so40723bwz.19 for ; Tue, 15 Feb 2011 14:18:54 -0800 (PST) Message-ID: <4D5AFBCB.1090907@gmail.com> Date: Tue, 15 Feb 2011 23:18:51 +0100 From: Jiri Slaby MIME-Version: 1.0 To: Nikolay Ledovskikh CC: "John W. Linville" , linux-wireless@vger.kernel.org, lrodriguez@atheros.com, mickflemm@gmail.com, me@bobcopeland.com, Ralf Baechle , linux-mips@linux-mips.org Subject: Re: [PATCH] ath5k: Use mips generic dma-mapping functions to avoid seqfault on AHB chips References: <20110215220929.1cc6e9d4.nledovskikh@gmail.com> <4D5AD6A6.8090505@gmail.com> <4D5AE52B.80002@gmail.com> <4D5AFB3B.6080407@gmail.com> In-Reply-To: <4D5AFB3B.6080407@gmail.com> Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: On 02/15/2011 11:16 PM, Jiri Slaby wrote: > On 02/15/2011 10:39 PM, Nikolay Ledovskikh wrote: >>> Maybe the address you got from the platform side was already ored by >>> KSEG1... >> >> I took a look at openwrt atheros platform code and suppose you are right. >> So what we should do for now? Add pointer cast (void __iomem *)? >> Because ioremap_nocache doesn't work as expected. I think it's better >> to rewrote the openwrt >> code, but not now. > > So I've found: > http://www.google.com/codesearch/p?hl=en#sayuPQDVf4c/trunk/openwrt/target/linux/atheros/patches-2.6.32/100-board.patch&q=ar231x-wmac&sa=N&cd=4&ct=rc > > There, the res->start may be either of the following: > AR531X_WLAN0 .. 0x18000000 > AR531X_WLAN1 .. 0x18500000 > AR2315_WLAN0 .. 0xB0000000 Or maybe this should be 0x10000000 in openwrt in the first place? Then ioremap should do the right thing, right? > I suppose you have the 3rd otherwise it should die without ORing KSEG1? > > Or maybe MIPS guys will correct me? (The problem is that ioremap of one > of the addresses above kills the box. If Nikolaj removes the ioremap and > uses the address directly, it works for him. I'm saying it will die for > the first 2 addresses if we remove ioremap completely -- from what I > found in MIPS specs.) > > I _think_ there should be (instead of ioremap): > sc->iobase = (void __iomem *)KSEG1ADDR(res->start); > > Then we do readl(sc->iobase) et al. in ath5k. > > thanks, -- js