@@ -227,6 +227,31 @@ static struct rpmpd cx_s3a_vfl = {
227227 .key = KEY_FLOOR_LEVEL ,
228228};
229229
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+
230255/* G(F)X */
231256static struct rpmpd gfx_s2b_corner = {
232257 .pd = { .name = "gfx" , },
@@ -242,6 +267,20 @@ static struct rpmpd gfx_s2b_vfc = {
242267 .key = KEY_FLOOR_CORNER ,
243268};
244269
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+
245284static struct rpmpd mx_rwmx0_lvl ;
246285static struct rpmpd gx_rwgx0_lvl_ao ;
247286static struct rpmpd gx_rwgx0_lvl = {
@@ -664,6 +703,20 @@ static const struct rpmpd_desc msm8953_desc = {
664703 .max_state = RPM_SMD_LEVEL_TURBO ,
665704};
666705
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+
667720static struct rpmpd * msm8976_rpmpds [] = {
668721 [MSM8976_VDDCX ] = & cx_s2a_lvl ,
669722 [MSM8976_VDDCX_AO ] = & cx_s2a_lvl_ao ,
@@ -857,6 +910,7 @@ static const struct of_device_id rpmpd_match_table[] = {
857910 { .compatible = "qcom,msm8917-rpmpd" , .data = & msm8917_desc },
858911 { .compatible = "qcom,msm8939-rpmpd" , .data = & msm8939_desc },
859912 { .compatible = "qcom,msm8953-rpmpd" , .data = & msm8953_desc },
913+ { .compatible = "qcom,msm8974-rpmpd" , .data = & msm8974_desc },
860914 { .compatible = "qcom,msm8976-rpmpd" , .data = & msm8976_desc },
861915 { .compatible = "qcom,msm8994-rpmpd" , .data = & msm8994_desc },
862916 { .compatible = "qcom,msm8996-rpmpd" , .data = & msm8996_desc },
0 commit comments