linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 0/2] ARM: mmp: add audio sram support
@ 2011-08-01  2:59 Leo Yan
  2011-08-01  2:59 ` [PATCH 1/2] ARM: mmp: register audio sram device Leo Yan
  2011-08-01  2:59 ` [PATCH 2/2] ARM: mmp: add audio sram allocator Leo Yan
  0 siblings, 2 replies; 7+ messages in thread
From: Leo Yan @ 2011-08-01  2:59 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel, haojian.zhuang, nicolas.pitre,
	linux, plagnioj
  Cc: Leo Yan

On mmp platform, there have sram buffer dedicated
to audio island. It can be to dynamically allocated
for versatile pcm devices. So add the audio sram
allocator for managing it.

Leo Yan (2):
  ARM: mmp: register audio sram device
  ARM: mmp: add audio sram allocator

 arch/arm/Kconfig                            |    1 +
 arch/arm/mach-mmp/Makefile                  |    2 +-
 arch/arm/mach-mmp/audio_sram.c              |   99 +++++++++++++++++++++++++++
 arch/arm/mach-mmp/brownstone.c              |    1 +
 arch/arm/mach-mmp/include/mach/audio_sram.h |   24 +++++++
 arch/arm/mach-mmp/include/mach/mmp2.h       |    6 ++
 arch/arm/mach-mmp/mmp2.c                    |    1 +
 7 files changed, 133 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-mmp/audio_sram.c
 create mode 100644 arch/arm/mach-mmp/include/mach/audio_sram.h

-- 
1.7.4.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/2] ARM: mmp: register audio sram device
  2011-08-01  2:59 [PATCH V2 0/2] ARM: mmp: add audio sram support Leo Yan
@ 2011-08-01  2:59 ` Leo Yan
  2011-08-01  2:59 ` [PATCH 2/2] ARM: mmp: add audio sram allocator Leo Yan
  1 sibling, 0 replies; 7+ messages in thread
From: Leo Yan @ 2011-08-01  2:59 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel, haojian.zhuang, nicolas.pitre,
	linux, plagnioj
  Cc: Leo Yan

MMP platform has sram for the audio island;
Add the device structure for the audio sram,
and register the audio sram device at init phase.

Signed-off-by: Leo Yan <leoy@marvell.com>
---
 arch/arm/mach-mmp/brownstone.c        |    1 +
 arch/arm/mach-mmp/include/mach/mmp2.h |    6 ++++++
 arch/arm/mach-mmp/mmp2.c              |    1 +
 3 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-mmp/brownstone.c b/arch/arm/mach-mmp/brownstone.c
index 7bb78fd..c172910 100644
--- a/arch/arm/mach-mmp/brownstone.c
+++ b/arch/arm/mach-mmp/brownstone.c
@@ -189,6 +189,7 @@ static void __init brownstone_init(void)
 	mmp2_add_uart(3);
 	mmp2_add_twsi(1, NULL, ARRAY_AND_SIZE(brownstone_twsi1_info));
 	mmp2_add_sdhost(0, &mmp2_sdh_platdata_mmc0); /* SD/MMC */
+	mmp2_add_audio_sram();
 
 	/* enable 5v regulator */
 	platform_device_register(&brownstone_v_5vp_device);
diff --git a/arch/arm/mach-mmp/include/mach/mmp2.h b/arch/arm/mach-mmp/include/mach/mmp2.h
index 2cbf6df..bd1bbb4 100644
--- a/arch/arm/mach-mmp/include/mach/mmp2.h
+++ b/arch/arm/mach-mmp/include/mach/mmp2.h
@@ -28,6 +28,7 @@ extern struct pxa_device_desc mmp2_device_sdh0;
 extern struct pxa_device_desc mmp2_device_sdh1;
 extern struct pxa_device_desc mmp2_device_sdh2;
 extern struct pxa_device_desc mmp2_device_sdh3;
+extern struct pxa_device_desc mmp2_device_audio_sram;
 
 static inline int mmp2_add_uart(int id)
 {
@@ -85,5 +86,10 @@ static inline int mmp2_add_sdhost(int id, struct sdhci_pxa_platdata *data)
 	return pxa_register_device(d, data, sizeof(*data));
 }
 
+static inline int mmp2_add_audio_sram(void)
+{
+	return pxa_register_device(&mmp2_device_audio_sram, NULL, 0);
+}
+
 #endif /* __ASM_MACH_MMP2_H */
 
diff --git a/arch/arm/mach-mmp/mmp2.c b/arch/arm/mach-mmp/mmp2.c
index 8e6c3ac..885dced 100644
--- a/arch/arm/mach-mmp/mmp2.c
+++ b/arch/arm/mach-mmp/mmp2.c
@@ -226,4 +226,5 @@ MMP2_DEVICE(sdh0, "sdhci-pxa", 0, MMC, 0xd4280000, 0x120);
 MMP2_DEVICE(sdh1, "sdhci-pxa", 1, MMC2, 0xd4280800, 0x120);
 MMP2_DEVICE(sdh2, "sdhci-pxa", 2, MMC3, 0xd4281000, 0x120);
 MMP2_DEVICE(sdh3, "sdhci-pxa", 3, MMC4, 0xd4281800, 0x120);
+MMP2_DEVICE(audio_sram, "mmp-audio-sram", -1, NONE, 0xe0000000, 0x4000);
 
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/2] ARM: mmp: add audio sram allocator
  2011-08-01  2:59 [PATCH V2 0/2] ARM: mmp: add audio sram support Leo Yan
  2011-08-01  2:59 ` [PATCH 1/2] ARM: mmp: register audio sram device Leo Yan
@ 2011-08-01  2:59 ` Leo Yan
  2011-09-15 14:38   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 7+ messages in thread
From: Leo Yan @ 2011-08-01  2:59 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel, haojian.zhuang, nicolas.pitre,
	linux, plagnioj
  Cc: Leo Yan

Implement the audio sram allocator with genalloc,
so that can dynamically allocate the buffer
to pcm devices as need.

Signed-off-by: Leo Yan <leoy@marvell.com>
---
 arch/arm/Kconfig                            |    1 +
 arch/arm/mach-mmp/Makefile                  |    2 +-
 arch/arm/mach-mmp/audio_sram.c              |   99 +++++++++++++++++++++++++++
 arch/arm/mach-mmp/include/mach/audio_sram.h |   24 +++++++
 4 files changed, 125 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-mmp/audio_sram.c
 create mode 100644 arch/arm/mach-mmp/include/mach/audio_sram.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3eacf57..480e1524 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -546,6 +546,7 @@ config ARCH_MMP
 	select TICK_ONESHOT
 	select PLAT_PXA
 	select SPARSE_IRQ
+	select GENERIC_ALLOCATOR
 	help
 	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
 
diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile
index b0ac942..290182b 100644
--- a/arch/arm/mach-mmp/Makefile
+++ b/arch/arm/mach-mmp/Makefile
@@ -7,7 +7,7 @@ obj-y				+= common.o clock.o devices.o time.o
 # SoC support
 obj-$(CONFIG_CPU_PXA168)	+= pxa168.o irq-pxa168.o
 obj-$(CONFIG_CPU_PXA910)	+= pxa910.o irq-pxa168.o
-obj-$(CONFIG_CPU_MMP2)		+= mmp2.o irq-mmp2.o
+obj-$(CONFIG_CPU_MMP2)		+= mmp2.o irq-mmp2.o audio_sram.o
 
 # board support
 obj-$(CONFIG_MACH_ASPENITE)	+= aspenite.o
diff --git a/arch/arm/mach-mmp/audio_sram.c b/arch/arm/mach-mmp/audio_sram.c
new file mode 100644
index 0000000..73c7dc5
--- /dev/null
+++ b/arch/arm/mach-mmp/audio_sram.c
@@ -0,0 +1,99 @@
+/*
+ *  linux/arch/arm/mach-mmp/audio_sram.c
+ *
+ *  based on mach-davinci/sram.c - DaVinci simple SRAM allocator
+ *
+ *  Copyright (c) 2011 Marvell Semiconductors Inc.
+ *  All Rights Reserved
+ *
+ *  Add for mmp audio sram support - Leo Yan <leoy@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/io.h>
+#include <linux/err.h>
+#include <linux/genalloc.h>
+
+#include <mach/audio_sram.h>
+
+static phys_addr_t audio_sram_phys;
+static void __iomem *audio_sram_virt;
+static u32 audio_sram_size;
+
+struct gen_pool *mmp_audio_sram_gpool;
+EXPORT_SYMBOL_GPL(mmp_audio_sram_gpool);
+
+static int __devinit audio_sram_probe(struct platform_device *pdev)
+{
+	struct resource *res;
+	int ret = 0;
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (res == NULL) {
+		dev_err(&pdev->dev, "no memory resource defined\n");
+		ret = -ENODEV;
+		goto out;
+	}
+	audio_sram_phys = (phys_addr_t)res->start;
+	audio_sram_size = res->end - res->start + 1;
+	audio_sram_virt = ioremap(audio_sram_phys, audio_sram_size);
+
+	if (!audio_sram_size)
+		return 0;
+
+	mmp_audio_sram_gpool =
+		gen_pool_create(ilog2(AUDIO_SRAM_GRANULARITY), -1);
+	if (!mmp_audio_sram_gpool) {
+		dev_err(&pdev->dev, "create pool failed\n");
+		ret = -ENOMEM;
+		goto create_pool_err;
+	}
+
+	ret = gen_pool_add_virt(mmp_audio_sram_gpool,
+				(unsigned long)audio_sram_virt,
+				audio_sram_phys, audio_sram_size, -1);
+	if (ret < 0) {
+		dev_err(&pdev->dev, "add new chunk failed\n");
+		ret = -ENOMEM;
+		goto add_chunk_err;
+	}
+
+	return 0;
+
+add_chunk_err:
+	gen_pool_destroy(mmp_audio_sram_gpool);
+create_pool_err:
+	iounmap(audio_sram_virt);
+out:
+	return ret;
+}
+
+static int __devexit audio_sram_remove(struct platform_device *pdev)
+{
+	gen_pool_destroy(mmp_audio_sram_gpool);
+	iounmap(audio_sram_virt);
+	return 0;
+}
+
+static struct platform_driver audio_sram_driver = {
+	.probe		= audio_sram_probe,
+	.remove		= audio_sram_remove,
+	.driver		= {
+		.name	= "mmp-audio-sram",
+	},
+};
+
+static int __init audio_sram_init(void)
+{
+	return platform_driver_register(&audio_sram_driver);
+}
+core_initcall(audio_sram_init);
+
+MODULE_LICENSE("GPL");
diff --git a/arch/arm/mach-mmp/include/mach/audio_sram.h b/arch/arm/mach-mmp/include/mach/audio_sram.h
new file mode 100644
index 0000000..27124d5
--- /dev/null
+++ b/arch/arm/mach-mmp/include/mach/audio_sram.h
@@ -0,0 +1,24 @@
+/*
+ *  linux/arch/arm/mach-mmp/include/mach/audio_sram.h
+ *
+ *  Audio SRAM Memory Management
+ *
+ *  Copyright (c) 2011 Marvell Semiconductors Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  published by the Free Software Foundation.
+ *
+ */
+
+#ifndef __ASM_ARCH_AUDIO_SRAM_H
+#define __ASM_ARCH_AUDIO_SRAM_H
+
+#include <linux/genalloc.h>
+
+/* ARBITRARY:  SRAM allocations are multiples of this 2^N size */
+#define AUDIO_SRAM_GRANULARITY	512
+
+extern struct gen_pool *mmp_audio_sram_gpool;
+
+#endif /* __ASM_ARCH_AUDIO_SRAM_H */
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] ARM: mmp: add audio sram allocator
  2011-08-01  2:59 ` [PATCH 2/2] ARM: mmp: add audio sram allocator Leo Yan
@ 2011-09-15 14:38   ` Jean-Christophe PLAGNIOL-VILLARD
  2011-09-16  1:13     ` Leo Yan
  0 siblings, 1 reply; 7+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-09-15 14:38 UTC (permalink / raw)
  To: Leo Yan
  Cc: linux-arm-kernel, linux-kernel, haojian.zhuang, nicolas.pitre, linux

On 10:59 Mon 01 Aug     , Leo Yan wrote:
> Implement the audio sram allocator with genalloc,
> so that can dynamically allocate the buffer
> to pcm devices as need.
> 
> Signed-off-by: Leo Yan <leoy@marvell.com>
this can be more generic nad move to lib/genalloc.c

Best Regards,
J.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] ARM: mmp: add audio sram allocator
  2011-09-15 14:38   ` Jean-Christophe PLAGNIOL-VILLARD
@ 2011-09-16  1:13     ` Leo Yan
  2011-09-18  0:47       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 7+ messages in thread
From: Leo Yan @ 2011-09-16  1:13 UTC (permalink / raw)
  To: Jean-Christophe PLAGNIOL-VILLARD
  Cc: linux-arm-kernel, linux-kernel, Haojian Zhuang, nicolas.pitre, linux



On 09/15/2011 10:38 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 10:59 Mon 01 Aug     , Leo Yan wrote:
>> Implement the audio sram allocator with genalloc,
>> so that can dynamically allocate the buffer
>> to pcm devices as need.
>>
>> Signed-off-by: Leo Yan<leoy@marvell.com>
> this can be more generic nad move to lib/genalloc.c

This is an older version, i have updated the patch same as you said.
pls see below link for the latest patch:
http://lists.arm.linux.org.uk/lurker/message/20110815.030920.2ad4227b.en.html

Thx,
Leo Yan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/2] ARM: mmp: add audio sram allocator
  2011-09-16  1:13     ` Leo Yan
@ 2011-09-18  0:47       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 7+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2011-09-18  0:47 UTC (permalink / raw)
  To: Leo Yan
  Cc: linux-arm-kernel, linux-kernel, Haojian Zhuang, nicolas.pitre, linux

On 09:13 Fri 16 Sep     , Leo Yan wrote:
> 
> 
> On 09/15/2011 10:38 PM, Jean-Christophe PLAGNIOL-VILLARD wrote:
> >On 10:59 Mon 01 Aug     , Leo Yan wrote:
> >>Implement the audio sram allocator with genalloc,
> >>so that can dynamically allocate the buffer
> >>to pcm devices as need.
> >>
> >>Signed-off-by: Leo Yan<leoy@marvell.com>
> >this can be more generic nad move to lib/genalloc.c
> 
> This is an older version, i have updated the patch same as you said.
> pls see below link for the latest patch:
> http://lists.arm.linux.org.uk/lurker/message/20110815.030920.2ad4227b.en.html
I take a look on it it's the same issue this is not mach specific

Best Regards,
J.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/2] ARM: mmp: add audio sram allocator
  2011-07-18 11:18 [PATCH 0/2] Add audio sram support Leo Yan
@ 2011-07-18 11:18 ` Leo Yan
  0 siblings, 0 replies; 7+ messages in thread
From: Leo Yan @ 2011-07-18 11:18 UTC (permalink / raw)
  To: linux-arm-kernel, linux-kernel, haojian.zhuang, nicolas.pitre,
	Russell King
  Cc: Leo Yan

Add the audio sram allocator, so that can dynamically
allocated to several pcm devices.

Signed-off-by: Leo Yan <leoy@marvell.com>
---
 arch/arm/Kconfig                            |    1 +
 arch/arm/mach-mmp/Makefile                  |    2 +-
 arch/arm/mach-mmp/audio_sram.c              |  118 +++++++++++++++++++++++++++
 arch/arm/mach-mmp/include/mach/audio_sram.h |   31 +++++++
 4 files changed, 151 insertions(+), 1 deletions(-)
 create mode 100644 arch/arm/mach-mmp/audio_sram.c
 create mode 100644 arch/arm/mach-mmp/include/mach/audio_sram.h

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 3eacf57..480e1524 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -546,6 +546,7 @@ config ARCH_MMP
 	select TICK_ONESHOT
 	select PLAT_PXA
 	select SPARSE_IRQ
+	select GENERIC_ALLOCATOR
 	help
 	  Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
 
diff --git a/arch/arm/mach-mmp/Makefile b/arch/arm/mach-mmp/Makefile
index b0ac942..290182b 100644
--- a/arch/arm/mach-mmp/Makefile
+++ b/arch/arm/mach-mmp/Makefile
@@ -7,7 +7,7 @@ obj-y				+= common.o clock.o devices.o time.o
 # SoC support
 obj-$(CONFIG_CPU_PXA168)	+= pxa168.o irq-pxa168.o
 obj-$(CONFIG_CPU_PXA910)	+= pxa910.o irq-pxa168.o
-obj-$(CONFIG_CPU_MMP2)		+= mmp2.o irq-mmp2.o
+obj-$(CONFIG_CPU_MMP2)		+= mmp2.o irq-mmp2.o audio_sram.o
 
 # board support
 obj-$(CONFIG_MACH_ASPENITE)	+= aspenite.o
diff --git a/arch/arm/mach-mmp/audio_sram.c b/arch/arm/mach-mmp/audio_sram.c
new file mode 100644
index 0000000..2d893fb
--- /dev/null
+++ b/arch/arm/mach-mmp/audio_sram.c
@@ -0,0 +1,118 @@
+/*
+ *  linux/arch/arm/mach-mmp/audio_sram.c
+ *
+ *  based on mach-davinci/sram.c - DaVinci simple SRAM allocator
+ *
+ *  Copyright (c) 2011 Marvell Semiconductors Inc.
+ *  All Rights Reserved
+ *
+ *  Add for mmp audio sram support - Leo Yan <leoy@marvell.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  published by the Free Software Foundation.
+ *
+ */
+
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/platform_device.h>
+#include <linux/io.h>
+#include <linux/err.h>
+#include <linux/genalloc.h>
+
+#include <mach/audio_sram.h>
+
+static struct gen_pool *sram_pool;
+static u32 audio_sram_phys;
+static void __iomem *audio_sram_virt;
+static u32 audio_sram_size;
+
+void *audio_sram_alloc(size_t len, dma_addr_t *dma)
+{
+	unsigned long vaddr;
+	dma_addr_t dma_base = (dma_addr_t)audio_sram_phys;
+
+	if (dma)
+		*dma = 0;
+	if (!sram_pool || (dma && !dma_base))
+		return NULL;
+
+	vaddr = gen_pool_alloc(sram_pool, len);
+	if (!vaddr)
+		return NULL;
+
+	if (dma)
+		*dma = dma_base + (vaddr - (unsigned long)audio_sram_virt);
+	return (void *)vaddr;
+}
+EXPORT_SYMBOL(audio_sram_alloc);
+
+void audio_sram_free(void *addr, size_t len)
+{
+	gen_pool_free(sram_pool, (unsigned long) addr, len);
+}
+EXPORT_SYMBOL(audio_sram_free);
+
+static int __devinit audio_sram_probe(struct platform_device *pdev)
+{
+	struct resource *res;
+	int ret = 0;
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	if (res == NULL) {
+		dev_err(&pdev->dev, "no memory resource defined\n");
+		ret = -ENODEV;
+		goto out;
+	}
+	audio_sram_phys = res->start;
+	audio_sram_size = res->end - res->start + 1;
+	audio_sram_virt = ioremap(audio_sram_phys, audio_sram_size);
+
+	sram_pool = gen_pool_create(ilog2(AUDIO_SRAM_GRANULARITY), -1);
+	if (!sram_pool) {
+		dev_err(&pdev->dev, "create pool failed\n");
+		ret = -ENOMEM;
+		goto create_pool_err;
+	}
+
+	ret = gen_pool_add(sram_pool, (unsigned long)audio_sram_virt,
+			   audio_sram_size, -1);
+	if (ret < 0) {
+		dev_err(&pdev->dev, "add new chunk failed\n");
+		ret = -ENOMEM;
+		goto add_chunk_err;
+	}
+
+	return 0;
+
+add_chunk_err:
+	gen_pool_destroy(sram_pool);
+create_pool_err:
+	iounmap(audio_sram_virt);
+out:
+	return ret;
+}
+
+static int __devexit audio_sram_remove(struct platform_device *pdev)
+{
+	gen_pool_destroy(sram_pool);
+	iounmap(audio_sram_virt);
+	return 0;
+}
+
+static struct platform_driver audio_sram_driver = {
+	.probe		= audio_sram_probe,
+	.remove		= audio_sram_remove,
+	.driver		= {
+		.name	= "audio_sram",
+	},
+};
+
+static int __init audio_sram_init(void)
+{
+	return platform_driver_register(&audio_sram_driver);
+}
+core_initcall(audio_sram_init);
+
+MODULE_LICENSE("GPL");
diff --git a/arch/arm/mach-mmp/include/mach/audio_sram.h b/arch/arm/mach-mmp/include/mach/audio_sram.h
new file mode 100644
index 0000000..08713f4
--- /dev/null
+++ b/arch/arm/mach-mmp/include/mach/audio_sram.h
@@ -0,0 +1,31 @@
+/*
+ *  linux/arch/arm/mach-mmp/include/mach/audio_sram.h
+ *
+ *  PXA688 Audio SRAM Memory Management
+ *
+ *  Copyright (c) 2011 Marvell Semiconductors Inc.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License version 2 as
+ *  published by the Free Software Foundation.
+ *
+ */
+
+#ifndef __ASM_ARCH_AUDIO_SRAM_H
+#define __ASM_ARCH_AUDIO_SRAM_H
+
+/* ARBITRARY:  SRAM allocations are multiples of this 2^N size */
+#define AUDIO_SRAM_GRANULARITY	1024
+
+/*
+ * SRAM allocations return a CPU virtual address, or NULL on error.
+ * If a DMA address is requested and the SRAM supports DMA, its
+ * mapped address is also returned.
+ *
+ * Errors include SRAM memory not being available, and requesting
+ * DMA mapped SRAM on systems which don't allow that.
+ */
+extern void *audio_sram_alloc(size_t len, dma_addr_t *dma);
+extern void audio_sram_free(void *addr, size_t len);
+
+#endif /* __ASM_ARCH_AUDIO_SRAM_H */
-- 
1.7.4.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-09-18  2:28 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-01  2:59 [PATCH V2 0/2] ARM: mmp: add audio sram support Leo Yan
2011-08-01  2:59 ` [PATCH 1/2] ARM: mmp: register audio sram device Leo Yan
2011-08-01  2:59 ` [PATCH 2/2] ARM: mmp: add audio sram allocator Leo Yan
2011-09-15 14:38   ` Jean-Christophe PLAGNIOL-VILLARD
2011-09-16  1:13     ` Leo Yan
2011-09-18  0:47       ` Jean-Christophe PLAGNIOL-VILLARD
  -- strict thread matches above, loose matches on Subject: below --
2011-07-18 11:18 [PATCH 0/2] Add audio sram support Leo Yan
2011-07-18 11:18 ` [PATCH 2/2] ARM: mmp: add audio sram allocator Leo Yan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).