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

Commit d4e28683 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: cvp: remove additional checks in response_handler"

parents f7be1951 b2705c89
Loading
Loading
Loading
Loading
+2 −31
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
 */

#include <asm/dma-iommu.h>
@@ -2349,34 +2349,6 @@ static int iris_hfi_core_release(void *dev)
	return rc;
}

static int __get_q_size(struct iris_hfi_device *dev, unsigned int q_index)
{
	struct cvp_hfi_queue_header *queue;
	struct cvp_iface_q_info *q_info;
	u32 write_ptr, read_ptr;

	if (q_index >= CVP_IFACEQ_NUMQ) {
		dprintk(CVP_ERR, "Invalid q index: %d\n", q_index);
		return -ENOENT;
	}

	q_info = &dev->iface_queues[q_index];
	if (!q_info) {
		dprintk(CVP_ERR, "cannot read shared Q's\n");
		return -ENOENT;
	}

	queue = (struct cvp_hfi_queue_header *)q_info->q_hdr;
	if (!queue) {
		dprintk(CVP_ERR, "queue not present\n");
		return -ENOENT;
	}

	write_ptr = (u32)queue->qhdr_write_idx;
	read_ptr = (u32)queue->qhdr_read_idx;
	return read_ptr - write_ptr;
}

static void __core_clear_interrupt(struct iris_hfi_device *device)
{
	u32 intr_status = 0, mask = 0;
@@ -3300,8 +3272,7 @@ static int __response_handler(struct iris_hfi_device *device)
			*session_id = session->session_id;
		}

		if (packet_count >= cvp_max_packets &&
				__get_q_size(device, CVP_IFACEQ_MSGQ_IDX)) {
		if (packet_count >= cvp_max_packets) {
			dprintk(CVP_WARN,
				"Too many packets in message queue!\n");
			break;