diff --git a/android/abi_gki_aarch64_qcom b/android/abi_gki_aarch64_qcom index 9196707655d5..e1bf1ad5366d 100644 --- a/android/abi_gki_aarch64_qcom +++ b/android/abi_gki_aarch64_qcom @@ -947,6 +947,7 @@ memory_read_from_buffer memparse memremap + mem_section memset memset64 __memset_io diff --git a/arch/arm64/configs/vendor/pineapple_GKI.config b/arch/arm64/configs/vendor/pineapple_GKI.config index 35e5f111bcd4..425abb24760d 100644 --- a/arch/arm64/configs/vendor/pineapple_GKI.config +++ b/arch/arm64/configs/vendor/pineapple_GKI.config @@ -22,6 +22,8 @@ CONFIG_PINCTRL_PINEAPPLE=m CONFIG_QCOM_COMMAND_DB=m CONFIG_QCOM_GDSC_REGULATOR=m CONFIG_QCOM_IOMMU_UTIL=m +CONFIG_QCOM_MEM_BUF=m +CONFIG_QCOM_MEM_BUF_DEV=m # CONFIG_QCOM_MINIDUMP is not set CONFIG_QCOM_PDC=m # CONFIG_QCOM_Q6V5_ADSP is not set diff --git a/drivers/dma-buf/heaps/qcom_sg_ops.c b/drivers/dma-buf/heaps/qcom_sg_ops.c index dee93ec563fb..e6a1850dd015 100644 --- a/drivers/dma-buf/heaps/qcom_sg_ops.c +++ b/drivers/dma-buf/heaps/qcom_sg_ops.c @@ -14,6 +14,7 @@ * https://lore.kernel.org/lkml/20201017013255.43568-2-john.stultz@linaro.org/ * * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #include @@ -456,7 +457,7 @@ static void *qcom_sg_do_vmap(struct qcom_sg_buffer *buffer) return vaddr; } -static int qcom_sg_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map) +static int qcom_sg_vmap(struct dma_buf *dmabuf, struct iosys_map *map) { struct qcom_sg_buffer *buffer = dmabuf->priv; void *vaddr; @@ -471,7 +472,7 @@ static int qcom_sg_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map) mutex_lock(&buffer->lock); if (buffer->vmap_cnt) { buffer->vmap_cnt++; - dma_buf_map_set_vaddr(map, buffer->vaddr); + iosys_map_set_vaddr(map, buffer->vaddr); goto out; } @@ -484,14 +485,14 @@ static int qcom_sg_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map) buffer->vaddr = vaddr; buffer->vmap_cnt++; - dma_buf_map_set_vaddr(map, buffer->vaddr); + iosys_map_set_vaddr(map, buffer->vaddr); out: mutex_unlock(&buffer->lock); return ret; } -static void qcom_sg_vunmap(struct dma_buf *dmabuf, struct dma_buf_map *map) +static void qcom_sg_vunmap(struct dma_buf *dmabuf, struct iosys_map *map) { struct qcom_sg_buffer *buffer = dmabuf->priv; @@ -502,7 +503,7 @@ static void qcom_sg_vunmap(struct dma_buf *dmabuf, struct dma_buf_map *map) } mem_buf_vmperm_unpin(buffer->vmperm); mutex_unlock(&buffer->lock); - dma_buf_map_clear(map); + iosys_map_clear(map); } static void qcom_sg_release(struct dma_buf *dmabuf) diff --git a/modules.list.msm.pineapple b/modules.list.msm.pineapple index c8bb2d963265..382500cb336c 100644 --- a/modules.list.msm.pineapple +++ b/modules.list.msm.pineapple @@ -4,6 +4,9 @@ qcom-pdc.ko qcom_iommu_util.ko arm_smmu.ko secure_buffer.ko +mem_buf_dev.ko +mem_buf_msgq.ko +mem_buf.ko qcom-scm.ko pinctrl-msm.ko pinctrl-pineapple.ko