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

Commit aa84fae0 authored by Chinmay Sawarkar's avatar Chinmay Sawarkar
Browse files

msm: vidc: Update extradata buffer count calculations



During buffer requirements call, output extradata buffer count
should be updated to match output buffer count. Same applies for
output2 buffers.

CRs-Fixed: 2066658
Change-Id: I8c72ae0185a85284f9c94644c1c68a06ab01703f
Signed-off-by: default avatarChinmay Sawarkar <chinmays@codeaurora.org>
parent 50b1d5bf
Loading
Loading
Loading
Loading
+28 −1
Original line number Diff line number Diff line
@@ -4075,7 +4075,6 @@ static int msm_vidc_update_host_buff_counts(struct msm_vidc_inst *inst)
		}

		/* For DPB buffers, no need to add Extra buffers */

		bufreq->buffer_count_min_host =	bufreq->buffer_count_actual =
			bufreq->buffer_count_min;

@@ -4093,6 +4092,20 @@ static int msm_vidc_update_host_buff_counts(struct msm_vidc_inst *inst)

		bufreq->buffer_count_min_host =	bufreq->buffer_count_actual =
			bufreq->buffer_count_min + extra_buffers;

		bufreq = get_buff_req_buffer(inst,
				HAL_BUFFER_EXTRADATA_OUTPUT2);
		if (!bufreq) {
			dprintk(VIDC_DBG,
				"No buffer requirements : %x\n",
					HAL_BUFFER_EXTRADATA_OUTPUT2);
		} else {
			if (bufreq->buffer_count_min) {
				bufreq->buffer_count_min_host =
				bufreq->buffer_count_actual =
				bufreq->buffer_count_min + extra_buffers;
			}
		}
	} else {

		bufreq = get_buff_req_buffer(inst,
@@ -4109,6 +4122,20 @@ static int msm_vidc_update_host_buff_counts(struct msm_vidc_inst *inst)

		bufreq->buffer_count_min_host =	bufreq->buffer_count_actual =
			bufreq->buffer_count_min + extra_buffers;

		bufreq = get_buff_req_buffer(inst,
				HAL_BUFFER_EXTRADATA_OUTPUT);
		if (!bufreq) {
			dprintk(VIDC_DBG,
				"No buffer requirements : %x\n",
				HAL_BUFFER_EXTRADATA_OUTPUT);
		} else {
			if (bufreq->buffer_count_min) {
				bufreq->buffer_count_min_host =
				bufreq->buffer_count_actual =
				bufreq->buffer_count_min + extra_buffers;
			}
		}
	}

	return 0;