The power domains exposed by the AOSS QMP driver control the load state resources linked to modem, adsp, cdsp remoteprocs. These are used to notify the Always on Subsystem (AOSS) that a particular co-processor is up/down. AOSS uses this information to wait for the co-processors to suspend before starting its sleep sequence. These co-processors enter low-power modes independent to that of the application processor and the load state resources linked to them are expected to remain unaltered across system suspend/resume cycles. To achieve this behavior let's stop modeling them as power-domains and replace them with generic qmp_send interface instead. https://lore.kernel.org/lkml/20200913034603.GV3715@yoga/ Previous dicussion on dropping power-domain support from AOSS QMP driver Depends on: qmp_send: https://patchwork.kernel.org/project/linux-arm-msm/cover/1620320818-2206-1-git-send-email-deesin@xxxxxxxxxxxxxx/ rproc,adsp_yaml: https://patchwork.kernel.org/project/linux-arm-msm/patch/20210603142639.8335-1-s-anna@xxxxxx/ V2: * load_state is currently broken on mainline so be safely dropped without side-effects. * Rebased on top of qmp_send v3 series. * Dropped R-b from Stephen and Rob on patch 3 due to the yaml conversion. * New patch [12] to drop unused aoss-qmp header. * Commit message update [patch 1] [Rob] * Reorder the series [Stephen] Sibi Sankar (13): dt-bindings: soc: qcom: aoss: Drop power-domain bindings dt-bindings: remoteproc: qcom: pas: Add QMP bindings dt-bindings: remoteproc: qcom: Add QMP bindings remoteproc: qcom: q6v5: Use qmp_send to update co-processor load state arm64: dts: qcom: sc7180: Use QMP binding to control load state arm64: dts: qcom: sc7280: Use QMP binding to control load state arm64: dts: qcom: sdm845: Use QMP binding to control load state arm64: dts: qcom: sm8150: Use QMP binding to control load state arm64: dts: qcom: sm8250: Use QMP binding to control load state arm64: dts: qcom: sm8350: Use QMP binding to control load state soc: qcom: aoss: Drop power domain support dt-bindings: msm/dp: Remove aoss-qmp header dt-bindings: soc: qcom: aoss: Delete unused power-domain definitions .../bindings/display/msm/dp-controller.yaml | 1 - .../devicetree/bindings/remoteproc/qcom,adsp.yaml | 40 +++++--- .../devicetree/bindings/remoteproc/qcom,q6v5.txt | 7 +- .../devicetree/bindings/soc/qcom/qcom,aoss-qmp.txt | 16 +-- arch/arm64/boot/dts/qcom/sc7180.dtsi | 9 +- arch/arm64/boot/dts/qcom/sc7280.dtsi | 2 - arch/arm64/boot/dts/qcom/sdm845.dtsi | 8 +- arch/arm64/boot/dts/qcom/sm8150.dtsi | 28 +++--- arch/arm64/boot/dts/qcom/sm8250.dtsi | 22 ++--- arch/arm64/boot/dts/qcom/sm8350.dtsi | 30 +++--- drivers/remoteproc/qcom_q6v5.c | 56 ++++++++++- drivers/remoteproc/qcom_q6v5.h | 7 +- drivers/remoteproc/qcom_q6v5_adsp.c | 7 +- drivers/remoteproc/qcom_q6v5_mss.c | 44 ++------- drivers/remoteproc/qcom_q6v5_pas.c | 80 ++++----------- drivers/remoteproc/qcom_q6v5_wcss.c | 4 +- drivers/soc/qcom/qcom_aoss.c | 109 +-------------------- include/dt-bindings/power/qcom-aoss-qmp.h | 14 --- 18 files changed, 181 insertions(+), 303 deletions(-) delete mode 100644 include/dt-bindings/power/qcom-aoss-qmp.h -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project