media: i2c: adv748x: Implement get_mbus_config
Implement the newly introduced get_mbus_config operation to report the number of currently used data lanes on the MIPI CSI-2 interface. Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
		
							parent
							
								
									147d5ea15c
								
							
						
					
					
						commit
						a61b1b5d41
					
				| @ -214,9 +214,40 @@ unlock: | ||||
| 	return ret; | ||||
| } | ||||
| 
 | ||||
| static int adv748x_csi2_get_mbus_config(struct v4l2_subdev *sd, unsigned int pad, | ||||
| 					struct v4l2_mbus_config *config) | ||||
| { | ||||
| 	struct adv748x_csi2 *tx = adv748x_sd_to_csi2(sd); | ||||
| 
 | ||||
| 	if (pad != ADV748X_CSI2_SOURCE) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	config->type = V4L2_MBUS_CSI2_DPHY; | ||||
| 	switch (tx->active_lanes) { | ||||
| 	case 1: | ||||
| 		config->flags = V4L2_MBUS_CSI2_1_LANE; | ||||
| 		break; | ||||
| 
 | ||||
| 	case 2: | ||||
| 		config->flags = V4L2_MBUS_CSI2_2_LANE; | ||||
| 		break; | ||||
| 
 | ||||
| 	case 3: | ||||
| 		config->flags = V4L2_MBUS_CSI2_3_LANE; | ||||
| 		break; | ||||
| 
 | ||||
| 	case 4: | ||||
| 		config->flags = V4L2_MBUS_CSI2_4_LANE; | ||||
| 		break; | ||||
| 	} | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static const struct v4l2_subdev_pad_ops adv748x_csi2_pad_ops = { | ||||
| 	.get_fmt = adv748x_csi2_get_format, | ||||
| 	.set_fmt = adv748x_csi2_set_format, | ||||
| 	.get_mbus_config = adv748x_csi2_get_mbus_config, | ||||
| }; | ||||
| 
 | ||||
| /* -----------------------------------------------------------------------------
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user