Răsfoiți Sursa

soc: rockchip: power-domain: Fix wrong value when power up pd with writemask

Solve the pd could only ever turn off but never turn them on again,
if the pd registers have the writemask bits.

So far this affects the rk3328 only.

Fixes: 79bb17ce8edb ("soc: rockchip: power-domain: Support domain control in hiword-registers")
Cc: stable@vger.kernel.org
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Finley Xiao 7 ani în urmă
părinte
comite
9e59c5f66c
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      drivers/soc/rockchip/pm_domains.c

+ 1 - 1
drivers/soc/rockchip/pm_domains.c

@@ -255,7 +255,7 @@ static void rockchip_do_pmu_set_power_domain(struct rockchip_pm_domain *pd,
 		return;
 		return;
 	else if (pd->info->pwr_w_mask)
 	else if (pd->info->pwr_w_mask)
 		regmap_write(pmu->regmap, pmu->info->pwr_offset,
 		regmap_write(pmu->regmap, pmu->info->pwr_offset,
-			     on ? pd->info->pwr_mask :
+			     on ? pd->info->pwr_w_mask :
 			     (pd->info->pwr_mask | pd->info->pwr_w_mask));
 			     (pd->info->pwr_mask | pd->info->pwr_w_mask));
 	else
 	else
 		regmap_update_bits(pmu->regmap, pmu->info->pwr_offset,
 		regmap_update_bits(pmu->regmap, pmu->info->pwr_offset,