From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2,3/5] dmaengine: sprd: Move DMA request mode and interrupt type into head file From: Baolin Wang Message-Id: <0ec72acc564401cdbada3ff1f4c9500d1233398e.1524054807.git.baolin.wang@linaro.org> Date: Thu, 19 Apr 2018 10:00:48 +0800 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 List-ID: RnJvbTogRXJpYyBMb25nIDxlcmljLmxvbmdAc3ByZWFkdHJ1bS5jb20+CgpUaGlzIHBhdGNoIHdp bGwgbW92ZSB0aGUgU3ByZWFkdHJ1bSBETUEgcmVxdWVzdCBtb2RlIGFuZCBpbnRlcnJ1cHQgdHlw ZQppbnRvIG9uZSBoZWFkIGZpbGUgZm9yIHVzZXIgdG8gY29uZmlndXJlLgoKU2lnbmVkLW9mZi1i eTogRXJpYyBMb25nIDxlcmljLmxvbmdAc3ByZWFkdHJ1bS5jb20+ClNpZ25lZC1vZmYtYnk6IEJh b2xpbiBXYW5nIDxiYW9saW4ud2FuZ0BsaW5hcm8ub3JnPgotLS0KQ2hhbmdlcyBzaW5jZSB2MToK LSBObyB1cGRhdGVzLgotLS0KIGRyaXZlcnMvZG1hL3NwcmQtZG1hLmMgICAgICAgfCAgIDUyICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2xpbnV4L2RtYS9z cHJkLWRtYS5oIHwgICA1NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKIDIgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCiBj cmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9kbWEvc3ByZC1kbWEuaAoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZG1hL3NwcmQtZG1hLmMgYi9kcml2ZXJzL2RtYS9zcHJkLWRtYS5jCmluZGV4 IDY1ZmYwYTU4Li5jY2RlYjhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2RtYS9zcHJkLWRtYS5jCisr KyBiL2RyaXZlcnMvZG1hL3NwcmQtZG1hLmMKQEAgLTYsNiArNiw3IEBACiAKICNpbmNsdWRlIDxs aW51eC9jbGsuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgorI2luY2x1ZGUgPGxp bnV4L2RtYS9zcHJkLWRtYS5oPgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8 bGludXgvaW5pdC5oPgogI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgpAQCAtMTI1LDU3ICsx MjYsNiBAQAogCiAjZGVmaW5lIFNQUkRfRE1BX1NPRlRXQVJFX1VJRAkJMAogCi0vKgotICogZW51 bSBzcHJkX2RtYV9yZXFfbW9kZTogZGVmaW5lIHRoZSBETUEgcmVxdWVzdCBtb2RlCi0gKiBAU1BS RF9ETUFfRlJBR19SRVE6IGZyYWdtZW50IHJlcXVlc3QgbW9kZQotICogQFNQUkRfRE1BX0JMS19S RVE6IGJsb2NrIHJlcXVlc3QgbW9kZQotICogQFNQUkRfRE1BX1RSQU5TX1JFUTogdHJhbnNhY3Rp b24gcmVxdWVzdCBtb2RlCi0gKiBAU1BSRF9ETUFfTElTVF9SRVE6IGxpbmstbGlzdCByZXF1ZXN0 IG1vZGUKLSAqCi0gKiBXZSBoYXZlIDQgdHlwZXMgcmVxdWVzdCBtb2RlOiBmcmFnbWVudCBtb2Rl LCBibG9jayBtb2RlLCB0cmFuc2FjdGlvbiBtb2RlCi0gKiBhbmQgbGlua2xpc3QgbW9kZS4gT25l IHRyYW5zYWN0aW9uIGNhbiBjb250YWluIHNldmVyYWwgYmxvY2tzLCBvbmUgYmxvY2sgY2FuCi0g KiBjb250YWluIHNldmVyYWwgZnJhZ21lbnRzLiBMaW5rLWxpc3QgbW9kZSBtZWFucyB3ZSBjYW4g c2F2ZSBzZXZlcmFsIERNQQotICogY29uZmlndXJhdGlvbiBpbnRvIG9uZSByZXNlcnZlZCBtZW1v cnksIHRoZW4gRE1BIGNhbiBmZXRjaCBlYWNoIERNQQotICogY29uZmlndXJhdGlvbiBhdXRvbWF0 aWNhbGx5IHRvIHN0YXJ0IHRyYW5zZmVyLgotICovCi1lbnVtIHNwcmRfZG1hX3JlcV9tb2RlIHsK LQlTUFJEX0RNQV9GUkFHX1JFUSwKLQlTUFJEX0RNQV9CTEtfUkVRLAotCVNQUkRfRE1BX1RSQU5T X1JFUSwKLQlTUFJEX0RNQV9MSVNUX1JFUSwKLX07Ci0KLS8qCi0gKiBlbnVtIHNwcmRfZG1hX2lu dF90eXBlOiBkZWZpbmUgdGhlIERNQSBpbnRlcnJ1cHQgdHlwZQotICogQFNQUkRfRE1BX05PX0lO VDogZG8gbm90IG5lZWQgZ2VuZXJhdGUgRE1BIGludGVycnVwdHMuCi0gKiBAU1BSRF9ETUFfRlJB R19JTlQ6IGZyYWdtZW50IGRvbmUgaW50ZXJydXB0IHdoZW4gb25lIGZyYWdtZW50IHJlcXVlc3QK LSAqIGlzIGRvbmUuCi0gKiBAU1BSRF9ETUFfQkxLX0lOVDogYmxvY2sgZG9uZSBpbnRlcnJ1cHQg d2hlbiBvbmUgYmxvY2sgcmVxdWVzdCBpcyBkb25lLgotICogQFNQUkRfRE1BX0JMS19GUkFHX0lO VDogYmxvY2sgYW5kIGZyYWdtZW50IGludGVycnVwdCB3aGVuIG9uZSBmcmFnbWVudAotICogb3Ig b25lIGJsb2NrIHJlcXVlc3QgaXMgZG9uZS4KLSAqIEBTUFJEX0RNQV9UUkFOU19JTlQ6IHRhbnNh Y3Rpb24gZG9uZSBpbnRlcnJ1cHQgd2hlbiBvbmUgdHJhbnNhY3Rpb24KLSAqIHJlcXVlc3QgaXMg ZG9uZS4KLSAqIEBTUFJEX0RNQV9UUkFOU19GUkFHX0lOVDogdHJhbnNhY3Rpb24gYW5kIGZyYWdt ZW50IGludGVycnVwdCB3aGVuIG9uZQotICogdHJhbnNhY3Rpb24gcmVxdWVzdCBvciBmcmFnbWVu dCByZXF1ZXN0IGlzIGRvbmUuCi0gKiBAU1BSRF9ETUFfVFJBTlNfQkxLX0lOVDogdHJhbnNhY3Rp b24gYW5kIGJsb2NrIGludGVycnVwdCB3aGVuIG9uZQotICogdHJhbnNhY3Rpb24gcmVxdWVzdCBv ciBibG9jayByZXF1ZXN0IGlzIGRvbmUuCi0gKiBAU1BSRF9ETUFfTElTVF9JTlQ6IGxpbmstbGlz dCBkb25lIGludGVycnVwdCB3aGVuIG9uZSBsaW5rLWxpc3QgcmVxdWVzdAotICogaXMgZG9uZS4K LSAqIEBTUFJEX0RNQV9DRkdFUlJfSU5UOiBjb25maWd1cmUgZXJyb3IgaW50ZXJydXB0IHdoZW4g Y29uZmlndXJhdGlvbiBpcwotICogaW5jb3JyZWN0LgotICovCi1lbnVtIHNwcmRfZG1hX2ludF90 eXBlIHsKLQlTUFJEX0RNQV9OT19JTlQsCi0JU1BSRF9ETUFfRlJBR19JTlQsCi0JU1BSRF9ETUFf QkxLX0lOVCwKLQlTUFJEX0RNQV9CTEtfRlJBR19JTlQsCi0JU1BSRF9ETUFfVFJBTlNfSU5ULAot CVNQUkRfRE1BX1RSQU5TX0ZSQUdfSU5ULAotCVNQUkRfRE1BX1RSQU5TX0JMS19JTlQsCi0JU1BS RF9ETUFfTElTVF9JTlQsCi0JU1BSRF9ETUFfQ0ZHRVJSX0lOVCwKLX07Ci0KIC8qIGRtYSBkYXRh IHdpZHRoIHZhbHVlcyAqLwogZW51bSBzcHJkX2RtYV9kYXRhd2lkdGggewogCVNQUkRfRE1BX0RB VEFXSURUSF8xX0JZVEUsCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2RtYS9zcHJkLWRtYS5o IGIvaW5jbHVkZS9saW51eC9kbWEvc3ByZC1kbWEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5jNTQ1MTYyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saW51eC9kbWEv c3ByZC1kbWEuaApAQCAtMCwwICsxLDU3IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMCAqLworCisjaWZuZGVmIF9TUFJEX0RNQV9IXworI2RlZmluZSBfU1BSRF9ETUFfSF8K KworLyoKKyAqIGVudW0gc3ByZF9kbWFfcmVxX21vZGU6IGRlZmluZSB0aGUgRE1BIHJlcXVlc3Qg bW9kZQorICogQFNQUkRfRE1BX0ZSQUdfUkVROiBmcmFnbWVudCByZXF1ZXN0IG1vZGUKKyAqIEBT UFJEX0RNQV9CTEtfUkVROiBibG9jayByZXF1ZXN0IG1vZGUKKyAqIEBTUFJEX0RNQV9UUkFOU19S RVE6IHRyYW5zYWN0aW9uIHJlcXVlc3QgbW9kZQorICogQFNQUkRfRE1BX0xJU1RfUkVROiBsaW5r LWxpc3QgcmVxdWVzdCBtb2RlCisgKgorICogV2UgaGF2ZSA0IHR5cGVzIHJlcXVlc3QgbW9kZTog ZnJhZ21lbnQgbW9kZSwgYmxvY2sgbW9kZSwgdHJhbnNhY3Rpb24gbW9kZQorICogYW5kIGxpbmts aXN0IG1vZGUuIE9uZSB0cmFuc2FjdGlvbiBjYW4gY29udGFpbiBzZXZlcmFsIGJsb2Nrcywgb25l IGJsb2NrIGNhbgorICogY29udGFpbiBzZXZlcmFsIGZyYWdtZW50cy4gTGluay1saXN0IG1vZGUg bWVhbnMgd2UgY2FuIHNhdmUgc2V2ZXJhbCBETUEKKyAqIGNvbmZpZ3VyYXRpb24gaW50byBvbmUg cmVzZXJ2ZWQgbWVtb3J5LCB0aGVuIERNQSBjYW4gZmV0Y2ggZWFjaCBETUEKKyAqIGNvbmZpZ3Vy YXRpb24gYXV0b21hdGljYWxseSB0byBzdGFydCB0cmFuc2Zlci4KKyAqLworZW51bSBzcHJkX2Rt YV9yZXFfbW9kZSB7CisJU1BSRF9ETUFfRlJBR19SRVEsCisJU1BSRF9ETUFfQkxLX1JFUSwKKwlT UFJEX0RNQV9UUkFOU19SRVEsCisJU1BSRF9ETUFfTElTVF9SRVEsCit9OworCisvKgorICogZW51 bSBzcHJkX2RtYV9pbnRfdHlwZTogZGVmaW5lIHRoZSBETUEgaW50ZXJydXB0IHR5cGUKKyAqIEBT UFJEX0RNQV9OT19JTlQ6IGRvIG5vdCBuZWVkIGdlbmVyYXRlIERNQSBpbnRlcnJ1cHRzLgorICog QFNQUkRfRE1BX0ZSQUdfSU5UOiBmcmFnbWVudCBkb25lIGludGVycnVwdCB3aGVuIG9uZSBmcmFn bWVudCByZXF1ZXN0CisgKiBpcyBkb25lLgorICogQFNQUkRfRE1BX0JMS19JTlQ6IGJsb2NrIGRv bmUgaW50ZXJydXB0IHdoZW4gb25lIGJsb2NrIHJlcXVlc3QgaXMgZG9uZS4KKyAqIEBTUFJEX0RN QV9CTEtfRlJBR19JTlQ6IGJsb2NrIGFuZCBmcmFnbWVudCBpbnRlcnJ1cHQgd2hlbiBvbmUgZnJh Z21lbnQKKyAqIG9yIG9uZSBibG9jayByZXF1ZXN0IGlzIGRvbmUuCisgKiBAU1BSRF9ETUFfVFJB TlNfSU5UOiB0YW5zYWN0aW9uIGRvbmUgaW50ZXJydXB0IHdoZW4gb25lIHRyYW5zYWN0aW9uCisg KiByZXF1ZXN0IGlzIGRvbmUuCisgKiBAU1BSRF9ETUFfVFJBTlNfRlJBR19JTlQ6IHRyYW5zYWN0 aW9uIGFuZCBmcmFnbWVudCBpbnRlcnJ1cHQgd2hlbiBvbmUKKyAqIHRyYW5zYWN0aW9uIHJlcXVl c3Qgb3IgZnJhZ21lbnQgcmVxdWVzdCBpcyBkb25lLgorICogQFNQUkRfRE1BX1RSQU5TX0JMS19J TlQ6IHRyYW5zYWN0aW9uIGFuZCBibG9jayBpbnRlcnJ1cHQgd2hlbiBvbmUKKyAqIHRyYW5zYWN0 aW9uIHJlcXVlc3Qgb3IgYmxvY2sgcmVxdWVzdCBpcyBkb25lLgorICogQFNQUkRfRE1BX0xJU1Rf SU5UOiBsaW5rLWxpc3QgZG9uZSBpbnRlcnJ1cHQgd2hlbiBvbmUgbGluay1saXN0IHJlcXVlc3QK KyAqIGlzIGRvbmUuCisgKiBAU1BSRF9ETUFfQ0ZHRVJSX0lOVDogY29uZmlndXJlIGVycm9yIGlu dGVycnVwdCB3aGVuIGNvbmZpZ3VyYXRpb24gaXMKKyAqIGluY29ycmVjdC4KKyAqLworZW51bSBz cHJkX2RtYV9pbnRfdHlwZSB7CisJU1BSRF9ETUFfTk9fSU5ULAorCVNQUkRfRE1BX0ZSQUdfSU5U LAorCVNQUkRfRE1BX0JMS19JTlQsCisJU1BSRF9ETUFfQkxLX0ZSQUdfSU5ULAorCVNQUkRfRE1B X1RSQU5TX0lOVCwKKwlTUFJEX0RNQV9UUkFOU19GUkFHX0lOVCwKKwlTUFJEX0RNQV9UUkFOU19C TEtfSU5ULAorCVNQUkRfRE1BX0xJU1RfSU5ULAorCVNQUkRfRE1BX0NGR0VSUl9JTlQsCit9Owor CisjZW5kaWYK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753280AbeDSCCV (ORCPT ); Wed, 18 Apr 2018 22:02:21 -0400 Received: from mail-pf0-f196.google.com ([209.85.192.196]:46606 "EHLO mail-pf0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752634AbeDSCBj (ORCPT ); Wed, 18 Apr 2018 22:01:39 -0400 X-Google-Smtp-Source: AIpwx48MMGPrOv5EWLJhw1vj+mo31fyyrkCMzNPw/RpE4wB5yShsBuH8aO+mS13wy4fEWFfJAHdNUA== 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 v2 3/5] dmaengine: sprd: Move DMA request mode and interrupt type into head file Date: Thu, 19 Apr 2018 10:00:48 +0800 Message-Id: <0ec72acc564401cdbada3ff1f4c9500d1233398e.1524054807.git.baolin.wang@linaro.org> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <2ec1e8ddade0be5b4412b031b98d0d69a1af421f.1524054807.git.baolin.wang@linaro.org> References: <2ec1e8ddade0be5b4412b031b98d0d69a1af421f.1524054807.git.baolin.wang@linaro.org> In-Reply-To: <2ec1e8ddade0be5b4412b031b98d0d69a1af421f.1524054807.git.baolin.wang@linaro.org> References: <2ec1e8ddade0be5b4412b031b98d0d69a1af421f.1524054807.git.baolin.wang@linaro.org> Sender: linux-kernel-owner@vger.kernel.org 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. Signed-off-by: Eric Long Signed-off-by: Baolin Wang --- Changes since v1: - No updates. --- 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 65ff0a58..ccdeb8f 100644 --- a/drivers/dma/sprd-dma.c +++ b/drivers/dma/sprd-dma.c @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -125,57 +126,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, -}; - /* dma data width values */ enum sprd_dma_datawidth { SPRD_DMA_DATAWIDTH_1_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