Add dma_mmap_coherent() for other archs
From: | Takashi Iwai <tiwai@suse.de> | |
To: | linux-arch@vger.kernel.org | |
Subject: | [PATCH 0/8] Add dma_mmap_coherent() for other archs | |
Date: | Fri, 10 Jul 2009 15:10:42 +0200 | |
Message-ID: | <s5hprc8n0od.wl%tiwai@suse.de> | |
Cc: | "Gerhard Pircher" <gerhard_pircher@gmx.net> | |
Archive‑link: | Article |
Hi, currently, there is no uniformed way to mmap the pages allocated via dma_alloc_coherent() properly. This is a long-standing issue in the ALSA PCM code, which causes Oops on some non-coherent architectures. ARM has already a function dma_mmap_coherent() for that purpose. This patch series is for adding the same function to other major architectures to improve the situation (read: not "solve" perfectly :) I tried to keep the addition as simple and small as possible. As I couldn't do build tests on some archs, some patches might be wrong. A fix patch would be appreciated. Also, I added ARCH_HAS_DMA_MMAP_COHERENT for each definition so that the caller can know whether the function is available. This is actually more helpful than giving a dummy inline function (at least in the case of ALSA code) since it can be optimized at the compile time. Maybe another name would be better, or there is a more clever way. In anyways, comments and suggestions are greatly appreciated. The patches can be found on test/dma-fix branch of sound git tree, too. git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git test/dma-fix thanks, Takashi