msm: camera: sensor: Add changes to prevent unmap buffers
The function cam_mem_mgr_release can unmap buffers when in use. This change with cam_mem_put_cpu_buf prevents unmaping the buffers in use. CRs-Fixed: 3489559 Change-Id: I3a0d7ee0d3e86a2a315bc44e15ca298e71d62ffd Signed-off-by: illa lakshmi soujanya <quic_illa@quicinc.com>
This commit is contained in:

gecommit door
Camera Software Integration

bovenliggende
de76f19956
commit
1c59934ed7
@@ -590,6 +590,7 @@ int32_t cam_actuator_i2c_pkt_parse(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
}
|
||||
break;
|
||||
}
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
}
|
||||
|
||||
if (a_ctrl->cam_act_state == CAM_ACTUATOR_ACQUIRE) {
|
||||
@@ -793,6 +794,7 @@ int32_t cam_actuator_i2c_pkt_parse(struct cam_actuator_ctrl_t *a_ctrl,
|
||||
}
|
||||
|
||||
end:
|
||||
cam_mem_put_cpu_buf(config.packet_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@@ -778,10 +778,12 @@ static int __cam_csiphy_parse_lane_info_cmd_buf(
|
||||
csiphy_dev->csiphy_info[index].settle_time,
|
||||
csiphy_dev->csiphy_info[index].data_rate);
|
||||
|
||||
cam_mem_put_cpu_buf(cmd_desc->mem_handle);
|
||||
return rc;
|
||||
|
||||
reset_settings:
|
||||
cam_csiphy_reset_phyconfig_param(csiphy_dev, index);
|
||||
cam_mem_put_cpu_buf(cmd_desc->mem_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -970,7 +972,7 @@ int32_t cam_cmd_buf_parser(struct csiphy_device *csiphy_dev,
|
||||
if (rc)
|
||||
break;
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(cfg_dev->packet_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@@ -897,9 +897,11 @@ static int32_t cam_eeprom_parse_write_memory_packet(
|
||||
break;
|
||||
}
|
||||
}
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
}
|
||||
|
||||
return rc;
|
||||
end:
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -1055,9 +1057,12 @@ static int32_t cam_eeprom_init_pkt_parser(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
}
|
||||
}
|
||||
e_ctrl->cal_data.num_map = num_map + 1;
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
}
|
||||
return rc;
|
||||
|
||||
end:
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -1127,6 +1132,7 @@ static int32_t cam_eeprom_get_cal_data(struct cam_eeprom_ctrl_t *e_ctrl,
|
||||
e_ctrl->cal_data.num_data);
|
||||
memcpy(read_buffer, e_ctrl->cal_data.mapdata,
|
||||
e_ctrl->cal_data.num_data);
|
||||
cam_mem_put_cpu_buf(io_cfg->mem_handle[0]);
|
||||
} else {
|
||||
CAM_ERR(CAM_EEPROM, "Invalid direction");
|
||||
rc = -EINVAL;
|
||||
@@ -1380,7 +1386,7 @@ static int32_t cam_eeprom_pkt_parse(struct cam_eeprom_ctrl_t *e_ctrl, void *arg)
|
||||
rc = -EINVAL;
|
||||
break;
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(dev_config.packet_handle);
|
||||
return rc;
|
||||
power_down:
|
||||
cam_eeprom_power_down(e_ctrl);
|
||||
|
@@ -1093,6 +1093,7 @@ int cam_flash_i2c_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
}
|
||||
break;
|
||||
}
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
}
|
||||
power_info = &fctrl->power_info;
|
||||
if (!power_info) {
|
||||
@@ -1257,6 +1258,8 @@ update_req_mgr:
|
||||
add_req.req_id, add_req.trigger_eof);
|
||||
}
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(config.packet_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -1432,6 +1435,8 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
rc = -EINVAL;
|
||||
return rc;
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(cmd_desc->mem_handle);
|
||||
break;
|
||||
}
|
||||
case CAM_FLASH_PACKET_OPCODE_SET_OPS: {
|
||||
@@ -1539,6 +1544,8 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
rc = -EINVAL;
|
||||
return rc;
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(cmd_desc->mem_handle);
|
||||
break;
|
||||
}
|
||||
case CAM_FLASH_PACKET_OPCODE_NON_REALTIME_SET_OPS: {
|
||||
@@ -1685,6 +1692,7 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
return rc;
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(cmd_desc->mem_handle);
|
||||
break;
|
||||
}
|
||||
case CAM_PKT_NOP_OPCODE: {
|
||||
@@ -1752,6 +1760,7 @@ int cam_flash_pmic_pkt_parser(struct cam_flash_ctrl *fctrl, void *arg)
|
||||
}
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(config.packet_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@@ -1221,6 +1221,7 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg)
|
||||
}
|
||||
break;
|
||||
}
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
}
|
||||
|
||||
if (o_ctrl->cam_ois_state != CAM_OIS_CONFIG) {
|
||||
@@ -1522,6 +1523,7 @@ static int cam_ois_pkt_parse(struct cam_ois_ctrl_t *o_ctrl, void *arg)
|
||||
(csl_packet->header.op_code & 0xFFFFFF));
|
||||
return -EINVAL;
|
||||
}
|
||||
cam_mem_put_cpu_buf(dev_config.packet_handle);
|
||||
|
||||
if (!rc)
|
||||
return rc;
|
||||
|
@@ -554,6 +554,7 @@ static int32_t cam_sensor_pkt_parse(struct cam_sensor_ctrl_t *s_ctrl,
|
||||
}
|
||||
|
||||
end:
|
||||
cam_mem_put_cpu_buf(config.packet_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -881,9 +882,11 @@ int32_t cam_handle_mem_ptr(uint64_t handle, uint32_t cmd,
|
||||
"Failed to parse the command Buffer Header");
|
||||
goto end;
|
||||
}
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
}
|
||||
|
||||
end:
|
||||
cam_mem_put_cpu_buf(handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@@ -396,6 +396,8 @@ static int32_t cam_sensor_get_io_buffer(
|
||||
io_cfg->direction);
|
||||
rc = -EINVAL;
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(io_cfg->mem_handle[0]);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -447,6 +449,8 @@ int32_t cam_sensor_util_write_qtimer_to_io_buffer(
|
||||
io_cfg->direction);
|
||||
rc = -EINVAL;
|
||||
}
|
||||
|
||||
cam_mem_put_cpu_buf(io_cfg->mem_handle[0]);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -900,9 +904,13 @@ int cam_sensor_i2c_command_parser(
|
||||
}
|
||||
}
|
||||
i2c_reg_settings->is_settings_valid = 1;
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
}
|
||||
|
||||
return rc;
|
||||
|
||||
end:
|
||||
cam_mem_put_cpu_buf(cmd_desc[i].mem_handle);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
Verwijs in nieuw issue
Block a user