@@ -227,6 +227,31 @@ static struct rpmpd cx_s3a_vfl = {
227
227
.key = KEY_FLOOR_LEVEL ,
228
228
};
229
229
230
+ static struct rpmpd cx_s2b_corner_ao ;
231
+ static struct rpmpd cx_s2b_corner = {
232
+ .pd = { .name = "cx" , },
233
+ .peer = & cx_s2b_corner_ao ,
234
+ .res_type = RPMPD_SMPB ,
235
+ .res_id = 2 ,
236
+ .key = KEY_CORNER ,
237
+ };
238
+
239
+ static struct rpmpd cx_s2b_corner_ao = {
240
+ .pd = { .name = "cx_ao" , },
241
+ .peer = & cx_s2b_corner ,
242
+ .active_only = true,
243
+ .res_type = RPMPD_SMPB ,
244
+ .res_id = 2 ,
245
+ .key = KEY_CORNER ,
246
+ };
247
+
248
+ static struct rpmpd cx_s2b_vfc = {
249
+ .pd = { .name = "cx_vfc" , },
250
+ .res_type = RPMPD_SMPB ,
251
+ .res_id = 2 ,
252
+ .key = KEY_FLOOR_CORNER ,
253
+ };
254
+
230
255
/* G(F)X */
231
256
static struct rpmpd gfx_s2b_corner = {
232
257
.pd = { .name = "gfx" , },
@@ -242,6 +267,20 @@ static struct rpmpd gfx_s2b_vfc = {
242
267
.key = KEY_FLOOR_CORNER ,
243
268
};
244
269
270
+ static struct rpmpd gfx_s4b_corner = {
271
+ .pd = { .name = "gfx" , },
272
+ .res_type = RPMPD_SMPB ,
273
+ .res_id = 4 ,
274
+ .key = KEY_CORNER ,
275
+ };
276
+
277
+ static struct rpmpd gfx_s4b_vfc = {
278
+ .pd = { .name = "gfx_vfc" , },
279
+ .res_type = RPMPD_SMPB ,
280
+ .res_id = 4 ,
281
+ .key = KEY_FLOOR_CORNER ,
282
+ };
283
+
245
284
static struct rpmpd mx_rwmx0_lvl ;
246
285
static struct rpmpd gx_rwgx0_lvl_ao ;
247
286
static struct rpmpd gx_rwgx0_lvl = {
@@ -664,6 +703,20 @@ static const struct rpmpd_desc msm8953_desc = {
664
703
.max_state = RPM_SMD_LEVEL_TURBO ,
665
704
};
666
705
706
+ static struct rpmpd * msm8974_rpmpds [] = {
707
+ [MSM8974_VDDCX ] = & cx_s2b_corner ,
708
+ [MSM8974_VDDCX_AO ] = & cx_s2b_corner_ao ,
709
+ [MSM8974_VDDCX_VFC ] = & cx_s2b_vfc ,
710
+ [MSM8974_VDDGFX ] = & gfx_s4b_corner ,
711
+ [MSM8974_VDDGFX_VFC ] = & gfx_s4b_vfc ,
712
+ };
713
+
714
+ static const struct rpmpd_desc msm8974_desc = {
715
+ .rpmpds = msm8974_rpmpds ,
716
+ .num_pds = ARRAY_SIZE (msm8974_rpmpds ),
717
+ .max_state = MAX_CORNER_RPMPD_STATE ,
718
+ };
719
+
667
720
static struct rpmpd * msm8976_rpmpds [] = {
668
721
[MSM8976_VDDCX ] = & cx_s2a_lvl ,
669
722
[MSM8976_VDDCX_AO ] = & cx_s2a_lvl_ao ,
@@ -857,6 +910,7 @@ static const struct of_device_id rpmpd_match_table[] = {
857
910
{ .compatible = "qcom,msm8917-rpmpd" , .data = & msm8917_desc },
858
911
{ .compatible = "qcom,msm8939-rpmpd" , .data = & msm8939_desc },
859
912
{ .compatible = "qcom,msm8953-rpmpd" , .data = & msm8953_desc },
913
+ { .compatible = "qcom,msm8974-rpmpd" , .data = & msm8974_desc },
860
914
{ .compatible = "qcom,msm8976-rpmpd" , .data = & msm8976_desc },
861
915
{ .compatible = "qcom,msm8994-rpmpd" , .data = & msm8994_desc },
862
916
{ .compatible = "qcom,msm8996-rpmpd" , .data = & msm8996_desc },
0 commit comments