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

Commit 4a222658 authored by Arun Menon's avatar Arun Menon Committed by Matt Wagantall
Browse files

msm: vidc: Update extra data size in ftb for DPB



Firmware expects driver to send extra data size during
session_ftb call. Without this change, firmware may raise
an error when OPB DPB is split.

Change-Id: I12729eb541dc820de0a7921596031788d2692b70
Signed-off-by: default avatarArun Menon <avmenon@codeaurora.org>
parent b2052334
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -933,7 +933,7 @@ int msm_comm_queue_output_buffers(struct msm_vidc_inst *inst)
	struct hfi_device *hdev;
	struct msm_smem *handle;
	struct vidc_frame_data frame_data = {0};
	struct hal_buffer_requirements *output_buf;
	struct hal_buffer_requirements *output_buf, *extra_buf;
	int rc = 0;

	if (!inst || !inst->core || !inst->core->device) {
@@ -955,6 +955,8 @@ int msm_comm_queue_output_buffers(struct msm_vidc_inst *inst)
		output_buf->buffer_count_actual,
		output_buf->buffer_size);

	extra_buf = get_buff_req_buffer(inst, HAL_BUFFER_EXTRADATA_OUTPUT);

	mutex_lock(&inst->outputbufs.lock);
	list_for_each_entry(binfo, &inst->outputbufs.list, list) {
		if (binfo->buffer_ownership != DRIVER)
@@ -968,6 +970,8 @@ int msm_comm_queue_output_buffers(struct msm_vidc_inst *inst)
		frame_data.extradata_addr = handle->device_addr +
		output_buf->buffer_size;
		frame_data.buffer_type = HAL_BUFFER_OUTPUT;
		frame_data.extradata_size = extra_buf ?
			extra_buf->buffer_size : 0;
		rc = call_hfi_op(hdev, session_ftb,
			(void *) inst->session, &frame_data);
		binfo->buffer_ownership = FIRMWARE;