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

Commit 7b4f965f authored by junwen.ye's avatar junwen.ye Committed by Rohit Sekhar
Browse files

[FP4T-955]Distinguish between algorithms and MMI-test

Description
ois_reg is used for MMI,ois_gain_get will be used for algo.

Change-Id: Ia7ae3be5da63ff7858e3d46bea394686a692f731
(cherry picked from commit b3b64b79532e8489f8a444a9d3ecec9486159e9a)
parent cba8d902
Loading
Loading
Loading
Loading
+50 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ static int32_t gyro_offset_Y = 0;
static int32_t gyro_offset_X_check = -1;
static int32_t gyro_offset_Y_check = -1;
static int32_t ois_reg_value = -1;

static int32_t ois_gain_get_value = -1;

static int calibration_status = 0;
static int ois_status = 0;
@@ -1426,6 +1426,52 @@ static int cam_cml_ois_fw_upgrade(struct cam_ois_ctrl_t *o_ctrl)
    return rc;
}

ssize_t ois_gain_get_show(struct device *dev, struct device_attribute *attr, char *buf){

	return sprintf(buf, "0x%x\n", ois_gain_get_value);

}

ssize_t ois_gain_get_store(struct device *dev,  struct device_attribute *attr, const char *buf, size_t count){

	struct cam_ois_ctrl_t *o_ctrl = NULL;
	char cmd_buf[32];
	uint32_t cmd_adress=0,cmd_data=0,read_data=0;
	char flag;
	int rc = 0;

	struct platform_device *pdev = container_of(dev, struct platform_device, dev);
	memset(cmd_buf,0,32);
	o_ctrl = platform_get_drvdata(pdev);

	if (!o_ctrl) {
		CAM_ERR(CAM_OIS, "Invalid Args");
		return count;
	}

	//cpy user cmd to kernel 0x:0x:r/w
	strcpy(cmd_buf,buf);
	sscanf(cmd_buf,"%x:%x:%c",&cmd_adress,&cmd_data,&flag);

	if (flag == 'r' && cmd_data == 0x0)
	{
		mdelay(50);
		rc = camera_io_dev_read(&(o_ctrl->io_master_info),cmd_adress,&read_data,CAMERA_SENSOR_I2C_TYPE_WORD,CAMERA_SENSOR_I2C_TYPE_WORD);
		if (rc < 0)
		{
			CAM_ERR(CAM_OIS, "read %x  failed: %d",cmd_adress,rc);
		}
		else
		{
			CAM_DBG(CAM_OIS,"read %x -> 0x%x",cmd_adress,read_data);
			ois_gain_get_value = read_data;
		}
		mdelay(50);
	}

	return count;
}


ssize_t ois_reg_show(struct device *dev, struct device_attribute *attr, char *buf){
	
@@ -1569,6 +1615,9 @@ ssize_t ois_reg_store(struct device *dev, struct device_attribute *attr, const
		}
	}

	cma_release(dev_get_cma_area((o_ctrl->soc_info.dev)),	page, fw_size);
	page = NULL;

	return count;
}

+2 −0
Original line number Diff line number Diff line
@@ -38,6 +38,8 @@ ssize_t ois_status_show(struct device *dev, struct device_attribute *attr, char
ssize_t ois_status_store(struct device *dev,  struct device_attribute *attr, const char *buf, size_t count);
ssize_t ois_reg_show(struct device *dev, struct device_attribute *attr, char *buf);
ssize_t ois_reg_store(struct device *dev,  struct device_attribute *attr, const char *buf, size_t count);
ssize_t ois_gain_get_show(struct device *dev, struct device_attribute *attr, char *buf);
ssize_t ois_gain_get_store(struct device *dev,  struct device_attribute *attr, const char *buf, size_t count);
ssize_t ois_init_before_sr_test_show(struct device *dev, struct device_attribute *attr, char *buf);
ssize_t ois_init_before_sr_test_store(struct device *dev,  struct device_attribute *attr, const char *buf, size_t count);
ssize_t ois_gain_set_store(struct device *dev,  struct device_attribute *attr, const char *buf, size_t count);
+3 −0
Original line number Diff line number Diff line
@@ -185,6 +185,7 @@ static int cam_ois_init_subdev_param(struct cam_ois_ctrl_t *o_ctrl)
DEVICE_ATTR(ois_gyro_cali_data, 0664, ois_gyro_cali_data_show, ois_gyro_cali_data_store);
DEVICE_ATTR(ois_status, 0664, ois_status_show, ois_status_store);
DEVICE_ATTR(ois_reg, 0664, ois_reg_show, ois_reg_store);
DEVICE_ATTR(ois_gain_get, 0664, ois_gain_get_show, ois_gain_get_store);
DEVICE_ATTR(ois_init_before_sr_test, 0664, ois_init_before_sr_test_show, ois_init_before_sr_test_store);
DEVICE_ATTR(ois_gain_set, 0664, ois_gain_set_show, ois_gain_set_store);

@@ -525,6 +526,7 @@ static int32_t cam_ois_platform_driver_probe(
	if ((device_create_file(&pdev->dev, &dev_attr_ois_gyro_cali_data)) ||
		(device_create_file(&pdev->dev, &dev_attr_ois_status))			||
		(device_create_file(&pdev->dev, &dev_attr_ois_reg))				||
		(device_create_file(&pdev->dev, &dev_attr_ois_gain_get))				||
		(device_create_file(&pdev->dev, &dev_attr_ois_gain_set))			||
		(device_create_file(&pdev->dev, &dev_attr_ois_init_before_sr_test)))
	{
@@ -576,6 +578,7 @@ static int cam_ois_platform_driver_remove(struct platform_device *pdev)
	device_remove_file(&pdev->dev, &dev_attr_ois_gyro_cali_data);
	device_remove_file(&pdev->dev, &dev_attr_ois_status);
	device_remove_file(&pdev->dev, &dev_attr_ois_reg);
	device_remove_file(&pdev->dev, &dev_attr_ois_gain_get);
	device_remove_file(&pdev->dev, &dev_attr_ois_gain_set);
	device_remove_file(&pdev->dev, &dev_attr_ois_init_before_sr_test);
	CAM_ERR(CAM_OIS, " device_remove_file node");