Merge tag 'LA.UM.9.14.r1-22400-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/camera-kernel into android13-5.4-lahaina
"LA.UM.9.14.r1-22400-LAHAINA.QSSI13.0" * tag 'LA.UM.9.14.r1-22400-LAHAINA.QSSI13.0' of https://git.codelinaro.org/clo/la/platform/vendor/opensource/camera-kernel: msm: camera: memmgr: release buffers after usage Change-Id: Ib871ecd60cc9037ca43823170409c59e8071a52c
This commit is contained in:
commit
6026539bb5
@ -856,6 +856,7 @@ static int cam_hw_cdm_arb_submit_bl(struct cam_hw_info *cdm_hw,
|
|||||||
"CDM hw bl write failed tag=%d",
|
"CDM hw bl write failed tag=%d",
|
||||||
core->bl_fifo[fifo_idx].bl_tag -
|
core->bl_fifo[fifo_idx].bl_tag -
|
||||||
1);
|
1);
|
||||||
|
cam_mem_put_cpu_buf(cdm_cmd->cmd[i].bl_addr.mem_handle);
|
||||||
list_del_init(&node->entry);
|
list_del_init(&node->entry);
|
||||||
kfree(node);
|
kfree(node);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
@ -867,11 +868,12 @@ static int cam_hw_cdm_arb_submit_bl(struct cam_hw_info *cdm_hw,
|
|||||||
"CDM hw commit failed tag=%d",
|
"CDM hw commit failed tag=%d",
|
||||||
core->bl_fifo[fifo_idx].bl_tag -
|
core->bl_fifo[fifo_idx].bl_tag -
|
||||||
1);
|
1);
|
||||||
|
cam_mem_put_cpu_buf(cdm_cmd->cmd[i].bl_addr.mem_handle);
|
||||||
list_del_init(&node->entry);
|
list_del_init(&node->entry);
|
||||||
kfree(node);
|
kfree(node);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
|
cam_mem_put_cpu_buf(cdm_cmd->cmd[i].bl_addr.mem_handle);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -379,6 +379,7 @@ int32_t cam_context_prepare_dev_to_hw(struct cam_context *ctx,
|
|||||||
if ((len < sizeof(struct cam_packet)) ||
|
if ((len < sizeof(struct cam_packet)) ||
|
||||||
(cmd->offset >= (len - sizeof(struct cam_packet)))) {
|
(cmd->offset >= (len - sizeof(struct cam_packet)))) {
|
||||||
CAM_ERR(CAM_CTXT, "Not enough buf");
|
CAM_ERR(CAM_CTXT, "Not enough buf");
|
||||||
|
cam_mem_put_cpu_buf((int32_t) cmd->packet_handle);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -497,7 +498,7 @@ int32_t cam_context_prepare_dev_to_hw(struct cam_context *ctx,
|
|||||||
req->in_map_entries[j].sync_id, rc);
|
req->in_map_entries[j].sync_id, rc);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
cam_mem_put_cpu_buf((int32_t) cmd->packet_handle);
|
||||||
return rc;
|
return rc;
|
||||||
put_ref:
|
put_ref:
|
||||||
for (--i; i >= 0; i--) {
|
for (--i; i >= 0; i--) {
|
||||||
@ -511,6 +512,7 @@ free_req:
|
|||||||
req->ctx = NULL;
|
req->ctx = NULL;
|
||||||
spin_unlock(&ctx->lock);
|
spin_unlock(&ctx->lock);
|
||||||
|
|
||||||
|
cam_mem_put_cpu_buf((int32_t) cmd->packet_handle);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4936,6 +4936,7 @@ static int __cam_isp_ctx_config_dev_in_top_state(
|
|||||||
__cam_isp_ctx_schedule_apply_req_offline(ctx_isp);
|
__cam_isp_ctx_schedule_apply_req_offline(ctx_isp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cam_mem_put_cpu_buf((int32_t) cmd->packet_handle);
|
||||||
return rc;
|
return rc;
|
||||||
|
|
||||||
put_ref:
|
put_ref:
|
||||||
@ -4949,6 +4950,7 @@ free_req:
|
|||||||
list_add_tail(&req->list, &ctx->free_req_list);
|
list_add_tail(&req->list, &ctx->free_req_list);
|
||||||
spin_unlock_bh(&ctx->lock);
|
spin_unlock_bh(&ctx->lock);
|
||||||
|
|
||||||
|
cam_mem_put_cpu_buf((int32_t) cmd->packet_handle);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -129,6 +129,7 @@ static int cam_isp_update_dual_config(
|
|||||||
if (dual_config->num_ports > size_isp_out) {
|
if (dual_config->num_ports > size_isp_out) {
|
||||||
CAM_ERR(CAM_ISP, "num_ports %d more than max_vfe_out_res %d",
|
CAM_ERR(CAM_ISP, "num_ports %d more than max_vfe_out_res %d",
|
||||||
dual_config->num_ports, size_isp_out);
|
dual_config->num_ports, size_isp_out);
|
||||||
|
cam_mem_put_cpu_buf(cmd_desc->mem_handle);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -315,6 +315,7 @@ static int cam_jpeg_mgr_process_irq(void *priv, void *data)
|
|||||||
CAM_ERR(CAM_JPEG, "Invalid offset: %u cmd buf len: %zu",
|
CAM_ERR(CAM_JPEG, "Invalid offset: %u cmd buf len: %zu",
|
||||||
p_cfg_req->hw_cfg_args.hw_update_entries[
|
p_cfg_req->hw_cfg_args.hw_update_entries[
|
||||||
CAM_JPEG_PARAM].offset, cmd_buf_len);
|
CAM_JPEG_PARAM].offset, cmd_buf_len);
|
||||||
|
cam_mem_put_cpu_buf(mem_hdl);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -341,6 +342,7 @@ static int cam_jpeg_mgr_process_irq(void *priv, void *data)
|
|||||||
mutex_lock(&g_jpeg_hw_mgr.hw_mgr_mutex);
|
mutex_lock(&g_jpeg_hw_mgr.hw_mgr_mutex);
|
||||||
list_add_tail(&p_cfg_req->list, &hw_mgr->free_req_list);
|
list_add_tail(&p_cfg_req->list, &hw_mgr->free_req_list);
|
||||||
mutex_unlock(&g_jpeg_hw_mgr.hw_mgr_mutex);
|
mutex_unlock(&g_jpeg_hw_mgr.hw_mgr_mutex);
|
||||||
|
cam_mem_put_cpu_buf(mem_hdl);
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user