mirror of
https://github.com/torvalds/linux.git
synced 2026-07-31 11:37:06 +02:00
interconnect: qcom: icc-rpmh: Add keepalive_early flag
Some BCMs only need to be kept alive early in the boot process. Add the keepalive_early flag, which only prevents them from turning off before the sync_state callback. Change-Id: I0699fb0420d1d9f9473e28ede57380fd5b08ca53 Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
This commit is contained in:
parent
b3588ad7e0
commit
d2d4f6d777
|
|
@ -97,7 +97,7 @@ static void bcm_aggregate(struct qcom_icc_bcm *bcm, bool init)
|
|||
}
|
||||
}
|
||||
|
||||
if (bcm->keepalive) {
|
||||
if (bcm->keepalive || bcm->keepalive_early) {
|
||||
/*
|
||||
* Keepalive should normally only be enforced for AMC/WAKE so
|
||||
* that BCMs are only kept alive when HLOS is active. But early
|
||||
|
|
|
|||
|
|
@ -480,9 +480,11 @@ void qcom_icc_rpmh_sync_state(struct device *dev)
|
|||
|
||||
for (i = 0; i < qp->num_bcms; i++) {
|
||||
bcm = qp->bcms[i];
|
||||
if (!bcm->keepalive)
|
||||
if (!bcm->keepalive && !bcm->keepalive_early)
|
||||
continue;
|
||||
|
||||
bcm->keepalive_early = false;
|
||||
|
||||
voter = qp->voters[bcm->voter_idx];
|
||||
qcom_icc_bcm_voter_add(voter, bcm);
|
||||
qcom_icc_bcm_voter_commit(voter);
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ struct qcom_icc_node {
|
|||
* @perf_mode_mask: mask to OR with enable_mask when QCOM_ICC_TAG_PERF_MODE is set
|
||||
* @dirty: flag used to indicate whether the bcm needs to be committed
|
||||
* @keepalive: flag used to indicate whether a keepalive is required
|
||||
* @keepalive_early: keepalive only prior to sync-state
|
||||
* @qos_proxy: flag used to indicate whether a proxy vote needed as part of
|
||||
* qos configuration
|
||||
* @aux_data: auxiliary data used when calculating threshold values and
|
||||
|
|
@ -119,6 +120,7 @@ struct qcom_icc_bcm {
|
|||
u32 perf_mode_mask;
|
||||
bool dirty;
|
||||
bool keepalive;
|
||||
bool keepalive_early;
|
||||
bool qos_proxy;
|
||||
struct bcm_db aux_data;
|
||||
struct list_head list;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user