summaryrefslogtreecommitdiff
path: root/drivers/staging/nmf-cm/cm/engine/memory/src
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/nmf-cm/cm/engine/memory/src')
-rw-r--r--drivers/staging/nmf-cm/cm/engine/memory/src/domain.c21
-rw-r--r--drivers/staging/nmf-cm/cm/engine/memory/src/remote_allocator.c5
2 files changed, 26 insertions, 0 deletions
diff --git a/drivers/staging/nmf-cm/cm/engine/memory/src/domain.c b/drivers/staging/nmf-cm/cm/engine/memory/src/domain.c
index 8524183ce19..a605cc475a9 100644
--- a/drivers/staging/nmf-cm/cm/engine/memory/src/domain.c
+++ b/drivers/staging/nmf-cm/cm/engine/memory/src/domain.c
@@ -122,6 +122,20 @@ PUBLIC t_cm_error cm_DM_Init(void)
domainDesc[2].client = NMF_CORE_CLIENT;
domainDesc[3].client = NMF_CORE_CLIENT;
+ /* We use domain 1 and 2 for the singleton, only used for components structure */
+ domainDesc[DEFAULT_SVA_DOMAIN].type = DOMAIN_NORMAL;
+ domainDesc[DEFAULT_SVA_DOMAIN].domain.coreId= SVA_CORE_ID;
+ domainDesc[DEFAULT_SVA_DOMAIN].domain.esramCode.size = (t_uint32)-1;
+ domainDesc[DEFAULT_SVA_DOMAIN].domain.esramData.size = (t_uint32)-1;
+ domainDesc[DEFAULT_SVA_DOMAIN].domain.sdramCode.size = (t_uint32)-1;
+ domainDesc[DEFAULT_SVA_DOMAIN].domain.sdramData.size = (t_uint32)-1;
+ domainDesc[DEFAULT_SIA_DOMAIN].type = DOMAIN_NORMAL;
+ domainDesc[DEFAULT_SIA_DOMAIN].domain.coreId= SIA_CORE_ID;
+ domainDesc[DEFAULT_SIA_DOMAIN].domain.esramCode.size = (t_uint32)-1;
+ domainDesc[DEFAULT_SIA_DOMAIN].domain.esramData.size = (t_uint32)-1;
+ domainDesc[DEFAULT_SIA_DOMAIN].domain.sdramCode.size = (t_uint32)-1;
+ domainDesc[DEFAULT_SIA_DOMAIN].domain.sdramData.size = (t_uint32)-1;
+
for(i = 0; i < MAX_SCRATCH_DOMAIN_NB; i++) {
domainScratchDesc[i].domainId = 0;
domainScratchDesc[i].parentId = 0;
@@ -585,3 +599,10 @@ static void cm_DM_DomainError(const t_cm_domain_id parentId, const t_nmf_client_
domainDesc[parentId].domain.esramData.offset + domainDesc[parentId].domain.esramData.size);
}
+PUBLIC void cm_DM_SetDefaultDomain(t_memory_handle memHandle, t_nmf_core_id coreId)
+{
+ if (coreId == SVA_CORE_ID)
+ cm_MM_SetDefaultDomain(memHandle, DEFAULT_SVA_DOMAIN);
+ else if (coreId == SIA_CORE_ID)
+ cm_MM_SetDefaultDomain(memHandle, DEFAULT_SIA_DOMAIN);
+}
diff --git a/drivers/staging/nmf-cm/cm/engine/memory/src/remote_allocator.c b/drivers/staging/nmf-cm/cm/engine/memory/src/remote_allocator.c
index ec23e28917c..0d000d37371 100644
--- a/drivers/staging/nmf-cm/cm/engine/memory/src/remote_allocator.c
+++ b/drivers/staging/nmf-cm/cm/engine/memory/src/remote_allocator.c
@@ -649,3 +649,8 @@ PUBLIC void cm_MM_DumpMemory(t_cm_allocator_desc* alloc, t_uint32 start, t_uint3
chunk = chunk->next;
}
}
+
+PUBLIC void cm_MM_SetDefaultDomain(t_memory_handle memHandle, t_uint32 domainId)
+{
+ ((t_cm_chunk *) memHandle)->domainId = domainId;
+}