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:
illa lakshmi soujanya
2023-06-12 16:56:28 +05:30
gecommit door Camera Software Integration
bovenliggende de76f19956
commit 1c59934ed7
7 gewijzigde bestanden met toevoegingen van 35 en 3 verwijderingen

Bestand weergeven

@@ -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;
}

Bestand weergeven

@@ -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;
}

Bestand weergeven

@@ -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);

Bestand weergeven

@@ -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;
}

Bestand weergeven

@@ -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;

Bestand weergeven

@@ -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;
}

Bestand weergeven

@@ -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;
}