File tree Expand file tree Collapse file tree 2 files changed +7
-0
lines changed
drivers/interconnect/qcom Expand file tree Collapse file tree 2 files changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -83,6 +83,11 @@ static void bcm_aggregate(struct qcom_icc_bcm *bcm)
83
83
84
84
temp = agg_peak [bucket ] * bcm -> vote_scale ;
85
85
bcm -> vote_y [bucket ] = bcm_div (temp , bcm -> aux_data .unit );
86
+
87
+ if (bcm -> enable_mask && (bcm -> vote_x [bucket ] || bcm -> vote_y [bucket ])) {
88
+ bcm -> vote_x [bucket ] = 0 ;
89
+ bcm -> vote_y [bucket ] = bcm -> enable_mask ;
90
+ }
86
91
}
87
92
88
93
if (bcm -> keepalive && bcm -> vote_x [QCOM_ICC_BUCKET_AMC ] == 0 &&
Original file line number Diff line number Diff line change @@ -81,6 +81,7 @@ struct qcom_icc_node {
81
81
* @vote_x: aggregated threshold values, represents sum_bw when @type is bw bcm
82
82
* @vote_y: aggregated threshold values, represents peak_bw when @type is bw bcm
83
83
* @vote_scale: scaling factor for vote_x and vote_y
84
+ * @enable_mask: optional mask to send as vote instead of vote_x/vote_y
84
85
* @dirty: flag used to indicate whether the bcm needs to be committed
85
86
* @keepalive: flag used to indicate whether a keepalive is required
86
87
* @aux_data: auxiliary data used when calculating threshold values and
@@ -97,6 +98,7 @@ struct qcom_icc_bcm {
97
98
u64 vote_x [QCOM_ICC_NUM_BUCKETS ];
98
99
u64 vote_y [QCOM_ICC_NUM_BUCKETS ];
99
100
u64 vote_scale ;
101
+ u32 enable_mask ;
100
102
bool dirty ;
101
103
bool keepalive ;
102
104
struct bcm_db aux_data ;
You can’t perform that action at this time.
0 commit comments