Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff0e43ed authored by Mayank Parashar's avatar Mayank Parashar Committed by Matt Wagantall
Browse files

msm: camera: add support to update sensor output format



Add support to get sensor output info as a part of
slave info.

Change-Id: I821c76d42fc91bcdd9b5f8df7f64a85f36fc4a51
Signed-off-by: default avatarMayank Parashar <mayankp@codeaurora.org>
parent 7b2ab880
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -637,6 +637,7 @@ int32_t msm_sensor_driver_probe(void *setting,
	struct msm_camera_slave_info        *camera_info = NULL;

	unsigned long                        mount_pos = 0;
	uint32_t                             is_yuv;

	/* Validate input parameters */
	if (!setting) {
@@ -708,6 +709,8 @@ int32_t msm_sensor_driver_probe(void *setting,
			slave_info32->sensor_init_params;
		slave_info->is_flash_supported =
			slave_info32->is_flash_supported;
		slave_info->output_format =
			slave_info32->output_format;
		kfree(slave_info32);
	} else
#endif
@@ -943,9 +946,12 @@ CSID_TG:
		goto free_camera_info;
	}
	/* Update sensor mount angle and position in media entity flag */
	mount_pos = s_ctrl->sensordata->sensor_info->position << 16;
	mount_pos = mount_pos | ((s_ctrl->sensordata->sensor_info->
		sensor_mount_angle / 90) << 8);
	is_yuv = (slave_info->output_format == MSM_SENSOR_YCBCR) ? 1 : 0;
	mount_pos = is_yuv << 25 |
		(s_ctrl->sensordata->sensor_info->position << 16) |
		((s_ctrl->sensordata->
		sensor_info->sensor_mount_angle / 90) << 8);

	s_ctrl->msm_sd.sd.entity.flags = mount_pos | MEDIA_ENT_FL_DEFAULT;

	/*Save sensor info*/
+1 −0
Original line number Diff line number Diff line
@@ -330,6 +330,7 @@ struct msm_camera_sensor_slave_info32 {
	uint8_t  is_init_params_valid;
	struct msm_sensor_init_params sensor_init_params;
	uint8_t is_flash_supported;
	enum msm_sensor_output_format_t output_format;
};

struct msm_camera_csid_lut_params32 {
+7 −0
Original line number Diff line number Diff line
@@ -177,6 +177,12 @@ enum msm_flash_cfg_type_t {
	CFG_FLASH_HIGH,
};

enum msm_sensor_output_format_t {
	MSM_SENSOR_BAYER,
	MSM_SENSOR_YCBCR,
	MSM_SENSOR_META,
};

struct msm_sensor_power_setting {
	enum msm_sensor_power_seq_type_t seq_type;
	unsigned short seq_val;
@@ -232,6 +238,7 @@ struct msm_camera_sensor_slave_info {
	unsigned char  is_init_params_valid;
	struct msm_sensor_init_params sensor_init_params;
	unsigned char is_flash_supported;
	enum msm_sensor_output_format_t output_format;
};

struct msm_camera_i2c_reg_array {