Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp6298739pxb; Wed, 17 Feb 2021 00:14:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJzYadpF59vRTWpABteDnzsmBv34ruD/vh/7f76ViRWET1WWIdU6s7K7lPvVGmLUbQnoAFsM X-Received: by 2002:a17:906:5855:: with SMTP id h21mr7605047ejs.552.1613549692973; Wed, 17 Feb 2021 00:14:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613549692; cv=none; d=google.com; s=arc-20160816; b=qpyfT0cOWoDtbg7ZL2xyQ0Cou5CeQSABZ2d1CtuQ1SR+PibU4Lb9jbvXo6Ujs15y67 fTLqmD0/rzp2AswNrY3Q80LFtt48q7Pq2/E8RmW3v/mAZIEzxIWa3cz32a1Hg3ycrxvg bOCTqgPD2k1VK3TIA2I85pQ4mkcm2jIhhHJOCdeawGvCTcZjrDmGO9D+6zDlHr/VU5ip OwVkFnyo+WiPMCQN7Nl+knN6MA0aoItjZs68uXsR0vOHhIXxnRUPVSZrS7DOGrU1CuLR vvd4VXrL5Qd+YT4N3Sa1drviGEPvnUqpDnXz+GF9pWxW0KPVVdufTE9WELjI4jHdLbhh paLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=GXLsMlrsUemywJ7fdukJEKANnatCHir13Rds0G5XK9U=; b=a4ANmiJC4YsQhSmy6BK19V76qbjcXX7y1+WMQNe1U1v9MJKmeEBIzyEOVdjsVpKHou NKl2ipoHdaE9F56O1hCmP00GGxiNSol55sPDX6e4NH3eWOfmkCdt2uEfG0KhTyU/w+Wk 2VDLUWqGfQ9tg0LxAdcBhQF0lXrrhkBZYnFqTsKu51kuplCAvxKZlXflx8E44RuuzC80 w4HN86C0V1RnSt0P6EDbv+VrhoAAlZm/rGTVOIkLYtQ92zYsSiLin72uoy68s6l6I29a KWVuyMrKpn14t9Xng2K/8H7Jlaag0vFfze5SH63HSzX8yDIcIPjHHlv+DB5ld7LG3LuW 9Kqg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m15si854800edc.599.2021.02.17.00.14.30; Wed, 17 Feb 2021 00:14:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231847AbhBQILr (ORCPT + 99 others); Wed, 17 Feb 2021 03:11:47 -0500 Received: from bhuna.collabora.co.uk ([46.235.227.227]:53212 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231800AbhBQIEr (ORCPT ); Wed, 17 Feb 2021 03:04:47 -0500 Received: from localhost.localdomain (unknown [IPv6:2a01:e0a:4cb:a870:fd6e:12cd:95d7:3350]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id E7C0B1F4508E; Wed, 17 Feb 2021 08:04:03 +0000 (GMT) From: Benjamin Gaignard To: ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@siol.net, krzk@kernel.org, shengjiu.wang@nxp.com, adrian.ratiu@collabora.com, aisheng.dong@nxp.com, peng.fan@nxp.com, Anson.Huang@nxp.com, hverkuil-cisco@xs4all.nl Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, kernel@collabora.com, Benjamin Gaignard Subject: [PATCH v1 11/18] media: hantro: Add helper function for auxiliary buffers allocation Date: Wed, 17 Feb 2021 09:02:59 +0100 Message-Id: <20210217080306.157876-12-benjamin.gaignard@collabora.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210217080306.157876-1-benjamin.gaignard@collabora.com> References: <20210217080306.157876-1-benjamin.gaignard@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add helper functions to allocate and free auxiliary buffers. These buffers aren't for frames but are needed by the hardware to store scaling matrix, tiles size, border filters etc... Signed-off-by: Benjamin Gaignard Signed-off-by: Ezequiel Garcia Signed-off-by: Adrian Ratiu --- drivers/staging/media/hantro/hantro.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/staging/media/hantro/hantro.h b/drivers/staging/media/hantro/hantro.h index a9b80b2c9124..7f842edbc341 100644 --- a/drivers/staging/media/hantro/hantro.h +++ b/drivers/staging/media/hantro/hantro.h @@ -446,6 +446,30 @@ hantro_get_dec_buf(struct hantro_ctx *ctx, struct vb2_buffer *vb) return vb2_plane_vaddr(vb, 0); } +static inline int +hantro_aux_buf_alloc(struct hantro_dev *vpu, + struct hantro_aux_buf *buf, size_t size) +{ + buf->cpu = dma_alloc_coherent(vpu->dev, size, &buf->dma, GFP_KERNEL); + if (!buf->cpu) + return -ENOMEM; + + buf->size = size; + return 0; +} + +static inline void +hantro_aux_buf_free(struct hantro_dev *vpu, + struct hantro_aux_buf *buf) +{ + if (buf->cpu) + dma_free_coherent(vpu->dev, buf->size, buf->cpu, buf->dma); + + buf->cpu = NULL; + buf->dma = 0; + buf->size = 0; +} + void hantro_postproc_disable(struct hantro_ctx *ctx); void hantro_postproc_enable(struct hantro_ctx *ctx); void hantro_postproc_free(struct hantro_ctx *ctx); -- 2.25.1