msm: sps: add OCIMEM for pipe memory
BAM uses pipe memory for BAM-to-BAM connnections. OCIMEM is one of
memory types for pipe memory. Add the support for OCIMEM in this
change.
Change-Id: Ifc6fe537060d2c4120a03222cb419f463c7b4ab0
Signed-off-by: Yan He <yanhe@codeaurora.org>
diff --git a/drivers/platform/msm/sps/sps.c b/drivers/platform/msm/sps/sps.c
index 6ccfd29..4f10cf8 100644
--- a/drivers/platform/msm/sps/sps.c
+++ b/drivers/platform/msm/sps/sps.c
@@ -81,6 +81,7 @@
u32 d_type;
bool enhd_pipe;
+bool imem;
static void sps_device_de_init(void);
@@ -2430,13 +2431,16 @@
resource = platform_get_resource(pdev, IORESOURCE_MEM, 2);
if (resource) {
+ imem = true;
sps->pipemem_phys_base = resource->start;
sps->pipemem_size = resource_size(resource);
SPS_DBG("sps:pipemem.base=0x%x,size=0x%x.",
sps->pipemem_phys_base,
sps->pipemem_size);
- } else
+ } else {
+ imem = false;
SPS_DBG("sps:No pipe memory on this target.\n");
+ }
resource = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
if (resource) {
diff --git a/drivers/platform/msm/sps/sps_mem.c b/drivers/platform/msm/sps/sps_mem.c
index faa1618..34a2001 100644
--- a/drivers/platform/msm/sps/sps_mem.c
+++ b/drivers/platform/msm/sps/sps_mem.c
@@ -109,7 +109,7 @@
/* 2^8=128. The desc-fifo and data-fifo minimal allocation. */
int min_alloc_order = 8;
- if ((d_type == 0) || (d_type == 2)) {
+ if ((d_type == 0) || (d_type == 2) || imem) {
iomem_phys = pipemem_phys_base;
iomem_size = pipemem_size;
@@ -136,7 +136,7 @@
return -ENOMEM;
}
- if ((d_type == 0) || (d_type == 2)) {
+ if ((d_type == 0) || (d_type == 2) || imem) {
res = gen_pool_add(pool, (u32) iomem_virt, iomem_size, nid);
if (res)
return res;
diff --git a/drivers/platform/msm/sps/spsi.h b/drivers/platform/msm/sps/spsi.h
index f65fef7..353ece6 100644
--- a/drivers/platform/msm/sps/spsi.h
+++ b/drivers/platform/msm/sps/spsi.h
@@ -50,6 +50,7 @@
extern u32 d_type;
extern bool enhd_pipe;
+extern bool imem;
#ifdef CONFIG_DEBUG_FS
extern u8 debugfs_record_enabled;