linux-mips
[Top] [All Lists]

Re: [PATCH] MIPS: Apply kmap_high_get on DMA functions.

To: Dezhong Diao <dediao@cisco.com>
Subject: Re: [PATCH] MIPS: Apply kmap_high_get on DMA functions.
From: Kevin Cernekee <cernekee@gmail.com>
Date: Fri, 23 Jul 2010 20:03:34 -0700
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org, dvomlehn@cisco.com
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=CEIkfw1BQbGDuWI9+wVfh3ob859x3lHwUJZe5ipc1Q0=; b=TwH40I6NqkvWmSZABUqVid30R0nCgnDEWhta2s3jvQuqf++6PO4IKM7t92cE7jPWMf QAb4eGZ/Z0WBhFItNk0v0ibJS2hm9bWGJBz9g9C3TdtvPZAPPXgwBs7OBISer8xVQQ8W TmvHtBBSotzLf1wiug9W3dpi9aAGwBWDNnSu8=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=lkrdSl75xt8SvqbjaKBRFU552znB11lemIcGa9rrsHZux6Z3b2YaJ+aLl5VuUhBmHa Sr7Pg/6zC3SGaVQ4dLo3hr1t01aOdNnyAgBr9E1wfEYxDqlPRJzNrL0l6kvfdathWgOs pmVY8J00D+FNUh9bXaVzYmPN/jb5TkpHzfJ1c=
In-reply-to: <20100724014314.GA29846@dediao-lnx2.corp.sa.net>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20100724014314.GA29846@dediao-lnx2.corp.sa.net>
Sender: linux-mips-bounce@linux-mips.org
On Fri, Jul 23, 2010 at 6:43 PM, Dezhong Diao <dediao@cisco.com> wrote:
> I don't recommend to do that in such a way (such as ARM does). In MIPS, we 
> normally setup the mapping before
> the dma function is invoked. That means there is something wrong if addr is 0.

I don't understand the HIGHMEM / VM code well enough yet to
intelligently comment on this assumption.  And it looks like the ARM
developers are still trying to sort out whether their code is doing
the right thing in all circumstances:

http://www.spinics.net/lists/arm-kernel/msg89465.html

But if the (addr == 0) condition should never occur on a properly
functioning system, I would rather see an error message than be forced
to debug a mysterious coherency problem caused by missing flushes.

Any chance you could add a BUG() in the else clause?

BTW: are you supporting DMA directly to high memory?

Thanks.

<Prev in Thread] Current Thread [Next in Thread>