[PATCH v2 0/3] Introduce Protection Domain Restart (PDR) Helpers

From: Sibi Sankar
Date: Fri Dec 20 2019 - 12:20:40 EST


Qualcomm SoCs (starting with MSM8998) allow for multiple protection
domains (PDs) to run on the same Q6 sub-system. This allows for
services like AVS AUDIO to have their own separate address space and
crash/recover without disrupting the other PDs running on the same Q6
ADSP. This patch series introduces pdr helper library and adds PD
tracking functionality for "avs/audio" allowing apr services to register
themselves asynchronously once the dependent PDs are up.

V2:
* fixup pd_status callback to return void.
* return 0 from pdr_get_domain_list on success.
* introduce status_lock to linearize the pd_status reported back
to the clients.
* use the correct service name length across various string operations
performed.
* service locator will now schedule the pending lookups registered
when it comes up.
* other minor cleanups that Bjorn suggested.
* use pr_warn to indicate that the wait for service locator timed
out.
* add Bjorn/Srini's "Reviewed-by" for the dt-bindings.

To Do:
* Add support for pd tracking in fastrpc driver.

Sibi Sankar (3):
soc: qcom: Introduce Protection Domain Restart helpers
dt-bindings: soc: qcom: apr: Add protection domain bindings
soc: qcom: apr: Add avs/audio tracking functionality

.../devicetree/bindings/soc/qcom/qcom,apr.txt | 59 ++
drivers/soc/qcom/Kconfig | 6 +
drivers/soc/qcom/Makefile | 1 +
drivers/soc/qcom/apr.c | 100 ++-
drivers/soc/qcom/pdr_interface.c | 691 ++++++++++++++++++
drivers/soc/qcom/pdr_internal.h | 375 ++++++++++
include/linux/soc/qcom/apr.h | 1 +
include/linux/soc/qcom/pdr.h | 105 +++
include/linux/soc/qcom/qmi.h | 1 +
9 files changed, 1328 insertions(+), 11 deletions(-)
create mode 100644 drivers/soc/qcom/pdr_interface.c
create mode 100644 drivers/soc/qcom/pdr_internal.h
create mode 100644 include/linux/soc/qcom/pdr.h

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project