diff for duplicates of <s5hpr751ayp.wl%tiwai@suse.de> diff --git a/a/1.txt b/N1/1.txt index 0f013bd..a1b40fb 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -7,46 +7,3 @@ FYI, the patchset is found in sound git tree topic/pcm-dma-fix branch: thanks, Takashi - - ->From bc01f9e365d3afc041ab2c296107728c56410f8f Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Thu, 26 Nov 2009 15:04:24 +0100 -Subject: [PATCH] ALSA: pcm - fix page conversion on non-coherent PPC arch - -The non-cohernet PPC arch doesn't give the correct address by a simple -virt_to_page() for pages allocated via dma_alloc_coherent(). -This patch adds a hack to fix the conversion similarly like MIPS. - -Note that this doesn't fix perfectly: the pages should be marked with -proper pgprot value. This will be done in a future implementation like -the conversion to dma_mmap_coherent(). - -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - sound/core/pcm_native.c | 10 ++++++++++ - 1 files changed, 10 insertions(+), 0 deletions(-) - -diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c -index e48c5f6..29ab46a 100644 ---- a/sound/core/pcm_native.c -+++ b/sound/core/pcm_native.c -@@ -3070,6 +3070,16 @@ snd_pcm_default_page_ops(struct snd_pcm_substream *substream, unsigned long ofs) - if (substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV) - return virt_to_page(CAC_ADDR(vaddr)); - #endif -+#if defined(CONFIG_PPC32) && defined(CONFIG_NOT_COHERENT_CACHE) -+ if (substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV) { -+ dma_addr_t addr = substream->runtime->dma_addr + ofs; -+ addr -= get_dma_offset(substream->dma_buffer.dev.dev); -+ /* assume dma_handle set via pfn_to_phys() in -+ * mm/dma-noncoherent.c -+ */ -+ return pfn_to_page(addr >> PAGE_SHIFT); -+ } -+#endif - return virt_to_page(vaddr); - } - --- -1.6.5.3 diff --git a/a/content_digest b/N1/content_digest index bf56ec3..11132a7 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -7,13 +7,13 @@ "Subject\0Re: [PATCH 4/5] ALSA: pcm - fix page conversion on non-coherent PPC arch\0" "Date\0Thu, 26 Nov 2009 17:56:30 +0100\0" "To\0alsa-devel@alsa-project.org\0" - "Cc\0linux-mips@linux-mips.org" - Thomas Bogendoerfer <tsbogend@alpha.franken.de> - Becky Bruce <beckyb@kernel.crashing.org> + "Cc\0Ralf Baechle <ralf@linux-mips.org>" Wu Zhangjin <wuzhangjin@gmail.com> + Thomas Bogendoerfer <tsbogend@alpha.franken.de> + linux-mips@linux-mips.org Benjamin Herrenschmidt <benh@kernel.crashing.org> - Ralf Baechle <ralf@linux-mips.org> - " Kumar Gala <galak@gate.crashing.org>\0" + Kumar Gala <galak@gate.crashing.org> + " Becky Bruce <beckyb@kernel.crashing.org>\0" "\00:1\0" "b\0" "Sorry, a typo was in this patch. The fixed version is below.\n" @@ -24,49 +24,6 @@ "\n" "thanks,\n" "\n" - "Takashi\n" - "\n" - "\n" - ">From bc01f9e365d3afc041ab2c296107728c56410f8f Mon Sep 17 00:00:00 2001\n" - "From: Takashi Iwai <tiwai@suse.de>\n" - "Date: Thu, 26 Nov 2009 15:04:24 +0100\n" - "Subject: [PATCH] ALSA: pcm - fix page conversion on non-coherent PPC arch\n" - "\n" - "The non-cohernet PPC arch doesn't give the correct address by a simple\n" - "virt_to_page() for pages allocated via dma_alloc_coherent().\n" - "This patch adds a hack to fix the conversion similarly like MIPS.\n" - "\n" - "Note that this doesn't fix perfectly: the pages should be marked with\n" - "proper pgprot value. This will be done in a future implementation like\n" - "the conversion to dma_mmap_coherent().\n" - "\n" - "Signed-off-by: Takashi Iwai <tiwai@suse.de>\n" - "---\n" - " sound/core/pcm_native.c | 10 ++++++++++\n" - " 1 files changed, 10 insertions(+), 0 deletions(-)\n" - "\n" - "diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c\n" - "index e48c5f6..29ab46a 100644\n" - "--- a/sound/core/pcm_native.c\n" - "+++ b/sound/core/pcm_native.c\n" - "@@ -3070,6 +3070,16 @@ snd_pcm_default_page_ops(struct snd_pcm_substream *substream, unsigned long ofs)\n" - " \tif (substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV)\n" - " \t\treturn virt_to_page(CAC_ADDR(vaddr));\n" - " #endif\n" - "+#if defined(CONFIG_PPC32) && defined(CONFIG_NOT_COHERENT_CACHE)\n" - "+\tif (substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV) {\n" - "+\t\tdma_addr_t addr = substream->runtime->dma_addr + ofs;\n" - "+\t\taddr -= get_dma_offset(substream->dma_buffer.dev.dev);\n" - "+\t\t/* assume dma_handle set via pfn_to_phys() in\n" - "+\t\t * mm/dma-noncoherent.c\n" - "+\t\t */\n" - "+\t\treturn pfn_to_page(addr >> PAGE_SHIFT);\n" - "+\t}\n" - "+#endif\n" - " \treturn virt_to_page(vaddr);\n" - " }\n" - " \n" - "-- \n" - 1.6.5.3 + Takashi -dd173a5cd5f19274c53d862533dc3b865c5ce5288619a0adf22346174666818f +8ce3d475af8eb1fe8ec728341d097cb10f01705abc7f4674b2e7e4aae238f963
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.