media: rockchip: ispp: fix gain and sharp config

Increase gain size.
Disable sharp dma output if no using.

Change-Id: I0f5bd581bf39b88051b947a34f4ba90cdb789019
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2020-04-02 18:22:03 +08:00
committed by Tao Huang
parent 45731929c7
commit 03b7f09e8f
2 changed files with 6 additions and 5 deletions

View File

@@ -253,6 +253,8 @@ static int rkispp_sd_s_power(struct v4l2_subdev *sd, int on)
}
atomic_set(&ispp_sdev->frm_sync_seq, 0);
writel(0xfffffff, ispp_dev->base_addr + RKISPP_CTRL_INT_MSK);
writel(SW_SHP_DMA_DIS,
ispp_dev->base_addr + RKISPP_SHARP_CORE_CTRL);
if (ispp_dev->inp == INP_ISP) {
struct v4l2_subdev_format *fmt = &ispp_sdev->in_fmt;

View File

@@ -387,7 +387,7 @@ static int config_tnr(struct rkispp_device *dev)
if (fmt & FMT_FBC)
pic_size += w * h >> 4;
gain_size = ALIGN(width, 64) * ALIGN(height, 128) >> 5;
gain_size = ALIGN(width, 64) * ALIGN(height, 128) >> 4;
kg_size = gain_size * 4;
if (fmt & FMT_YUYV)
mult = 2;
@@ -562,7 +562,7 @@ static int config_nr_shp(struct rkispp_device *dev)
if (fmt & FMT_FBC)
pic_size += w * h >> 4;
gain_size = ALIGN(width, 64) * ALIGN(height, 128) >> 5;
gain_size = ALIGN(width, 64) * ALIGN(height, 128) >> 4;
if (fmt & FMT_YUYV)
mult = 2;
@@ -881,7 +881,8 @@ static void stop_mb(struct rkispp_stream *stream)
case ISPP_MODULE_NR:
case ISPP_MODULE_SHP:
rkispp_clear_bits(base + RKISPP_NR_UVNR_CTRL_PARA, SW_NR_EN);
rkispp_clear_bits(base + RKISPP_SHARP_CORE_CTRL, SW_SHP_EN);
rkispp_set_bits(base + RKISPP_SHARP_CORE_CTRL,
SW_SHP_DMA_DIS | SW_SHP_EN, SW_SHP_DMA_DIS);
break;
default:
rkispp_clear_bits(base + RKISPP_FEC_CORE_CTRL, SW_FEC_EN);
@@ -903,8 +904,6 @@ static int is_stopped_mb(struct rkispp_stream *stream)
case ISPP_MODULE_SHP:
en = SW_SHP_EN;
val = readl(base + RKISPP_SHARP_CORE_CTRL);
rkispp_set_bits(base + RKISPP_SHARP_CORE_CTRL,
0, SW_SHP_DMA_DIS);
break;
default:
en = SW_FEC_EN_SHD;