Received: by 10.213.65.68 with SMTP id h4csp3576470imn; Tue, 10 Apr 2018 00:53:23 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/i3Z7g5WLxuvmuNM0sWZwVpfG9SQ7eV01oojvw98LULRyGZYSJgdFYejnJ52EOKM77iZW3 X-Received: by 2002:a17:902:6acc:: with SMTP id i12-v6mr42851057plt.353.1523346803777; Tue, 10 Apr 2018 00:53:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523346803; cv=none; d=google.com; s=arc-20160816; b=YwEntrsbpgbQcxBHtUxDt189r4EphyvyJRmBeKcyafdX2YSIWMGH8+uwxnYGVCTCTw stgoGTJwrCo0Nikd/rIBviq7WUPvfCnAoYAvaraUinoxls/DfvkDzQ0D2DbrJk7dfJiw 6fmqlwelQWbvLIg3ZcK2TUuqm5yxByvsPPBpAyqzThtrAI1W9Y0KEEW81+NaYQh/g4RE OHrDTMaerZ2w/z3A5f9i3RlTqH7agRGyVESWD8kdOqhABTafaEhKT/aHTr2oMd2TQ6p6 DZSfO9W2PzcJ4xLIptoNSbJLRwC777uxxGn8n/N15XlTeuQEBWq2jpMfP21jeBUphIXO Gy5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=FYYz8O2A6U899g1YhvxbY4bR2BkFwQSs2Y3MeaWDAWc=; b=ftHJuxRd1uRCCQXYsMh63GRHIIxL4HYmUlT98V83tYkGfC7/y4koFmgL1HyPXmYlM5 8R9pNnsHwOcIrFAA8bdtVc1c1GPJurAgf2KiI9QSkyRti3yXiYtxqZzEdCMFhoFcwGIf tLtjUX+rmkbgVc0A4l+RraBE27gpJaP8gO111ItkmH9y6DG8qUvlouGcsEzwZksIrfJR J/q8Mj0jJCa9+5A3D/hfuB7Z6agIJwFDZ+tw3TB0EOLlb8nO9Zx/B8sS2IYgTkQSUHUn NaCH3kAacSl+Er/0fwtuopd2h1mCPOdOVv8PKWTKl6QcgHa41pRW0UdpzpJzDsf0ig02 7xzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=b+Ab1a2M; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h6-v6si2153106plr.482.2018.04.10.00.52.46; Tue, 10 Apr 2018 00:53:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=b+Ab1a2M; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752573AbeDJHrg (ORCPT + 99 others); Tue, 10 Apr 2018 03:47:36 -0400 Received: from mail-pl0-f66.google.com ([209.85.160.66]:40730 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752406AbeDJHqn (ORCPT ); Tue, 10 Apr 2018 03:46:43 -0400 Received: by mail-pl0-f66.google.com with SMTP id x4-v6so6929607pln.7 for ; Tue, 10 Apr 2018 00:46:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=FYYz8O2A6U899g1YhvxbY4bR2BkFwQSs2Y3MeaWDAWc=; b=b+Ab1a2MBe3ifgmwfSrNzMaO0nDuDIzI9/pfx2U9HDr8salxBFLR8o0hyiKOxuJnqr hSSjGuhuzc7EU+h25gS/TL9tywp1ulc7R6kMrSpjAm8TlDRwrzhfimFaajcRv7HvcWp/ GJ8VEQ1AxP8o2xZtpa9dmwzpstKI3G464cYdI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=FYYz8O2A6U899g1YhvxbY4bR2BkFwQSs2Y3MeaWDAWc=; b=gVd9aXGYd6jO2C7/yJM5xrM378lYEAALvVIyDhTj9h+S7fpXvI56iyvLCSVfMMgwoo d7Z04N8J7TzHMC9jaKlg05uiG7hhdaUO+2MQ9w1YLhsmKyNQD52coP8SWGMHDsJ58SvD ooT9mjxXCB7/c0dQYCqYMvZYISOXaGhs7F+sz7CJM+vf7N5gLdOZGHhSdua1FEpfZTQa STAKc6J/iVpDrxJvVRK1ZirGW6Xx/0zV17jYzZbsFrKqsnL8f9PxZ9FBtlQyEyWOVDGP KQ2L3E19/zsiw0N/Nupb5NAtX1fV7P1crrwjr8aJwOJyONIkRGuHp7Y7kjrYlT9NslRF NN7Q== X-Gm-Message-State: AElRT7HBZwM2J3YhgqDKM1RQQgxndh7X0PrOj5HUjphWPmqKA2kcaZHM tK6h9vp4ZedmBvXhrVzywHVjtep5BpY= X-Received: by 2002:a17:902:341:: with SMTP id 59-v6mr40933652pld.407.1523346402711; Tue, 10 Apr 2018 00:46:42 -0700 (PDT) Received: from baolinwangubtpc.spreadtrum.com ([117.18.48.82]) by smtp.gmail.com with ESMTPSA id x17sm3095279pfm.161.2018.04.10.00.46.40 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 10 Apr 2018 00:46:42 -0700 (PDT) From: Baolin Wang To: dan.j.williams@intel.com, vinod.koul@intel.com Cc: eric.long@spreadtrum.com, broonie@kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, baolin.wang@linaro.org Subject: [PATCH 3/5] dmaengine: sprd: Move DMA request mode and interrupt type into head file Date: Tue, 10 Apr 2018 15:46:05 +0800 Message-Id: X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric Long This patch will move the Spreadtrum DMA request mode and interrupt type into one head file for user to configure. And other special SPRD DMA configurations will be added in the following patches. Signed-off-by: Eric Long Signed-off-by: Baolin Wang --- drivers/dma/sprd-dma.c | 52 +------------------------------------- include/linux/dma/sprd-dma.h | 57 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 51 deletions(-) create mode 100644 include/linux/dma/sprd-dma.h diff --git a/drivers/dma/sprd-dma.c b/drivers/dma/sprd-dma.c index 9f44d6f..5c26fde 100644 --- a/drivers/dma/sprd-dma.c +++ b/drivers/dma/sprd-dma.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -119,57 +120,6 @@ #define SPRD_DMA_SOFTWARE_UID 0 /* - * enum sprd_dma_req_mode: define the DMA request mode - * @SPRD_DMA_FRAG_REQ: fragment request mode - * @SPRD_DMA_BLK_REQ: block request mode - * @SPRD_DMA_TRANS_REQ: transaction request mode - * @SPRD_DMA_LIST_REQ: link-list request mode - * - * We have 4 types request mode: fragment mode, block mode, transaction mode - * and linklist mode. One transaction can contain several blocks, one block can - * contain several fragments. Link-list mode means we can save several DMA - * configuration into one reserved memory, then DMA can fetch each DMA - * configuration automatically to start transfer. - */ -enum sprd_dma_req_mode { - SPRD_DMA_FRAG_REQ, - SPRD_DMA_BLK_REQ, - SPRD_DMA_TRANS_REQ, - SPRD_DMA_LIST_REQ, -}; - -/* - * enum sprd_dma_int_type: define the DMA interrupt type - * @SPRD_DMA_NO_INT: do not need generate DMA interrupts. - * @SPRD_DMA_FRAG_INT: fragment done interrupt when one fragment request - * is done. - * @SPRD_DMA_BLK_INT: block done interrupt when one block request is done. - * @SPRD_DMA_BLK_FRAG_INT: block and fragment interrupt when one fragment - * or one block request is done. - * @SPRD_DMA_TRANS_INT: tansaction done interrupt when one transaction - * request is done. - * @SPRD_DMA_TRANS_FRAG_INT: transaction and fragment interrupt when one - * transaction request or fragment request is done. - * @SPRD_DMA_TRANS_BLK_INT: transaction and block interrupt when one - * transaction request or block request is done. - * @SPRD_DMA_LIST_INT: link-list done interrupt when one link-list request - * is done. - * @SPRD_DMA_CFGERR_INT: configure error interrupt when configuration is - * incorrect. - */ -enum sprd_dma_int_type { - SPRD_DMA_NO_INT, - SPRD_DMA_FRAG_INT, - SPRD_DMA_BLK_INT, - SPRD_DMA_BLK_FRAG_INT, - SPRD_DMA_TRANS_INT, - SPRD_DMA_TRANS_FRAG_INT, - SPRD_DMA_TRANS_BLK_INT, - SPRD_DMA_LIST_INT, - SPRD_DMA_CFGERR_INT, -}; - -/* * enum sprd_dma_step: define the DMA transfer step type * @SPRD_DMA_NONE_STEP: transfer do not need step * @SPRD_DMA_BYTE_STEP: transfer step is one byte diff --git a/include/linux/dma/sprd-dma.h b/include/linux/dma/sprd-dma.h new file mode 100644 index 0000000..c545162 --- /dev/null +++ b/include/linux/dma/sprd-dma.h @@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef _SPRD_DMA_H_ +#define _SPRD_DMA_H_ + +/* + * enum sprd_dma_req_mode: define the DMA request mode + * @SPRD_DMA_FRAG_REQ: fragment request mode + * @SPRD_DMA_BLK_REQ: block request mode + * @SPRD_DMA_TRANS_REQ: transaction request mode + * @SPRD_DMA_LIST_REQ: link-list request mode + * + * We have 4 types request mode: fragment mode, block mode, transaction mode + * and linklist mode. One transaction can contain several blocks, one block can + * contain several fragments. Link-list mode means we can save several DMA + * configuration into one reserved memory, then DMA can fetch each DMA + * configuration automatically to start transfer. + */ +enum sprd_dma_req_mode { + SPRD_DMA_FRAG_REQ, + SPRD_DMA_BLK_REQ, + SPRD_DMA_TRANS_REQ, + SPRD_DMA_LIST_REQ, +}; + +/* + * enum sprd_dma_int_type: define the DMA interrupt type + * @SPRD_DMA_NO_INT: do not need generate DMA interrupts. + * @SPRD_DMA_FRAG_INT: fragment done interrupt when one fragment request + * is done. + * @SPRD_DMA_BLK_INT: block done interrupt when one block request is done. + * @SPRD_DMA_BLK_FRAG_INT: block and fragment interrupt when one fragment + * or one block request is done. + * @SPRD_DMA_TRANS_INT: tansaction done interrupt when one transaction + * request is done. + * @SPRD_DMA_TRANS_FRAG_INT: transaction and fragment interrupt when one + * transaction request or fragment request is done. + * @SPRD_DMA_TRANS_BLK_INT: transaction and block interrupt when one + * transaction request or block request is done. + * @SPRD_DMA_LIST_INT: link-list done interrupt when one link-list request + * is done. + * @SPRD_DMA_CFGERR_INT: configure error interrupt when configuration is + * incorrect. + */ +enum sprd_dma_int_type { + SPRD_DMA_NO_INT, + SPRD_DMA_FRAG_INT, + SPRD_DMA_BLK_INT, + SPRD_DMA_BLK_FRAG_INT, + SPRD_DMA_TRANS_INT, + SPRD_DMA_TRANS_FRAG_INT, + SPRD_DMA_TRANS_BLK_INT, + SPRD_DMA_LIST_INT, + SPRD_DMA_CFGERR_INT, +}; + +#endif -- 1.7.9.5