Skip to content

Commit

Permalink
soc: qcom: Add memshare service
Browse files Browse the repository at this point in the history
This QMI service provides memory region for remote processors (like
modem) on request. It is known to be used in GPS service in modem
firmware for some (most) of msm8916 devices.

This commit implements "guaranteed allocation" of memory using
reserved-memory regions because gps service crashes on some devices
unless specific address was provided.

Signed-off-by: Nikita Travkin <nikitos.tr@gmail.com>
  • Loading branch information
TravMurav committed Jan 19, 2021
1 parent cd79c60 commit e6d801a
Show file tree
Hide file tree
Showing 5 changed files with 1,127 additions and 0 deletions.
10 changes: 10 additions & 0 deletions drivers/soc/qcom/Kconfig
Expand Up @@ -209,4 +209,14 @@ config QCOM_APR
application processor and QDSP6. APR is
used by audio driver to configure QDSP6
ASM, ADM and AFE modules.

config QCOM_MEMSHARE_QMI_SERVICE
select QCOM_QMI_HELPERS
tristate "Qualcomm shared Heap for external processors"
help
Memory Share Kernel Qualcomm Messaging Interface Service
receives requests from Modem Processor Sub System
for heap alloc/free from Application Processor
Sub System and send a response back to client with
proper handle/address.
endmenu
2 changes: 2 additions & 0 deletions drivers/soc/qcom/Makefile
Expand Up @@ -27,3 +27,5 @@ obj-$(CONFIG_QCOM_LLCC) += llcc-qcom.o
obj-$(CONFIG_QCOM_RPMHPD) += rpmhpd.o
obj-$(CONFIG_QCOM_RPMPD) += rpmpd.o
obj-$(CONFIG_QCOM_KRYO_L2_ACCESSORS) += kryo-l2-accessors.o
obj-$(CONFIG_QCOM_MEMSHARE_QMI_SERVICE) += qcom_memshare.o
qcom_memshare-y := memshare.o memshare_qmi_msg.o

0 comments on commit e6d801a

Please sign in to comment.