mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
media: rockchip: isp: fix size for multi isp composite mode
Change-Id: I18dd3c58e043246a4899e0388c8289f093290577 Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -3854,7 +3854,7 @@ multi_overflow:
|
||||
*
|
||||
* case1: bigmode special reg cfg
|
||||
* _________ max width:4096
|
||||
* | sensor0 | max size:1920*1080*2 mode=0 index=0
|
||||
* | sensor0 | max size:3840*2160 mode=0 index=0
|
||||
* |_________|
|
||||
* |_sensor1_| max size:1920*1080 mode=2 index=2
|
||||
* |_sensor2_| max size:1920*1080 mode=2 index=3
|
||||
@@ -3874,7 +3874,7 @@ multi_overflow:
|
||||
if (k) {
|
||||
is_bigmode = true;
|
||||
if (k != 1 ||
|
||||
(hw->isp_size[idx1[0]].size > ISP21_VIR4_MAX_SIZE * 2)) {
|
||||
(hw->isp_size[idx1[0]].size > ISP21_VIR2_MAX_SIZE)) {
|
||||
dev_warn(dev, "isp%d %dx%d over three vir isp max:1920x1080\n",
|
||||
idx1[0], hw->isp_size[idx1[0]].h, hw->isp_size[idx1[0]].w);
|
||||
hw->is_multi_overflow = true;
|
||||
@@ -3908,8 +3908,8 @@ multi_overflow:
|
||||
*
|
||||
* case1: bigmode special reg cfg
|
||||
* _________ max width:4096
|
||||
* | sensor0 | max size:1920*1080*3 mode=0 index=0
|
||||
* | |
|
||||
* | sensor0 | max size: mode=0 index=0
|
||||
* | | 3840*2160+1920*1080
|
||||
* |_________|
|
||||
* |_sensor1_| max size:1920*1080 mode=2 index=3
|
||||
* max width:1920
|
||||
@@ -3932,7 +3932,7 @@ multi_overflow:
|
||||
if (k) {
|
||||
is_bigmode = true;
|
||||
if (k == 2 || j ||
|
||||
hw->isp_size[idx1[k - 1]].size > ISP21_VIR4_MAX_SIZE * 3) {
|
||||
hw->isp_size[idx1[k - 1]].size > (ISP21_VIR4_MAX_SIZE + ISP21_VIR2_MAX_SIZE)) {
|
||||
dev_warn(dev, "isp%d %dx%d over two vir isp max:3840x2160\n",
|
||||
idx1[k - 1], hw->isp_size[idx1[k - 1]].w, hw->isp_size[idx1[k - 1]].h);
|
||||
hw->is_multi_overflow = true;
|
||||
|
||||
@@ -4238,7 +4238,7 @@ multi_overflow:
|
||||
*
|
||||
* case1: bigmode special reg cfg
|
||||
* _________ max width:3072
|
||||
* | sensor0 | max size:1280*800*2 mode=0 index=0
|
||||
* | sensor0 | max size:1920*1080 mode=0 index=0
|
||||
* |_________|
|
||||
* |_sensor1_| max size:1280*800 mode=2 index=2
|
||||
* |_sensor2_| max size:1280*800 mode=2 index=3
|
||||
@@ -4258,7 +4258,7 @@ multi_overflow:
|
||||
if (k) {
|
||||
is_bigmode = true;
|
||||
if (k != 1 ||
|
||||
(hw->isp_size[idx1[0]].size > ISP32_VIR4_MAX_SIZE * 2)) {
|
||||
(hw->isp_size[idx1[0]].size > ISP32_VIR2_MAX_SIZE)) {
|
||||
dev_warn(dev, "isp%d %dx%d over three vir isp max:1280x800\n",
|
||||
idx1[0], hw->isp_size[idx1[0]].w, hw->isp_size[idx1[0]].h);
|
||||
hw->is_multi_overflow = true;
|
||||
@@ -4284,16 +4284,16 @@ multi_overflow:
|
||||
ispdev->multi_index = ispdev->dev_id;
|
||||
ispdev->multi_mode = 1;
|
||||
/* case0: bigmode nobigmode
|
||||
* _________ max width:1920 max width:1920
|
||||
* | sensor0 | max size:1920*1080 max size:1920*1080
|
||||
* _________ max width:1920 max width:960
|
||||
* | sensor0 | max size:1920*1080 max size:960*540
|
||||
* |_________|
|
||||
* | sensor1 | max size:1920*1080 max size:1920*1080
|
||||
* | sensor1 | max size:1920*1080 max size:960*540
|
||||
* |_________|
|
||||
*
|
||||
* case1: bigmode special reg cfg
|
||||
* _________ max width:3072
|
||||
* | sensor0 | max size:1280*800*3 mode=0 index=0
|
||||
* | |
|
||||
* | sensor0 | max size: mode=0 index=0
|
||||
* | | 1920*1080+1280*800
|
||||
* |_________|
|
||||
* |_sensor1_| max size:1280*800 mode=2 index=3
|
||||
* max width:1280
|
||||
@@ -4316,7 +4316,7 @@ multi_overflow:
|
||||
if (k) {
|
||||
is_bigmode = true;
|
||||
if (k == 2 || j ||
|
||||
hw->isp_size[idx1[k - 1]].size > ISP32_VIR4_MAX_SIZE * 3) {
|
||||
hw->isp_size[idx1[k - 1]].size > (ISP32_VIR4_MAX_SIZE + ISP32_VIR2_MAX_SIZE)) {
|
||||
dev_warn(dev, "isp%d %dx%d over two vir isp max:1920x1080\n",
|
||||
idx1[k - 1], hw->isp_size[idx1[k - 1]].w, hw->isp_size[idx1[k - 1]].h);
|
||||
hw->is_multi_overflow = true;
|
||||
|
||||
@@ -4272,7 +4272,7 @@ multi_overflow:
|
||||
*
|
||||
* case1: bigmode special reg cfg
|
||||
* _________ max width:4672
|
||||
* | sensor0 | max size:2560*1536*2 mode=0 index=0
|
||||
* | sensor0 | max size:3840*2160 mode=0 index=0
|
||||
* |_________|
|
||||
* |_sensor1_| max size:2560*1536 mode=2 index=2
|
||||
* |_sensor2_| max size:2560*1536 mode=2 index=3
|
||||
@@ -4292,7 +4292,7 @@ multi_overflow:
|
||||
if (k) {
|
||||
is_bigmode = true;
|
||||
if (k != 1 ||
|
||||
(hw->isp_size[idx1[0]].size > ISP3X_VIR4_MAX_SIZE * 2)) {
|
||||
(hw->isp_size[idx1[0]].size > ISP3X_VIR2_MAX_SIZE)) {
|
||||
dev_warn(dev, "isp%d %dx%d over three vir isp max:%dx1536\n",
|
||||
idx1[0], hw->isp_size[idx1[0]].w, hw->isp_size[idx1[0]].h,
|
||||
hw->is_unite ? (2560 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 2560);
|
||||
@@ -4327,8 +4327,8 @@ multi_overflow:
|
||||
*
|
||||
* case1: bigmode special reg cfg
|
||||
* _________ max width:4672
|
||||
* | sensor0 | max size:2560*2160*3 mode=0 index=0
|
||||
* | |
|
||||
* | sensor0 | max size: mode=0 index=0
|
||||
* | | 3840*2160+2560*2160
|
||||
* |_________|
|
||||
* |_sensor1_| max size:2560*1536 mode=2 index=3
|
||||
* max width:2560
|
||||
@@ -4351,7 +4351,7 @@ multi_overflow:
|
||||
if (k) {
|
||||
is_bigmode = true;
|
||||
if (k == 2 || j ||
|
||||
hw->isp_size[idx1[k - 1]].size > ISP3X_VIR4_MAX_SIZE * 3) {
|
||||
hw->isp_size[idx1[k - 1]].size > (ISP3X_VIR4_MAX_SIZE + ISP3X_VIR2_MAX_SIZE)) {
|
||||
dev_warn(dev, "isp%d %dx%d over two vir isp max:%dx2160\n",
|
||||
idx1[k - 1], hw->isp_size[idx1[k - 1]].w, hw->isp_size[idx1[k - 1]].h,
|
||||
hw->is_unite ? (3840 - RKMOUDLE_UNITE_EXTEND_PIXEL) * 2 : 3840);
|
||||
|
||||
Reference in New Issue
Block a user