media: rockchip: isp: sync dev register and fast_work

Change-Id: I36617e8c8e277f5616a139fec970fcdedf17256a
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2023-03-30 10:53:06 +08:00
committed by cain.cai
parent d7fed91daa
commit ebc5802918
3 changed files with 15 additions and 4 deletions

View File

@@ -188,8 +188,9 @@ static int __isp_pipeline_s_isp_clk(struct rkisp_pipeline *p)
return 0;
}
if (dev->isp_inp & (INP_RAWRD0 | INP_RAWRD1 | INP_RAWRD2)) {
if (dev->isp_ver < ISP_V30) {
if (dev->isp_inp & (INP_RAWRD0 | INP_RAWRD1 | INP_RAWRD2) ||
(dev->is_pre_on && hw_dev->dev_num > 1)) {
if (dev->isp_ver < ISP_V30 || dev->is_pre_on) {
/* isp with mipi no support dvfs, calculate max data rate */
for (i = 0; i < hw_dev->dev_num; i++) {
fps = hw_dev->isp_size[i].fps;

View File

@@ -1088,7 +1088,7 @@ static int __maybe_unused rkisp_runtime_resume(struct device *dev)
enable_sys_clk(hw_dev);
for (i = 0; i < hw_dev->dev_num; i++) {
isp = hw_dev->isp[i];
if (!isp)
if (!isp || !isp->sw_base_addr)
continue;
buf = isp->sw_base_addr;
memset(buf, 0, RKISP_ISP_SW_MAX_SIZE * mult);

View File

@@ -3813,7 +3813,17 @@ void rkisp_chk_tb_over(struct rkisp_device *isp_dev)
} else {
struct rkisp_isp_params_vdev *params_vdev = &isp_dev->params_vdev;
void *param = NULL;
u32 size = 0, offset = 0;
u32 size = 0, offset = 0, timeout = 50;
/* wait for all isp dev to register */
if (head->camera_num > 1) {
while (timeout--) {
if (hw->dev_num >= head->camera_num &&
hw->isp[hw->dev_num - 1]->is_probe_end)
break;
usleep_range(200, 210);
}
}
switch (isp_dev->isp_ver) {
case ISP_V32: