soc: rockchip: power-domain: Fix panic when reset memory domain

rockchip-pm-domain fd8d8000.power-management:power-controller: failed to get mem status 'venc0', target_on=0, val=1
Kernel panic - not syncing: panic_on_set_domain set ...
CPU: 7 PID: 1 Comm: swapper/0 Not tainted 5.10.66 #1598
Hardware name: Rockchip RK3588 EVB1 LP4 V10 Board (DT)
Call trace:
 dump_backtrace+0x0/0x1c8
 show_stack+0x1c/0x2c
 dump_stack_lvl+0xdc/0x12c
 dump_stack+0x1c/0x64
 panic+0x150/0x3a4
 rockchip_do_pmu_set_power_domain+0x39c/0x3a0
 rockchip_pd_power+0xcc/0x1bc
 rockchip_pd_power_on+0x28/0x38
 genpd_power_on+0x104/0x294
 __genpd_dev_pm_attach+0x138/0x1f0
 genpd_dev_pm_attach+0x50/0x6c
 dev_pm_domain_attach+0x24/0x38
 platform_drv_probe+0x3c/0xc4
 really_probe+0x204/0x510
 driver_probe_device+0x80/0xc0
 device_driver_attach+0x70/0xb4
 __driver_attach+0xc8/0x150
 bus_for_each_dev+0x80/0xd0
 driver_attach+0x28/0x38
 bus_add_driver+0x108/0x1e8
 driver_register+0x7c/0x118
 __platform_driver_register+0x48/0x58
 rk_iommu_init+0x20/0x30
 do_one_initcall+0x98/0x2dc
 do_initcall_level+0xa8/0x160
 do_initcalls+0x58/0x9c
 do_basic_setup+0x28/0x38
 kernel_init_freeable+0xf4/0x16c
 kernel_init+0x18/0x190
 ret_from_fork+0x10/0x30

Fixes: 69b9adc8ad ("soc: rockchip: power-domain: fix panic when pd power on for rk3588")
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: Idc22efbd87cbc0cd694720bfb48373c81c5d8c83
This commit is contained in:
Finley Xiao
2022-06-15 09:35:26 +08:00
parent c037294fbd
commit 8729c661d5

View File

@@ -519,6 +519,8 @@ static int rockchip_pmu_domain_mem_reset(struct rockchip_pm_domain *pd)
goto error;
}
udelay(20);
regmap_write(pmu->regmap, pmu->info->mem_pwr_offset + pd->info->pwr_offset,
(pd->info->pwr_mask | pd->info->pwr_w_mask));
dsb(sy);