mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
media: rockchip: isp: vicap->isp online set clk according to sensor rate
Change-Id: I28afea949121509221e2b4ef355455eefdf39dbb Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -174,7 +174,7 @@ static int __isp_pipeline_s_isp_clk(struct rkisp_pipeline *p)
|
||||
u64 data_rate;
|
||||
int i;
|
||||
|
||||
if (dev->isp_inp & (INP_RAWRD0 | INP_RAWRD1 | INP_RAWRD2 | INP_CIF)) {
|
||||
if (dev->isp_inp & (INP_RAWRD0 | INP_RAWRD1 | INP_RAWRD2)) {
|
||||
for (i = 0; i < hw_dev->num_clk_rate_tbl; i++) {
|
||||
if (w <= hw_dev->clk_rate_tbl[i].refer_data)
|
||||
break;
|
||||
@@ -191,11 +191,12 @@ static int __isp_pipeline_s_isp_clk(struct rkisp_pipeline *p)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* find the subdev of active sensor */
|
||||
/* find the subdev of active sensor or vicap itf */
|
||||
sd = p->subdevs[0];
|
||||
for (i = 0; i < p->num_subdevs; i++) {
|
||||
sd = p->subdevs[i];
|
||||
if (sd->entity.function == MEDIA_ENT_F_CAM_SENSOR)
|
||||
if (sd->entity.function == MEDIA_ENT_F_CAM_SENSOR ||
|
||||
sd->entity.function == MEDIA_ENT_F_PROC_VIDEO_COMPOSER)
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -230,7 +231,7 @@ end:
|
||||
rkisp_set_clk_rate(hw_dev->clks[0], hw_dev->clk_rate_tbl[i].clk_rate * 1000000UL);
|
||||
if (hw_dev->is_unite)
|
||||
rkisp_set_clk_rate(hw_dev->clks[5], hw_dev->clk_rate_tbl[i].clk_rate * 1000000UL);
|
||||
dev_dbg(hw_dev->dev, "set isp clk = %luHz\n", clk_get_rate(hw_dev->clks[0]));
|
||||
dev_info(hw_dev->dev, "set isp clk = %luHz\n", clk_get_rate(hw_dev->clks[0]));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user