summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cmem/module/cmemk.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/cmem/module/cmemk.c b/src/cmem/module/cmemk.c
index 594a7d2..2239c19 100644
--- a/src/cmem/module/cmemk.c
+++ b/src/cmem/module/cmemk.c
@@ -2735,6 +2735,13 @@ fail:
return err;
}
+static void __init cmem_dma_offset_configure(struct device *dev)
+{
+#if IS_ENABLED(CONFIG_ARCH_KEYSTONE) && IS_ENABLED(CONFIG_ARM_LPAE)
+ dev->dma_pfn_offset = KEYSTONE_DMA_PFN_OFFSET;
+#endif
+}
+
int __init cmem_init(void)
{
int bi;
@@ -2787,9 +2794,7 @@ int __init cmem_init(void)
NULL, "cmem");
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0))
cmem_cma_dev_0->coherent_dma_mask = DMA_BIT_MASK(32);
-#if IS_ENABLED(CONFIG_ARCH_KEYSTONE) && IS_ENABLED(CONFIG_ARM_LPAE)
- cmem_cma_dev_0->dma_pfn_offset = KEYSTONE_DMA_PFN_OFFSET;
-#endif
+ cmem_dma_offset_configure(cmem_cma_dev_0);
#endif
for (bi = 0; bi < NBLOCKS; bi++) {
if (!block_start[bi] || !block_end[bi]) {
@@ -2921,9 +2926,8 @@ int __init cmem_init(void)
p_objs[NBLOCKS][i].numbufs = cmem_cma_p_objs[i].numbufs;
cmem_cma_dev[i].coherent_dma_mask = DMA_BIT_MASK(32);
-#if IS_ENABLED(CONFIG_ARCH_KEYSTONE) && IS_ENABLED(CONFIG_ARM_LPAE) \
- && (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0))
- cmem_cma_dev[i].dma_pfn_offset = KEYSTONE_DMA_PFN_OFFSET;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0))
+ cmem_dma_offset_configure(&cmem_cma_dev[i]);
#endif
__D(" pool %d: size=%#llx numbufs=%d\n", i,
p_objs[NBLOCKS][i].size, p_objs[NBLOCKS][i].numbufs);