From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D06D4C433EF for ; Tue, 19 Jul 2022 15:31:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234057AbiGSPbN (ORCPT ); Tue, 19 Jul 2022 11:31:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34164 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233950AbiGSPbM (ORCPT ); Tue, 19 Jul 2022 11:31:12 -0400 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7809E5885F; Tue, 19 Jul 2022 08:31:11 -0700 (PDT) Received: from pps.filterd (m0241204.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26JFS1Ep030938; Tue, 19 Jul 2022 17:30:55 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=selector1; bh=StPFKjyHQ6JloIb+PfGZXvKA/3ATMA/f8rEmiAG937w=; b=fl6q9Zf+v/AGGlfuFTPXasDWrUhSoE+j6VgYcJmn8GCP3tz/2iou1Mw3mKkIa6Kl1VxS WeWnvZGlik7J44IVqyNa9PHq8EV7bkWVH5twzT40Y5Rp4Umi5NBx0IYfrzLS0gX67RK/ pqVlJz41MvN+PceULVZUX/XjEw7zQkjzw+KwYnmhYV4iVTkoUpLPWbZ3WkchwCbxBno/ mPg/1jSvG9W0kQ87qzMdevuAoiCu/6EmLnXXrTmvTng5EO0FglMqVZ51T15ShWsNK70a Zt/Tk91EGKuJPPiWwBlAbx/1ZWETI9PgkgFuIIDK5oF3SOCMWEqzZFUGfv+56ukcx+zl 5w== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3hbnhy0kkf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Jul 2022 17:30:55 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 655F510002A; Tue, 19 Jul 2022 17:30:54 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node2.st.com [10.75.129.70]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 45BDD22AFE7; Tue, 19 Jul 2022 17:30:54 +0200 (CEST) Received: from [10.201.20.208] (10.75.127.45) by SHFDAG1NODE2.st.com (10.75.129.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.20; Tue, 19 Jul 2022 17:30:50 +0200 Message-ID: Date: Tue, 19 Jul 2022 17:30:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v2 3/4] dmaengine: stm32-dma: add support to trigger STM32 MDMA Content-Language: en-US To: Marek Vasut , Jonathan Corbet , Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , References: <20220713142148.239253-1-amelie.delaunay@foss.st.com> <20220713142148.239253-4-amelie.delaunay@foss.st.com> From: Amelie Delaunay In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.75.127.45] X-ClientProxiedBy: SFHDAG2NODE3.st.com (10.75.127.6) To SHFDAG1NODE2.st.com (10.75.129.70) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-19_04,2022-07-19_01,2022-06-22_01 Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org Hi Marek, Thanks for reviewing. On 7/14/22 21:02, Marek Vasut wrote: > On 7/13/22 16:21, Amelie Delaunay wrote: > > [...] > >> diff --git a/drivers/dma/stm32-dma.c b/drivers/dma/stm32-dma.c >> index adb25a11c70f..3916295fe154 100644 >> --- a/drivers/dma/stm32-dma.c >> +++ b/drivers/dma/stm32-dma.c >> @@ -142,6 +142,8 @@ >>   #define STM32_DMA_DIRECT_MODE_GET(n)    (((n) & >> STM32_DMA_DIRECT_MODE_MASK) >> 2) >>   #define STM32_DMA_ALT_ACK_MODE_MASK    BIT(4) >>   #define STM32_DMA_ALT_ACK_MODE_GET(n)    (((n) & >> STM32_DMA_ALT_ACK_MODE_MASK) >> 4) >> +#define STM32_DMA_MDMA_STREAM_ID_MASK    GENMASK(19, 16) >> +#define STM32_DMA_MDMA_STREAM_ID_GET(n) (((n) & >> STM32_DMA_MDMA_STREAM_ID_MASK) >> 16) > > Try FIELD_GET() from include/linux/bitfield.h > > [...] > Yes, but not only on this new line. I'll add a prior patch to the patchset to use FIELD_{GET,PREP}() helpers every where custom macros are used. >> @@ -1630,6 +1670,20 @@ static int stm32_dma_probe(struct >> platform_device *pdev) >>           chan->id = i; >>           chan->vchan.desc_free = stm32_dma_desc_free; >>           vchan_init(&chan->vchan, dd); >> + >> +        chan->mdma_config.ifcr = res->start; >> +        chan->mdma_config.ifcr += (chan->id & 4) ? STM32_DMA_HIFCR : >> STM32_DMA_LIFCR; >> + >> +        chan->mdma_config.tcf = STM32_DMA_TCI; >> +        /* >> +         * bit0 of chan->id represents the need to left shift by 6 >> +         * bit1 of chan->id represents the need to extra left shift >> by 16 >> +         * TCIF0, chan->id = b0000; TCIF4, chan->id = b0100: left >> shift by 0*6 + 0*16 >> +         * TCIF1, chan->id = b0001; TCIF5, chan->id = b0101: left >> shift by 1*6 + 0*16 >> +         * TCIF2, chan->id = b0010; TCIF6, chan->id = b0110: left >> shift by 0*6 + 1*16 >> +         * TCIF3, chan->id = b0011; TCIF7, chan->id = b0111: left >> shift by 1*6 + 1*16 >> +         */ >> +        chan->mdma_config.tcf <<= (6 * (chan->id & 0x1) + 16 * >> ((chan->id & 0x2) >> 1)); > > Some sort of symbolic macros instead of open-coded constants could help > readability here. > I agree. As the same kind of computation is done in stm32_dma_irq_status() and stm32_dma_irq_clear(), I'll add another prior patch to the patchset to introduce new macro helpers to get ISR/IFCR offset depending on channel id, and to get channel flags mask depending on channel id. > [...] Regards, Amelie From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D5AC4CCA47F for ; Tue, 19 Jul 2022 15:32:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=TzP2RLPA7k59XiBW2cab72E3qAUV5SwIiObR/jvxEOQ=; b=iMM0b2e4CCc4xr zqqnZwhjXhQqTQOj0viouXdiSWJf0fy6HLo3KTQoSETa/qkq82PXKW3d1vMNVul2soSWk/ZMnpCS+ 9LN9Zzl80dmPLFrthwi8Z5ORPs4syFkPPR8XP3ZN4mGW8eRENW5YYy+riJvylWOuOTfWwHrGeS2I8 Fjrnj2lYMIajrooJvBmO/umMEMeH1PeOyuWdI/35B+Y9G+zMgUqhx8JuA3lvGdA0e5qD3anVvx8Zm o+kTja2QjCSF5IRsikPy/9mwhwzPN7UlPk2EYXWHpbV0e7IXSNA0n0yY01enu0Cr8XkL1ShPHwO7L 0gxQj8UfXZl2YDNXHstQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDpBl-00A4qL-DX; Tue, 19 Jul 2022 15:31:09 +0000 Received: from mx07-00178001.pphosted.com ([185.132.182.106]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oDpBh-00A4lo-K2 for linux-arm-kernel@lists.infradead.org; Tue, 19 Jul 2022 15:31:07 +0000 Received: from pps.filterd (m0241204.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26JFS1Ep030938; Tue, 19 Jul 2022 17:30:55 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=selector1; bh=StPFKjyHQ6JloIb+PfGZXvKA/3ATMA/f8rEmiAG937w=; b=fl6q9Zf+v/AGGlfuFTPXasDWrUhSoE+j6VgYcJmn8GCP3tz/2iou1Mw3mKkIa6Kl1VxS WeWnvZGlik7J44IVqyNa9PHq8EV7bkWVH5twzT40Y5Rp4Umi5NBx0IYfrzLS0gX67RK/ pqVlJz41MvN+PceULVZUX/XjEw7zQkjzw+KwYnmhYV4iVTkoUpLPWbZ3WkchwCbxBno/ mPg/1jSvG9W0kQ87qzMdevuAoiCu/6EmLnXXrTmvTng5EO0FglMqVZ51T15ShWsNK70a Zt/Tk91EGKuJPPiWwBlAbx/1ZWETI9PgkgFuIIDK5oF3SOCMWEqzZFUGfv+56ukcx+zl 5w== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3hbnhy0kkf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Jul 2022 17:30:55 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 655F510002A; Tue, 19 Jul 2022 17:30:54 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node2.st.com [10.75.129.70]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 45BDD22AFE7; Tue, 19 Jul 2022 17:30:54 +0200 (CEST) Received: from [10.201.20.208] (10.75.127.45) by SHFDAG1NODE2.st.com (10.75.129.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.20; Tue, 19 Jul 2022 17:30:50 +0200 Message-ID: Date: Tue, 19 Jul 2022 17:30:49 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v2 3/4] dmaengine: stm32-dma: add support to trigger STM32 MDMA Content-Language: en-US To: Marek Vasut , Jonathan Corbet , Vinod Koul , Maxime Coquelin , Alexandre Torgue CC: , , , , References: <20220713142148.239253-1-amelie.delaunay@foss.st.com> <20220713142148.239253-4-amelie.delaunay@foss.st.com> From: Amelie Delaunay In-Reply-To: X-Originating-IP: [10.75.127.45] X-ClientProxiedBy: SFHDAG2NODE3.st.com (10.75.127.6) To SHFDAG1NODE2.st.com (10.75.129.70) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-19_04,2022-07-19_01,2022-06-22_01 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220719_083105_978668_9C39F53A X-CRM114-Status: GOOD ( 18.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgTWFyZWssCgpUaGFua3MgZm9yIHJldmlld2luZy4KCk9uIDcvMTQvMjIgMjE6MDIsIE1hcmVr IFZhc3V0IHdyb3RlOgo+IE9uIDcvMTMvMjIgMTY6MjEsIEFtZWxpZSBEZWxhdW5heSB3cm90ZToK PiAKPiBbLi4uXQo+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEvc3RtMzItZG1hLmMgYi9k cml2ZXJzL2RtYS9zdG0zMi1kbWEuYwo+PiBpbmRleCBhZGIyNWExMWM3MGYuLjM5MTYyOTVmZTE1 NCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9kbWEvc3RtMzItZG1hLmMKPj4gKysrIGIvZHJpdmVy cy9kbWEvc3RtMzItZG1hLmMKPj4gQEAgLTE0Miw2ICsxNDIsOCBAQAo+PiDCoCAjZGVmaW5lIFNU TTMyX0RNQV9ESVJFQ1RfTU9ERV9HRVQobinCoMKgwqAgKCgobikgJiAKPj4gU1RNMzJfRE1BX0RJ UkVDVF9NT0RFX01BU0spID4+IDIpCj4+IMKgICNkZWZpbmUgU1RNMzJfRE1BX0FMVF9BQ0tfTU9E RV9NQVNLwqDCoMKgIEJJVCg0KQo+PiDCoCAjZGVmaW5lIFNUTTMyX0RNQV9BTFRfQUNLX01PREVf R0VUKG4pwqDCoMKgICgoKG4pICYgCj4+IFNUTTMyX0RNQV9BTFRfQUNLX01PREVfTUFTSykgPj4g NCkKPj4gKyNkZWZpbmUgU1RNMzJfRE1BX01ETUFfU1RSRUFNX0lEX01BU0vCoMKgwqAgR0VOTUFT SygxOSwgMTYpCj4+ICsjZGVmaW5lIFNUTTMyX0RNQV9NRE1BX1NUUkVBTV9JRF9HRVQobikgKCgo bikgJiAKPj4gU1RNMzJfRE1BX01ETUFfU1RSRUFNX0lEX01BU0spID4+IDE2KQo+IAo+IFRyeSBG SUVMRF9HRVQoKSBmcm9tIGluY2x1ZGUvbGludXgvYml0ZmllbGQuaAo+IAo+IFsuLi5dCj4gCgpZ ZXMsIGJ1dCBub3Qgb25seSBvbiB0aGlzIG5ldyBsaW5lLiBJJ2xsIGFkZCBhIHByaW9yIHBhdGNo IHRvIHRoZSAKcGF0Y2hzZXQgdG8gdXNlIEZJRUxEX3tHRVQsUFJFUH0oKSBoZWxwZXJzIGV2ZXJ5 IHdoZXJlIGN1c3RvbSBtYWNyb3MgYXJlIAp1c2VkLgoKPj4gQEAgLTE2MzAsNiArMTY3MCwyMCBA QCBzdGF0aWMgaW50IHN0bTMyX2RtYV9wcm9iZShzdHJ1Y3QgCj4+IHBsYXRmb3JtX2RldmljZSAq cGRldikKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGNoYW4tPmlkID0gaTsKPj4gwqDCoMKgwqDCoMKg wqDCoMKgIGNoYW4tPnZjaGFuLmRlc2NfZnJlZSA9IHN0bTMyX2RtYV9kZXNjX2ZyZWU7Cj4+IMKg wqDCoMKgwqDCoMKgwqDCoCB2Y2hhbl9pbml0KCZjaGFuLT52Y2hhbiwgZGQpOwo+PiArCj4+ICvC oMKgwqDCoMKgwqDCoCBjaGFuLT5tZG1hX2NvbmZpZy5pZmNyID0gcmVzLT5zdGFydDsKPj4gK8Kg wqDCoMKgwqDCoMKgIGNoYW4tPm1kbWFfY29uZmlnLmlmY3IgKz0gKGNoYW4tPmlkICYgNCkgPyBT VE0zMl9ETUFfSElGQ1IgOiAKPj4gU1RNMzJfRE1BX0xJRkNSOwo+PiArCj4+ICvCoMKgwqDCoMKg wqDCoCBjaGFuLT5tZG1hX2NvbmZpZy50Y2YgPSBTVE0zMl9ETUFfVENJOwo+PiArwqDCoMKgwqDC oMKgwqAgLyoKPj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBiaXQwIG9mIGNoYW4tPmlkIHJlcHJlc2Vu dHMgdGhlIG5lZWQgdG8gbGVmdCBzaGlmdCBieSA2Cj4+ICvCoMKgwqDCoMKgwqDCoMKgICogYml0 MSBvZiBjaGFuLT5pZCByZXByZXNlbnRzIHRoZSBuZWVkIHRvIGV4dHJhIGxlZnQgc2hpZnQgCj4+ IGJ5IDE2Cj4+ICvCoMKgwqDCoMKgwqDCoMKgICogVENJRjAsIGNoYW4tPmlkID0gYjAwMDA7IFRD SUY0LCBjaGFuLT5pZCA9IGIwMTAwOiBsZWZ0IAo+PiBzaGlmdCBieSAwKjYgKyAwKjE2Cj4+ICvC oMKgwqDCoMKgwqDCoMKgICogVENJRjEsIGNoYW4tPmlkID0gYjAwMDE7IFRDSUY1LCBjaGFuLT5p ZCA9IGIwMTAxOiBsZWZ0IAo+PiBzaGlmdCBieSAxKjYgKyAwKjE2Cj4+ICvCoMKgwqDCoMKgwqDC oMKgICogVENJRjIsIGNoYW4tPmlkID0gYjAwMTA7IFRDSUY2LCBjaGFuLT5pZCA9IGIwMTEwOiBs ZWZ0IAo+PiBzaGlmdCBieSAwKjYgKyAxKjE2Cj4+ICvCoMKgwqDCoMKgwqDCoMKgICogVENJRjMs IGNoYW4tPmlkID0gYjAwMTE7IFRDSUY3LCBjaGFuLT5pZCA9IGIwMTExOiBsZWZ0IAo+PiBzaGlm dCBieSAxKjYgKyAxKjE2Cj4+ICvCoMKgwqDCoMKgwqDCoMKgICovCj4+ICvCoMKgwqDCoMKgwqDC oCBjaGFuLT5tZG1hX2NvbmZpZy50Y2YgPDw9ICg2ICogKGNoYW4tPmlkICYgMHgxKSArIDE2ICog Cj4+ICgoY2hhbi0+aWQgJiAweDIpID4+IDEpKTsKPiAKPiBTb21lIHNvcnQgb2Ygc3ltYm9saWMg bWFjcm9zIGluc3RlYWQgb2Ygb3Blbi1jb2RlZCBjb25zdGFudHMgY291bGQgaGVscCAKPiByZWFk YWJpbGl0eSBoZXJlLgo+IAoKSSBhZ3JlZS4gQXMgdGhlIHNhbWUga2luZCBvZiBjb21wdXRhdGlv biBpcyBkb25lIGluIApzdG0zMl9kbWFfaXJxX3N0YXR1cygpIGFuZCBzdG0zMl9kbWFfaXJxX2Ns ZWFyKCksIEknbGwgYWRkIGFub3RoZXIgcHJpb3IgCnBhdGNoIHRvIHRoZSBwYXRjaHNldCB0byBp bnRyb2R1Y2UgbmV3IG1hY3JvIGhlbHBlcnMgdG8gZ2V0IElTUi9JRkNSIApvZmZzZXQgZGVwZW5k aW5nIG9uIGNoYW5uZWwgaWQsIGFuZCB0byBnZXQgY2hhbm5lbCBmbGFncyBtYXNrIGRlcGVuZGlu ZyAKb24gY2hhbm5lbCBpZC4KCj4gWy4uLl0KClJlZ2FyZHMsCkFtZWxpZQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWls aW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=