[target/msm7630]: Add support for smem version 4.
Add platform_version variable to the new SOC v4 structure.
Add additional variable for alignment.
Change-Id: I6e677b04b704d3887c703061644b4e636e9c0f4a
diff --git a/platform/msm_shared/smem.c b/platform/msm_shared/smem.c
index 3edc986..1d05597 100644
--- a/platform/msm_shared/smem.c
+++ b/platform/msm_shared/smem.c
@@ -63,3 +63,27 @@
return 0;
}
+
+unsigned smem_read_alloc_entry_offset(smem_mem_type_t type, void *buf, int len, int offset)
+{
+ struct smem_alloc_info *ainfo;
+ unsigned *dest = buf;
+ unsigned src;
+ unsigned size = len;
+
+ if (((len & 0x3) != 0) || (((unsigned)buf & 0x3) != 0))
+ return 1;
+
+ if (type < SMEM_FIRST_VALID_TYPE || type > SMEM_LAST_VALID_TYPE)
+ return 1;
+
+ ainfo = &smem->alloc_info[type];
+ if (readl(&ainfo->allocated) == 0)
+ return 1;
+
+ src = MSM_SHARED_BASE + readl(&ainfo->offset) + offset;
+ for (; size > 0; src += 4, size -= 4)
+ *(dest++) = readl(src);
+
+ return 0;
+}