|
@@ -1018,7 +1018,7 @@ isp_video_streamon(struct file *file, void *fh, enum v4l2_buf_type type)
|
|
|
|
|
|
pipe->entities = 0;
|
|
pipe->entities = 0;
|
|
|
|
|
|
- if (video->isp->pdata->set_constraints)
|
|
|
|
|
|
+ if (video->isp->pdata && video->isp->pdata->set_constraints)
|
|
video->isp->pdata->set_constraints(video->isp, true);
|
|
video->isp->pdata->set_constraints(video->isp, true);
|
|
pipe->l3_ick = clk_get_rate(video->isp->clock[ISP_CLK_L3_ICK]);
|
|
pipe->l3_ick = clk_get_rate(video->isp->clock[ISP_CLK_L3_ICK]);
|
|
pipe->max_rate = pipe->l3_ick;
|
|
pipe->max_rate = pipe->l3_ick;
|
|
@@ -1100,7 +1100,7 @@ err_set_stream:
|
|
err_check_format:
|
|
err_check_format:
|
|
media_entity_pipeline_stop(&video->video.entity);
|
|
media_entity_pipeline_stop(&video->video.entity);
|
|
err_pipeline_start:
|
|
err_pipeline_start:
|
|
- if (video->isp->pdata->set_constraints)
|
|
|
|
|
|
+ if (video->isp->pdata && video->isp->pdata->set_constraints)
|
|
video->isp->pdata->set_constraints(video->isp, false);
|
|
video->isp->pdata->set_constraints(video->isp, false);
|
|
/* The DMA queue must be emptied here, otherwise CCDC interrupts that
|
|
/* The DMA queue must be emptied here, otherwise CCDC interrupts that
|
|
* will get triggered the next time the CCDC is powered up will try to
|
|
* will get triggered the next time the CCDC is powered up will try to
|
|
@@ -1161,7 +1161,7 @@ isp_video_streamoff(struct file *file, void *fh, enum v4l2_buf_type type)
|
|
video->queue = NULL;
|
|
video->queue = NULL;
|
|
video->error = false;
|
|
video->error = false;
|
|
|
|
|
|
- if (video->isp->pdata->set_constraints)
|
|
|
|
|
|
+ if (video->isp->pdata && video->isp->pdata->set_constraints)
|
|
video->isp->pdata->set_constraints(video->isp, false);
|
|
video->isp->pdata->set_constraints(video->isp, false);
|
|
media_entity_pipeline_stop(&video->video.entity);
|
|
media_entity_pipeline_stop(&video->video.entity);
|
|
|
|
|