On 13.02.2023 15:35, Konrad Dybcio wrote: > The GPU core clock requires that both VDDGX and VDDMX domains are scaled > at the same rate at the same time (well, MX just before GX but you get > the idea). Set MX as parent of GX to take care of that. > > Suggested-by: Bjorn Andersson <andersson@xxxxxxxxxx> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > --- > drivers/soc/qcom/rpmpd.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/soc/qcom/rpmpd.c b/drivers/soc/qcom/rpmpd.c > index 2027c820caa7..2669c9210754 100644 > --- a/drivers/soc/qcom/rpmpd.c > +++ b/drivers/soc/qcom/rpmpd.c > @@ -216,11 +216,13 @@ static struct rpmpd gfx_s2b_vfc = { > .key = KEY_FLOOR_CORNER, > }; > > +static struct rpmpd mx_rwmx0_lvl; > static struct rpmpd gx_rwgx0_lvl_ao; > static struct rpmpd gx_rwgx0_lvl = { > .pd = { .name = "gx", }, > .peer = &gx_rwgx0_lvl_ao, > .res_type = RPMPD_RWGX, > + .parent = &mx_rwmx0_lvl.pd, > .res_id = 0, > .key = KEY_LEVEL, > }; > @@ -228,6 +230,7 @@ static struct rpmpd gx_rwgx0_lvl = { > static struct rpmpd gx_rwgx0_lvl_ao = { > .pd = { .name = "gx_ao", }, > .peer = &gx_rwgx0_lvl, > + .parent = &mx_rwmx0_lvl.pd, This should have been mx_rwmx0_lvl_ao.pd. Konrad > .active_only = true, > .res_type = RPMPD_RWGX, > .res_id = 0,