Skip to content

Invoke rpmh_flush for non OSI targets

Maulik Shah linux-arm-msm lkml 16 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v17 Latest6 patches 9 repliesIn review
  2. v166 patches 10 repliesSuperseded
  3. v157 patches 9 repliesSuperseded
Earlier versions · 13
VersionPostedPatchesRepliesStatus
v146 patches10 repliesSuperseded
v13 posting 2/25 patches16 repliesSuperseded
v13 posting 1/20 of 4 patches2 repliesSuperseded
v124 patches6 repliesSuperseded
v11 posting 2/20 of 3 patches0 repliesSuperseded
v11 posting 1/24 patches0 repliesSuperseded
v103 patches10 repliesSuperseded
v93 patches10 repliesSuperseded
v83 patches2 repliesSuperseded
v73 patches5 repliesSuperseded
v6 posting 2/20 of 3 patches0 repliesSuperseded
v6 posting 1/23 patches3 repliesSuperseded
v11 patch6 repliesSuperseded

Changes in v17 from the cover letter

- Address Stephen's comments on change 3 and change 4.
- Add Stephen's Reviewed-by on change 5.

Patches in v17 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6arm64: dts: qcom: sc7180: Add cpuidle low power statesarch/arm64/boot/dts/qcom/sc7180.dtsi+78 -00 replies
2/6soc: qcom: rpmh: Update dirty flag only when data changesdrivers/soc/qcom/rpmh.c+11 -83 replies
3/6soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new datadrivers/soc/qcom/rpmh.c+18 -231 reply
4/6soc: qcom: rpmh: Invoke rpmh_flush() for dirty cachesdrivers/soc/qcom/rpmh-internal.h drivers/soc/qcom/rpmh-rsc.c drivers/soc/qcom/rpmh.c+139 -372 replies
5/6soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCSdrivers/soc/qcom/rpmh-rsc.c+54 -230 replies
6/6soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active requestdrivers/soc/qcom/rpmh-rsc.c+11 -121 reply

Reviews trailers per patch

All 6 patches have a Reviewed-by or Acked-by.

PatchSrinivas Rao LStephen BoydEvan GreenDouglas Anderson
1/6R-b R-b
2/6R-b R-b R-b R-b
3/6R-b R-b
4/6R-b R-b
5/6R-b R-b
6/6R-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.

Read the v17 thread

Cover letter [PATCH v17 0/6] Invoke rpmh_flush for non OSI targets

Changes in v17:
- Address Stephen's comments on change 3 and change 4.
- Add Stephen's Reviewed-by on change 5.

Changes in v16:
- Use base address in probe only, drop change to save it in drv->base
- Address Doug's comments on change 5,6 and 7.
- Add Doug's Reviewed-by.

Changes in v15:
- Address Doug's comments on change 3 of v14 and add Reviewed-by
- Split change 4 of v14 to save drv->base in a new change
- Address Doug's comments on change 4, 5, 6 of v14
- Add missing NOTIFY_OK for rpmh_flush() success case
- First 5 changes in this series can be merged without change 6 and 7

Changes in v14:
- Address Doug's comments on change 3 from v13
- Drop new APIs for start and end transaction from change 4 in v13
- Update change 4 to use cpu pm notifications instead
- Add [5] as change 5 to enable use of WAKE TCS when ACTIVE TCS count is 0
- Add change 6 to Allow multiple WAKE TCS to be used as ACTIVE TCSes
- First 4 changes can be merged even without change 5 and 6.

Changes in v13:
- Address Stephen's comment to maintain COMPILE_TEST
- Address Doug's comments and add new APIs for start and end transaction

Changes in v12:
- Kconfig change to remove COMPILE_TEST was dropped in v11, reinclude it.

Changes in v11:
- Address Doug's comments on change 2 and 3
- Include change to invalidate TCSes before flush from [4]

Changes in v10:
- Address Evan's comments to update commit message on change 2
- Add Evan's Reviewed by on change 2
- Remove comment from rpmh_flush() related to last CPU invoking it
- Rebase all changes on top of next-20200302

Changes in v9:
- Keep rpmh_flush() to invoke from within cache_lock
- Remove comments related to only last cpu invoking rpmh_flush()

Changes in v8:
- Address Stephen's comments on changes 2 and 3
- Add Reviewed by from Stephen on change 1

Changes in v7:
- Address Srinivas's comments to update commit text
- Add Reviewed by from Srinivas

Changes in v6:
- Drop 1 & 2 changes from v5 as they already landed in maintainer tree
- Drop 3 & 4 changes from v5 as no user at present for power domain in rsc
- Rename subject to appropriate since power domain changes are dropped
- Rebase other changes on top of next-20200221

Changes in v5:
- Add Rob's Acked by on dt-bindings change
- Drop firmware psci change
- Update cpuidle stats in dtsi to follow PC mode
- Include change to update dirty flag when data is updated from [4]
- Add change to invoke rpmh_flush when caches are dirty

Changes in v4:
- Add change to allow hierarchical topology in PC mode
- Drop hierarchical domain idle states converter from v3
- Address Merge sc7180 dtsi change to add low power modes

Changes in v3:
- Address Rob's comment on dt property value
- Address Stephen's comments on rpmh-rsc driver change
- Include sc7180 cpuidle low power mode changes from [1]
- Include hierarchical domain idle states converter change from [2]

Changes in v2:
- Add Stephen's Reviewed-By to the first three patches
- Addressed Stephen's comments on fourth patch
- Include changes to connect rpmh domain to cpuidle and genpds

Resource State Coordinator (RSC) is responsible for powering off/lowering the requirements from CPU subsystem for the associated hardware like buses, clocks, and regulators when all CPUs and cluster is powered down.

RSC power domain uses last-man activities provided by genpd framework based on Ulf Hansoon's patch series[3], when the cluster of CPUs enter deepest idle states. As a part of domain poweroff, RSC can lower resource state requirements by flushing the cached sleep and wake state votes for various resources.

[1] https://patchwork.kernel.org/patch/11218965
[2] https://patchwork.kernel.org/patch/10941671
[3] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=222355
[4] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=236503
[5] https://patchwork.kernel.org/patch/10818129

Maulik Shah (5):
arm64: dts: qcom: sc7180: Add cpuidle low power states
soc: qcom: rpmh: Update dirty flag only when data changes
soc: qcom: rpmh: Invalidate SLEEP and WAKE TCSes before flushing new
data
soc: qcom: rpmh: Invoke rpmh_flush() for dirty caches
soc: qcom: rpmh-rsc: Allow using free WAKE TCS for active request

Raju P.L.S.S.S.N (1):
soc: qcom: rpmh-rsc: Clear active mode configuration for wake TCS

 arch/arm64/boot/dts/qcom/sc7180.dtsi |  78 +++++++++++++
 drivers/soc/qcom/rpmh-internal.h     |  25 ++--
 drivers/soc/qcom/rpmh-rsc.c          | 220 +++++++++++++++++++++++++++--------
 drivers/soc/qcom/rpmh.c              |  79 ++++++-------
 4 files changed, 305 insertions(+), 97 deletions(-)
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation