forked from mirrors/linux
		
	media: ov5640: do not change mode if format or frame interval is unchanged
Save load of mode registers array when V4L2 client sets a format or a frame interval which selects the same mode than the current one. Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
		
							parent
							
								
									b5f6ec535f
								
							
						
					
					
						commit
						6949d86477
					
				
					 1 changed files with 9 additions and 5 deletions
				
			
		|  | @ -1966,9 +1966,11 @@ static int ov5640_set_fmt(struct v4l2_subdev *sd, | |||
| 		goto out; | ||||
| 	} | ||||
| 
 | ||||
| 	sensor->current_mode = new_mode; | ||||
| 	sensor->fmt = *mbus_fmt; | ||||
| 	sensor->pending_mode_change = true; | ||||
| 	if (new_mode != sensor->current_mode) { | ||||
| 		sensor->current_mode = new_mode; | ||||
| 		sensor->fmt = *mbus_fmt; | ||||
| 		sensor->pending_mode_change = true; | ||||
| 	} | ||||
| out: | ||||
| 	mutex_unlock(&sensor->lock); | ||||
| 	return ret; | ||||
|  | @ -2508,8 +2510,10 @@ static int ov5640_s_frame_interval(struct v4l2_subdev *sd, | |||
| 		goto out; | ||||
| 	} | ||||
| 
 | ||||
| 	sensor->current_mode = mode; | ||||
| 	sensor->pending_mode_change = true; | ||||
| 	if (mode != sensor->current_mode) { | ||||
| 		sensor->current_mode = mode; | ||||
| 		sensor->pending_mode_change = true; | ||||
| 	} | ||||
| out: | ||||
| 	mutex_unlock(&sensor->lock); | ||||
| 	return ret; | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Hugues Fruchet
						Hugues Fruchet