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: dmaengine: fsl-qdma: fixed the source/destination descriptior format From: Vinod Koul Message-Id: <20190429051554.GD3845@vkoul-mobl.Dlink> Date: Mon, 29 Apr 2019 10:45:54 +0530 To: Peng Ma Cc: "dan.j.williams@intel.com" , Leo Li , "dmaengine@vger.kernel.org" , "linux-kernel@vger.kernel.org" List-ID: T24gMjgtMDQtMTksIDAyOjAwLCBQZW5nIE1hIHdyb3RlOgo+IEhpIFZpbm9kLAo+IAo+IFRoYW5r cyB5b3VyIGNvbW1lbnRzLgo+IFBsZWFzZSBzZWUgbXkgY29tbWVudHMgaW5saW5lLgo+IAo+IEJl c3QgUmVnYXJkcywKPiBQZW5nCj4gCj4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPkZy b206IFZpbm9kIEtvdWwgPHZrb3VsQGtlcm5lbC5vcmc+Cj4gPlNlbnQ6IDIwMTnlubQ05pyIMjbm l6UgMTk6NTEKPiA+VG86IFBlbmcgTWEgPHBlbmcubWFAbnhwLmNvbT4KPiA+Q2M6IGRhbi5qLndp bGxpYW1zQGludGVsLmNvbTsgTGVvIExpIDxsZW95YW5nLmxpQG54cC5jb20+Owo+ID5kbWFlbmdp bmVAdmdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnCj4gPlN1Ympl Y3Q6IFtFWFRdIFJlOiBbUEFUQ0hdIGRtYWVuZ2luZTogZnNsLXFkbWE6IGZpeGVkIHRoZSBzb3Vy Y2UvZGVzdGluYXRpb24KPiA+ZGVzY3JpcHRpb3IgZm9ybWF0Cj4gPgo+ID5DYXV0aW9uOiBFWFQg RW1haWwKPiA+Cj4gPk9uIDE5LTA0LTE5LCAwODo0NiwgUGVuZyBNYSB3cm90ZToKPiA+PiBDTUQg b2YgU291cmNlL0Rlc3RpbmF0aW9uIGRlc2NyaXB0aW9yIGZvcm1hdCBzaG91bGQgYmUgbG93ZXIg b2YKPiA+Cj4gPnMvZGVzY3JpcHRpb3IvZGVzY3JpcHRvcgo+ID4KPiBbUGVuZyBNYV0gR290IGl0 Lgo+ID4+IHN0cnVjdCBmc2xfcWRtYV9lbmdpbmUgbnVtYmVyIGRhdGEgYWRkcmVzcy4KPiA+Pgo+ ID4+IFNpZ25lZC1vZmYtYnk6IFBlbmcgTWEgPHBlbmcubWFAbnhwLmNvbT4KPiA+PiAtLS0KPiA+ PiAgZHJpdmVycy9kbWEvZnNsLXFkbWEuYyB8ICAgMjkgKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0KPiA+PiAgMSBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlv bnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9mc2wtcWRtYS5jIGIvZHJp dmVycy9kbWEvZnNsLXFkbWEuYyBpbmRleAo+ID4+IGFhMWQwYWUuLjU0Mjc2NWEgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy9kbWEvZnNsLXFkbWEuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZG1hL2Zz bC1xZG1hLmMKPiA+PiBAQCAtMTEzLDYgKzExMyw3IEBACj4gPj4gIC8qIEZpZWxkIGRlZmluaXRp b24gZm9yIERlc2NyaXB0b3Igb2Zmc2V0ICovCj4gPj4gICNkZWZpbmUgUURNQV9DQ0RGX1NUQVRV UyAgICAgICAgICAgICAyMAo+ID4+ICAjZGVmaW5lIFFETUFfQ0NERl9PRkZTRVQgICAgICAgICAg ICAgMjAKPiA+PiArI2RlZmluZSBRRE1BX1NEREZfQ01EKHgpICAgICAgICAgICAgICgoKHU2NCko eCkpIDw8IDMyKQo+ID4+Cj4gPj4gIC8qIEZpZWxkIGRlZmluaXRpb24gZm9yIHNhZmUgbG9vcCBj b3VudCovCj4gPj4gICNkZWZpbmUgRlNMX1FETUFfSEFMVF9DT1VOVCAgICAgICAgICAxNTAwCj4g Pj4gQEAgLTIxNCw2ICsyMTUsMTIgQEAgc3RydWN0IGZzbF9xZG1hX2VuZ2luZSB7Cj4gPj4KPiA+ PiAgfTsKPiA+Pgo+ID4+ICtzdGF0aWMgaW5saW5lIHZvaWQKPiA+PiArcWRtYV9zZGRmX3NldF9j bWQoc3RydWN0IGZzbF9xZG1hX2Zvcm1hdCAqc2RkZiwgdTMyIHZhbCkgewo+ID4+ICsgICAgIHNk ZGYtPmRhdGEgPSBRRE1BX1NEREZfQ01EKHZhbCk7IH0KPiA+PiArCj4gPj4gIHN0YXRpYyBpbmxp bmUgdTY0Cj4gPj4gIHFkbWFfY2NkZl9hZGRyX2dldDY0KGNvbnN0IHN0cnVjdCBmc2xfcWRtYV9m b3JtYXQgKmNjZGYpICB7IEBACj4gPi0zNDEsNgo+ID4+ICszNDgsNyBAQCBzdGF0aWMgdm9pZCBm c2xfcWRtYV9mcmVlX2NoYW5fcmVzb3VyY2VzKHN0cnVjdCBkbWFfY2hhbgo+ID4+ICpjaGFuKSAg c3RhdGljIHZvaWQgZnNsX3FkbWFfY29tcF9maWxsX21lbWNweShzdHJ1Y3QgZnNsX3FkbWFfY29t cAo+ID4qZnNsX2NvbXAsCj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZG1hX2FkZHJfdCBkc3QsIGRtYV9hZGRyX3QKPiA+c3JjLAo+ID4+IHUzMiBsZW4pICB7Cj4gPj4g KyAgICAgdTMyIGNtZDsKPiA+PiAgICAgICBzdHJ1Y3QgZnNsX3FkbWFfZm9ybWF0ICpzZGYsICpk ZGY7Cj4gPj4gICAgICAgc3RydWN0IGZzbF9xZG1hX2Zvcm1hdCAqY2NkZiwgKmNzZ2ZfZGVzYywg KmNzZ2Zfc3JjLCAqY3NnZl9kZXN0Owo+ID4+Cj4gPj4gQEAgLTM1Myw2ICszNjEsNyBAQCBzdGF0 aWMgdm9pZCBmc2xfcWRtYV9jb21wX2ZpbGxfbWVtY3B5KHN0cnVjdAo+ID4+IGZzbF9xZG1hX2Nv bXAgKmZzbF9jb21wLAo+ID4+Cj4gPj4gICAgICAgbWVtc2V0KGZzbF9jb21wLT52aXJ0X2FkZHIs IDAsCj4gPkZTTF9RRE1BX0NPTU1BTkRfQlVGRkVSX1NJWkUpOwo+ID4+ICAgICAgIG1lbXNldChm c2xfY29tcC0+ZGVzY192aXJ0X2FkZHIsIDAsCj4gPj4gRlNMX1FETUFfREVTQ1JJUFRPUl9CVUZG RVJfU0laRSk7Cj4gPj4gKwo+ID4+ICAgICAgIC8qIEhlYWQgQ29tbWFuZCBEZXNjcmlwdG9yKEZy YW1lIERlc2NyaXB0b3IpICovCj4gPj4gICAgICAgcWRtYV9kZXNjX2FkZHJfc2V0NjQoY2NkZiwg ZnNsX2NvbXAtPmJ1c19hZGRyICsgMTYpOwo+ID4+ICAgICAgIHFkbWFfY2NkZl9zZXRfZm9ybWF0 KGNjZGYsIHFkbWFfY2NkZl9nZXRfb2Zmc2V0KGNjZGYpKTsgQEAKPiA+PiAtMzY5LDE0ICszNzgs MTQgQEAgc3RhdGljIHZvaWQgZnNsX3FkbWFfY29tcF9maWxsX21lbWNweShzdHJ1Y3QKPiA+ZnNs X3FkbWFfY29tcCAqZnNsX2NvbXAsCj4gPj4gICAgICAgLyogVGhpcyBlbnRyeSBpcyB0aGUgbGFz dCBlbnRyeS4gKi8KPiA+PiAgICAgICBxZG1hX2NzZ2Zfc2V0X2YoY3NnZl9kZXN0LCBsZW4pOwo+ ID4+ICAgICAgIC8qIERlc2NyaXB0b3IgQnVmZmVyICovCj4gPj4gLSAgICAgc2RmLT5kYXRhID0K PiA+PiAtICAgICAgICAgICAgIGNwdV90b19sZTY0KEZTTF9RRE1BX0NNRF9SV1RUWVBFIDw8Cj4g Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICBGU0xfUURNQV9DTURfUldUVFlQRV9PRkZTRVQp Owo+ID4+IC0gICAgIGRkZi0+ZGF0YSA9Cj4gPj4gLSAgICAgICAgICAgICBjcHVfdG9fbGU2NChG U0xfUURNQV9DTURfUldUVFlQRSA8PAo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgRlNM X1FETUFfQ01EX1JXVFRZUEVfT0ZGU0VUKTsKPiA+PiAtICAgICBkZGYtPmRhdGEgfD0KPiA+PiAt ICAgICAgICAgICAgIGNwdV90b19sZTY0KEZTTF9RRE1BX0NNRF9MV0MgPDwKPiA+RlNMX1FETUFf Q01EX0xXQ19PRkZTRVQpOwo+ID4+ICsgICAgIGNtZCA9IGNwdV90b19sZTMyKEZTTF9RRE1BX0NN RF9SV1RUWVBFIDw8Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgRlNMX1FETUFfQ01EX1JX VFRZUEVfT0ZGU0VUKTsKPiA+PiArICAgICBxZG1hX3NkZGZfc2V0X2NtZChzZGYsIGNtZCk7Cj4g Pj4gKwo+ID4+ICsgICAgIGNtZCA9IGNwdV90b19sZTMyKEZTTF9RRE1BX0NNRF9SV1RUWVBFIDw8 Cj4gPj4gKyAgICAgICAgICAgICAgICAgICAgICAgRlNMX1FETUFfQ01EX1JXVFRZUEVfT0ZGU0VU KTsKPiA+PiArICAgICBjbWQgfD0gY3B1X3RvX2xlMzIoRlNMX1FETUFfQ01EX0xXQyA8PAo+ID5G U0xfUURNQV9DTURfTFdDX09GRlNFVCk7Cj4gPj4gKyAgICAgcWRtYV9zZGRmX3NldF9jbWQoZGRm LCBjbWQpOwo+ID4+ICB9Cj4gPj4KPiA+PiAgLyoKPiA+PiBAQCAtNzAxLDEwICs3MTAsOCBAQCBz dGF0aWMgaXJxcmV0dXJuX3QgZnNsX3FkbWFfZXJyb3JfaGFuZGxlcihpbnQKPiA+PiBpcnEsIHZv aWQgKmRldl9pZCkKPiA+Pgo+ID4+ICAgICAgIGludHIgPSBxZG1hX3JlYWRsKGZzbF9xZG1hLCBz dGF0dXMgKyBGU0xfUURNQV9ERURSKTsKPiA+Pgo+ID4+IC0gICAgIGlmIChpbnRyKSB7Cj4gPj4g KyAgICAgaWYgKGludHIpCj4gPj4gICAgICAgICAgICAgICBkZXZfZXJyKGZzbF9xZG1hLT5kbWFf ZGV2LmRldiwgIkRNQSB0cmFuc2FjdGlvbgo+ID5lcnJvciFcbiIpOwo+ID4+IC0gICAgICAgICAg ICAgcmV0dXJuIElSUV9OT05FOwo+ID4+IC0gICAgIH0KPiA+Cj4gPnRoaXMgc2VlbXMgdW5yZWxh dGVkIGNhbiB5b3UgZXhwbGFpbj8KPiA+Cj4gW1BlbmcgTWFdIFRoaXMgaXMgYW4gYWRkZWQgaW1w cm92ZW1lbnQuIFdoZW4gYW4gZXJyb3Igb2NjdXJzIHdlIHNob3VsZCBjbGVhbiB0aGUgZXJyb3Ig cmVnIHRoZW4gdG8gcmV0dXJuLgo+IEkgZm9yZ290IHRvIGV4cGxhaW4gaXQgb24gY29tbWVudHMu IFNob3VsZCBJIGFkZCB0aGlzIGNoYW5nZWQgdG8gdGhlIGNvbW1lbnRzPwoKWWVzIGFuZCB5b3Ug c2hvdWxkIG1ha2UgaXQgYSBzZXBhcmF0ZSBwYXRjaC4gQSBwYXRjaCBzaG91bGQgZG8gb25seSAx CnRoaW5nIQo= 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 X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, T_DKIMWL_WL_HIGH,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5E8CFC43219 for ; Mon, 29 Apr 2019 05:16:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2D14E21473 for ; Mon, 29 Apr 2019 05:16:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556514962; bh=ywqvNzApMNOvae9TpnhhdkhMHxC1GaSR3kxRZV7fI2U=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=wxhAVal/Q5H4+SuxA0alIw8hXkxlSSiV60R0nhEriHOk+l408eeKVrtu4yxDG/fYe zq2EiFBCsPVonCH32Mc0EegRmMkzhY/S/CiZXeE+4vpLu7diJuvUrG3BsJZg6VON99 O9T8zJ/9zgPcGeB7TDcvAAs/XUzQYkNjjwH76HV4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726090AbfD2FQB (ORCPT ); Mon, 29 Apr 2019 01:16:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:34722 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725783AbfD2FQB (ORCPT ); Mon, 29 Apr 2019 01:16:01 -0400 Received: from localhost (unknown [171.76.113.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 06D982075E; Mon, 29 Apr 2019 05:15:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556514960; bh=ywqvNzApMNOvae9TpnhhdkhMHxC1GaSR3kxRZV7fI2U=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=HM+cjnKSv64amNbjcm+zSBvQYXTAAAUD2x5n2uzBSmvT/dQDrqQIQRtXymafTZzPK qUANHvrQ5rKGq1AYHveE4x8hUePKTadsO81MirCYc/Jx4O2a8VQmNPsKToC8xnTcfY 84NR/6LkbQoMARlFCA8VIucDFFzqQulBItE1f1ck= Date: Mon, 29 Apr 2019 10:45:54 +0530 From: Vinod Koul To: Peng Ma Cc: "dan.j.williams@intel.com" , Leo Li , "dmaengine@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [EXT] Re: [PATCH] dmaengine: fsl-qdma: fixed the source/destination descriptior format Message-ID: <20190429051554.GD3845@vkoul-mobl.Dlink> References: <20190419084629.41742-1-peng.ma@nxp.com> <20190426115047.GW28103@vkoul-mobl> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.11.3 (2019-02-01) Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org Message-ID: <20190429051554.f616TpF9IE4P0xWuCPFJMeySIgi2Gk-R08aFFGQZhlM@z> On 28-04-19, 02:00, Peng Ma wrote: > Hi Vinod, > > Thanks your comments. > Please see my comments inline. > > Best Regards, > Peng > > >-----Original Message----- > >From: Vinod Koul > >Sent: 2019年4月26日 19:51 > >To: Peng Ma > >Cc: dan.j.williams@intel.com; Leo Li ; > >dmaengine@vger.kernel.org; linux-kernel@vger.kernel.org > >Subject: [EXT] Re: [PATCH] dmaengine: fsl-qdma: fixed the source/destination > >descriptior format > > > >Caution: EXT Email > > > >On 19-04-19, 08:46, Peng Ma wrote: > >> CMD of Source/Destination descriptior format should be lower of > > > >s/descriptior/descriptor > > > [Peng Ma] Got it. > >> struct fsl_qdma_engine number data address. > >> > >> Signed-off-by: Peng Ma > >> --- > >> drivers/dma/fsl-qdma.c | 29 ++++++++++++++++++----------- > >> 1 files changed, 18 insertions(+), 11 deletions(-) > >> > >> diff --git a/drivers/dma/fsl-qdma.c b/drivers/dma/fsl-qdma.c index > >> aa1d0ae..542765a 100644 > >> --- a/drivers/dma/fsl-qdma.c > >> +++ b/drivers/dma/fsl-qdma.c > >> @@ -113,6 +113,7 @@ > >> /* Field definition for Descriptor offset */ > >> #define QDMA_CCDF_STATUS 20 > >> #define QDMA_CCDF_OFFSET 20 > >> +#define QDMA_SDDF_CMD(x) (((u64)(x)) << 32) > >> > >> /* Field definition for safe loop count*/ > >> #define FSL_QDMA_HALT_COUNT 1500 > >> @@ -214,6 +215,12 @@ struct fsl_qdma_engine { > >> > >> }; > >> > >> +static inline void > >> +qdma_sddf_set_cmd(struct fsl_qdma_format *sddf, u32 val) { > >> + sddf->data = QDMA_SDDF_CMD(val); } > >> + > >> static inline u64 > >> qdma_ccdf_addr_get64(const struct fsl_qdma_format *ccdf) { @@ > >-341,6 > >> +348,7 @@ static void fsl_qdma_free_chan_resources(struct dma_chan > >> *chan) static void fsl_qdma_comp_fill_memcpy(struct fsl_qdma_comp > >*fsl_comp, > >> dma_addr_t dst, dma_addr_t > >src, > >> u32 len) { > >> + u32 cmd; > >> struct fsl_qdma_format *sdf, *ddf; > >> struct fsl_qdma_format *ccdf, *csgf_desc, *csgf_src, *csgf_dest; > >> > >> @@ -353,6 +361,7 @@ static void fsl_qdma_comp_fill_memcpy(struct > >> fsl_qdma_comp *fsl_comp, > >> > >> memset(fsl_comp->virt_addr, 0, > >FSL_QDMA_COMMAND_BUFFER_SIZE); > >> memset(fsl_comp->desc_virt_addr, 0, > >> FSL_QDMA_DESCRIPTOR_BUFFER_SIZE); > >> + > >> /* Head Command Descriptor(Frame Descriptor) */ > >> qdma_desc_addr_set64(ccdf, fsl_comp->bus_addr + 16); > >> qdma_ccdf_set_format(ccdf, qdma_ccdf_get_offset(ccdf)); @@ > >> -369,14 +378,14 @@ static void fsl_qdma_comp_fill_memcpy(struct > >fsl_qdma_comp *fsl_comp, > >> /* This entry is the last entry. */ > >> qdma_csgf_set_f(csgf_dest, len); > >> /* Descriptor Buffer */ > >> - sdf->data = > >> - cpu_to_le64(FSL_QDMA_CMD_RWTTYPE << > >> - FSL_QDMA_CMD_RWTTYPE_OFFSET); > >> - ddf->data = > >> - cpu_to_le64(FSL_QDMA_CMD_RWTTYPE << > >> - FSL_QDMA_CMD_RWTTYPE_OFFSET); > >> - ddf->data |= > >> - cpu_to_le64(FSL_QDMA_CMD_LWC << > >FSL_QDMA_CMD_LWC_OFFSET); > >> + cmd = cpu_to_le32(FSL_QDMA_CMD_RWTTYPE << > >> + FSL_QDMA_CMD_RWTTYPE_OFFSET); > >> + qdma_sddf_set_cmd(sdf, cmd); > >> + > >> + cmd = cpu_to_le32(FSL_QDMA_CMD_RWTTYPE << > >> + FSL_QDMA_CMD_RWTTYPE_OFFSET); > >> + cmd |= cpu_to_le32(FSL_QDMA_CMD_LWC << > >FSL_QDMA_CMD_LWC_OFFSET); > >> + qdma_sddf_set_cmd(ddf, cmd); > >> } > >> > >> /* > >> @@ -701,10 +710,8 @@ static irqreturn_t fsl_qdma_error_handler(int > >> irq, void *dev_id) > >> > >> intr = qdma_readl(fsl_qdma, status + FSL_QDMA_DEDR); > >> > >> - if (intr) { > >> + if (intr) > >> dev_err(fsl_qdma->dma_dev.dev, "DMA transaction > >error!\n"); > >> - return IRQ_NONE; > >> - } > > > >this seems unrelated can you explain? > > > [Peng Ma] This is an added improvement. When an error occurs we should clean the error reg then to return. > I forgot to explain it on comments. Should I add this changed to the comments? Yes and you should make it a separate patch. A patch should do only 1 thing! -- ~Vinod