hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/media/platform/rockchip/isp/common.c
....@@ -6,6 +6,7 @@
66 #include <linux/of_platform.h>
77 #include <linux/slab.h>
88 #include "dev.h"
9
+#include "hw.h"
910 #include "isp_ispp.h"
1011 #include "regs.h"
1112
....@@ -36,6 +37,8 @@
3637 *flag = SW_REG_CACHE;
3738 if (dev->hw_dev->is_single || is_direct) {
3839 *flag = SW_REG_CACHE_SYNC;
40
+ if (dev->hw_dev->unite == ISP_UNITE_ONE)
41
+ return;
3942 writel(val, dev->hw_dev->base_next_addr + reg);
4043 }
4144 }
....@@ -166,13 +169,16 @@
166169 continue;
167170 }
168171
172
+ if (hw->unite == ISP_UNITE_ONE && dev->unite_index == ISP_UNITE_RIGHT)
173
+ val = dev->sw_base_addr + i + RKISP_ISP_SW_MAX_SIZE;
174
+
169175 if (*flag == SW_REG_CACHE) {
170176 if ((i == ISP3X_MAIN_RESIZE_CTRL ||
171177 i == ISP32_BP_RESIZE_CTRL ||
172178 i == ISP3X_SELF_RESIZE_CTRL) && *val == 0)
173179 *val = CIF_RSZ_CTRL_CFG_UPD;
174180 writel(*val, base + i);
175
- if (hw->is_unite) {
181
+ if (hw->unite == ISP_UNITE_TWO) {
176182 val = dev->sw_base_addr + i + RKISP_ISP_SW_MAX_SIZE;
177183 if ((i == ISP3X_MAIN_RESIZE_CTRL ||
178184 i == ISP32_BP_RESIZE_CTRL ||