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: [1/5] dmaengine: sprd: Define the DMA transfer step type From: Baolin Wang Message-Id: Date: Tue, 10 Apr 2018 15:46:03 +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+CgpEZWZpbmUgdGhlIERN QSB0cmFuc2ZlciBzdGVwIHR5cGUgdG8gbWFrZSBjb2RlIG1vcmUgcmVhZGFibGUuCgpTaWduZWQt b2ZmLWJ5OiBFcmljIExvbmcgPGVyaWMubG9uZ0BzcHJlYWR0cnVtLmNvbT4KU2lnbmVkLW9mZi1i eTogQmFvbGluIFdhbmcgPGJhb2xpbi53YW5nQGxpbmFyby5vcmc+Ci0tLQogZHJpdmVycy9kbWEv c3ByZC1kbWEuYyB8ICAgMjggKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9kbWEvc3ByZC1kbWEuYyBiL2RyaXZlcnMvZG1hL3NwcmQtZG1hLmMKaW5kZXggYjEwNmU4 YS4uYWY5YzE1NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEvc3ByZC1kbWEuYworKysgYi9kcml2 ZXJzL2RtYS9zcHJkLWRtYS5jCkBAIC0xNjksNiArMTY5LDIyIEBAIGVudW0gc3ByZF9kbWFfaW50 X3R5cGUgewogCVNQUkRfRE1BX0NGR0VSUl9JTlQsCiB9OwogCisvKgorICogZW51bSBzcHJkX2Rt YV9zdGVwOiBkZWZpbmUgdGhlIERNQSB0cmFuc2ZlciBzdGVwIHR5cGUKKyAqIEBTUFJEX0RNQV9O T05FX1NURVA6IHRyYW5zZmVyIGRvIG5vdCBuZWVkIHN0ZXAKKyAqIEBTUFJEX0RNQV9CWVRFX1NU RVA6IHRyYW5zZmVyIHN0ZXAgaXMgb25lIGJ5dGUKKyAqIEBTUFJEX0RNQV9TSE9SVF9TVEVQOiB0 cmFuc2ZlciBzdGVwIGlzIHR3byBieXRlcworICogQFNQUkRfRE1BX1dPUkRfU1RFUDogdHJhbnNm ZXIgc3RlcCBpcyBvbmUgd29yZAorICogQFNQUkRfRE1BX0RXT1JEX1NURVA6IHRyYW5zZmVyIHN0 ZXAgaXMgZG91YmxlIHdvcmQKKyAqLworZW51bSBzcHJkX2RtYV9zdGVwIHsKKwlTUFJEX0RNQV9O T05FX1NURVAsCisJU1BSRF9ETUFfQllURV9TVEVQID0gQklUKDApLAorCVNQUkRfRE1BX1NIT1JU X1NURVAgPSBCSVQoMSksCisJU1BSRF9ETUFfV09SRF9TVEVQID0gQklUKDIpLAorCVNQUkRfRE1B X0RXT1JEX1NURVAgPSBCSVQoMyksCit9OworCiAvKiBkbWEgY2hhbm5lbCBoYXJkd2FyZSBjb25m aWd1cmF0aW9uICovCiBzdHJ1Y3Qgc3ByZF9kbWFfY2huX2h3IHsKIAl1MzIgcGF1c2U7CkBAIC01 OTgsMTYgKzYxNCwxNiBAQCBzdGF0aWMgaW50IHNwcmRfZG1hX2NvbmZpZyhzdHJ1Y3QgZG1hX2No YW4gKmNoYW4sIHN0cnVjdCBzcHJkX2RtYV9kZXNjICpzZGVzYywKIAogCWlmIChJU19BTElHTkVE KGxlbiwgNCkpIHsKIAkJZGF0YXdpZHRoID0gMjsKLQkJc3JjX3N0ZXAgPSA0OwotCQlkZXNfc3Rl cCA9IDQ7CisJCXNyY19zdGVwID0gU1BSRF9ETUFfV09SRF9TVEVQOworCQlkZXNfc3RlcCA9IFNQ UkRfRE1BX1dPUkRfU1RFUDsKIAl9IGVsc2UgaWYgKElTX0FMSUdORUQobGVuLCAyKSkgewogCQlk YXRhd2lkdGggPSAxOwotCQlzcmNfc3RlcCA9IDI7Ci0JCWRlc19zdGVwID0gMjsKKwkJc3JjX3N0 ZXAgPSBTUFJEX0RNQV9TSE9SVF9TVEVQOworCQlkZXNfc3RlcCA9IFNQUkRfRE1BX1NIT1JUX1NU RVA7CiAJfSBlbHNlIHsKIAkJZGF0YXdpZHRoID0gMDsKLQkJc3JjX3N0ZXAgPSAxOwotCQlkZXNf c3RlcCA9IDE7CisJCXNyY19zdGVwID0gU1BSRF9ETUFfQllURV9TVEVQOworCQlkZXNfc3RlcCA9 IFNQUkRfRE1BX0JZVEVfU1RFUDsKIAl9CiAKIAlmcmFnbWVudF9sZW4gPSBTUFJEX0RNQV9NRU1D UFlfTUlOX1NJWkU7Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752392AbeDJHqj (ORCPT ); Tue, 10 Apr 2018 03:46:39 -0400 Received: from mail-pl0-f67.google.com ([209.85.160.67]:41202 "EHLO mail-pl0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751978AbeDJHqi (ORCPT ); Tue, 10 Apr 2018 03:46:38 -0400 X-Google-Smtp-Source: AIpwx48emWzKmAVu8+DlsXaXedrAkYICWGzVVENPSEXblhX4+5ZP5NHngRNfITfp0l/I1wl0DA+Hzg== 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 1/5] dmaengine: sprd: Define the DMA transfer step type Date: Tue, 10 Apr 2018 15:46:03 +0800 Message-Id: X-Mailer: git-send-email 1.7.9.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric Long Define the DMA transfer step type to make code more readable. Signed-off-by: Eric Long Signed-off-by: Baolin Wang --- drivers/dma/sprd-dma.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/dma/sprd-dma.c b/drivers/dma/sprd-dma.c index b106e8a..af9c156 100644 --- a/drivers/dma/sprd-dma.c +++ b/drivers/dma/sprd-dma.c @@ -169,6 +169,22 @@ enum sprd_dma_int_type { 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 + * @SPRD_DMA_SHORT_STEP: transfer step is two bytes + * @SPRD_DMA_WORD_STEP: transfer step is one word + * @SPRD_DMA_DWORD_STEP: transfer step is double word + */ +enum sprd_dma_step { + SPRD_DMA_NONE_STEP, + SPRD_DMA_BYTE_STEP = BIT(0), + SPRD_DMA_SHORT_STEP = BIT(1), + SPRD_DMA_WORD_STEP = BIT(2), + SPRD_DMA_DWORD_STEP = BIT(3), +}; + /* dma channel hardware configuration */ struct sprd_dma_chn_hw { u32 pause; @@ -598,16 +614,16 @@ static int sprd_dma_config(struct dma_chan *chan, struct sprd_dma_desc *sdesc, if (IS_ALIGNED(len, 4)) { datawidth = 2; - src_step = 4; - des_step = 4; + src_step = SPRD_DMA_WORD_STEP; + des_step = SPRD_DMA_WORD_STEP; } else if (IS_ALIGNED(len, 2)) { datawidth = 1; - src_step = 2; - des_step = 2; + src_step = SPRD_DMA_SHORT_STEP; + des_step = SPRD_DMA_SHORT_STEP; } else { datawidth = 0; - src_step = 1; - des_step = 1; + src_step = SPRD_DMA_BYTE_STEP; + des_step = SPRD_DMA_BYTE_STEP; } fragment_len = SPRD_DMA_MEMCPY_MIN_SIZE; -- 1.7.9.5