diff --git a/drivers/soc/rockchip/pm_domains.c b/drivers/soc/rockchip/pm_domains.c index 7832dc3f17a9..b5ed7a16e3d3 100644 --- a/drivers/soc/rockchip/pm_domains.c +++ b/drivers/soc/rockchip/pm_domains.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -631,6 +632,11 @@ static int rockchip_pd_power(struct rockchip_pm_domain *pd, bool power_on) if (pm_domain_always_on && !power_on) return 0; + if (!power_on && soc_is_px30s()) { + if (genpd->name && !strcmp(genpd->name, "pd_gpu")) + return 0; + } + rockchip_pmu_lock(pd); if (rockchip_pmu_domain_is_on(pd) != power_on) {