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: [4/5] dmaengine: sprd: Add Spreadtrum DMA configuration From: Baolin Wang Message-Id: Date: Fri, 13 Apr 2018 14:41:48 +0800 To: Vinod Koul Cc: Dan Williams , Eric Long , Mark Brown , dmaengine@vger.kernel.org, LKML List-ID: T24gMTMgQXByaWwgMjAxOCBhdCAxNDozNiwgVmlub2QgS291bCA8dmlub2Qua291bEBpbnRlbC5j b20+IHdyb3RlOgo+IE9uIEZyaSwgQXByIDEzLCAyMDE4IGF0IDAyOjE3OjM0UE0gKzA4MDAsIEJh b2xpbiBXYW5nIHdyb3RlOgo+Cj4+ID4gQWdyZWVkLCB1c2VycyBvbmx5IGNhcmUgYWJvdXQgZ3Jh YmJpbmcgYSBjaGFubmVsLCBzZXR0aW5nIGEgZGVzY3JpcHRvciBhbmQKPj4gPiBzdWJtaXR0aW5n IHRoYXQuCj4+ID4KPj4gPiBJIHRoaW5rIHlvdSBuZWVkIHRvIGdvIGJhY2sgYW5kIHRoaW5rIGFi b3V0IHRoaXMgYSBiaXQsIHBsZWFzZSBkbyBnbyB0aHJ1Cj4+ID4gZG1hZW5naW5lIGRvY3VtZW50 YXRpb24gYW5kIHNlZSBvdGhlciBkcml2ZXIgZXhhbXBsZXMuCj4+ID4KPj4gPiBXZSBkb24ndCB0 eXBpY2FsbHkgZXhwb3NlIHRoZXNlIHRvIHVzZXJzLCB0aGV5IGdpdmUgdXMgYSB0cmFuc2ZlciBh bmQgd2Ugc2V0Cj4+ID4gdGhhdCB1cCBpbiBoYXJkd2FyZSBmb3IgZWZmaWNpZW50LiBJdHMgRE1B IHNvIHBlb3BsZSBleHBlY3QgdXMgdG8gdXNlIGZhc3Rlc3QKPj4gPiBtZWNoYW5pc20gYXZhaWxh YmxlLgo+Pgo+PiBCdXQgdGhlcmUgYXJlIHNvbWUgY29uZmlndXJhdGlvbiBhcmUgcmVhbGx5IHNw ZWNpYWwgZm9yIFNwcmVhZHRydW0KPj4gRE1BLCBhbmQgbXVzdCBuZWVkIHVzZXIgdG8gc3BlY2lm eSBob3cgdG8gY29uZmlndXJlLCBlc3BlY2lhbGx5IHNvbWUKPj4gc2NlbmFyaW9zIG9mIGF1ZGlv LiBTbyBJIHdhbmRlciBpZiB3ZSBjYW4gYWRkIG9uZSBwb2ludGVyIGZvcgo+PiAnZG1hX3NsYXZl X2NvbmZpZycgdG8gZXhwYW5kIHNvbWUgc3BlY2lhbCBETUEgY29uZmlndXJhdGlvbgo+PiByZXF1 aXJlbWVudHMsIGxpa2U6Cj4+Cj4+IHN0cnVjdCBkbWFfc2xhdmVfY29uZmlnIHsKPj4gICAgIC4u Li4uLgo+PiAgICAgdW5zaWduZWQgaW50IHNsYXZlX2lkOwo+PiAgICAgdm9pZCAqcGxhdGZvcm1f ZGF0YTsKPj4gfTsKPj4KPj4gU28gaWYgc29tZSBETUEgaGFzIHNvbWUgc3BlY2lhbCBjb25maWd1 cmF0aW9uIChzdWNoIGFzIFNwcmVhZHRydW0KPj4gRE1BKSwgdGhleSBjYW4gdXNlciB0aGlzIHBs YXRmb3JtX2RhdGEgcG9pbnRlci4gTGlrZSB4aWxpbnggRE1BLCB0aGV5Cj4+IGFsc28gaGF2ZSBz b21lIHNwZWNpYWwgY29uZmlndXJhdGlvbi4KPgo+IFdlbGwgd2UgYWxsIHRoaW5rIG91ciBIVyBp cyBzcGVjaWFsIGFuZCBuZWVkcyBzb21lIGFkZGl0aW9uYWwgc3R1ZmYsIG1vc3Qgb2YKPiB0aGUg Y2FzZXMgdHVybnMgb3V0IG5vdCB0byBiZSB0aGUgY2FzZS4KPgo+IENhbiB5b3UgZXhwbGFpbiBo b3cgYXVkaW8gaW4gdGhpcyBjYXNlIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbi4uLgo+CgpCZXNp ZGUgdGhlIGdlbmVyYWwgY29uZmlndXJhdGlvbiwgb3VyIGF1ZGlvIGRyaXZlciB3aWxsIGNvbmZp Z3VyZSB0aGUKZnJhZ21lbnQgbGVuZ3RoLCBibG9jayBsZW5ndGgsIG1heWJlIHRyYW5zYWN0aW9u IGxlbmd0aCwgYW5kIHRoZXkgbXVzdApzcGVjaWZ5IHRoZSByZXF1ZXN0IHR5cGUgYW5kIGludGVy cnVwdCB0eXBlLCB0aGVzZSBhcmUgd2hhdCB3ZSB3YW50IHRvCmV4cG9ydCBmb3IgdXNlcnMuCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753508AbeDMGlv (ORCPT ); Fri, 13 Apr 2018 02:41:51 -0400 Received: from mail-ot0-f169.google.com ([74.125.82.169]:36955 "EHLO mail-ot0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752594AbeDMGlt (ORCPT ); Fri, 13 Apr 2018 02:41:49 -0400 X-Google-Smtp-Source: AIpwx4/oC1xv2vqG//TCbF9Or18tDlZ9KZeUsaIJxktycTsK3KxGoeS8wA29/TJkJRGLgUZDSo8QIbnwxgxpjRBIbdI= MIME-Version: 1.0 In-Reply-To: <20180413063641.GL6014@localhost> References: <0c2b76aba6a49e583f920ae582d6815fa9cc4361.1523346135.git.baolin.wang@linaro.org> <20180411093634.GC6014@localhost> <20180412093735.GF6014@localhost> <20180413034332.GI6014@localhost> <20180413063641.GL6014@localhost> From: Baolin Wang Date: Fri, 13 Apr 2018 14:41:48 +0800 Message-ID: Subject: Re: [PATCH 4/5] dmaengine: sprd: Add Spreadtrum DMA configuration To: Vinod Koul Cc: Dan Williams , Eric Long , Mark Brown , dmaengine@vger.kernel.org, LKML Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13 April 2018 at 14:36, Vinod Koul wrote: > On Fri, Apr 13, 2018 at 02:17:34PM +0800, Baolin Wang wrote: > >> > Agreed, users only care about grabbing a channel, setting a descriptor and >> > submitting that. >> > >> > I think you need to go back and think about this a bit, please do go thru >> > dmaengine documentation and see other driver examples. >> > >> > We don't typically expose these to users, they give us a transfer and we set >> > that up in hardware for efficient. Its DMA so people expect us to use fastest >> > mechanism available. >> >> But there are some configuration are really special for Spreadtrum >> DMA, and must need user to specify how to configure, especially some >> scenarios of audio. So I wander if we can add one pointer for >> 'dma_slave_config' to expand some special DMA configuration >> requirements, like: >> >> struct dma_slave_config { >> ...... >> unsigned int slave_id; >> void *platform_data; >> }; >> >> So if some DMA has some special configuration (such as Spreadtrum >> DMA), they can user this platform_data pointer. Like xilinx DMA, they >> also have some special configuration. > > Well we all think our HW is special and needs some additional stuff, most of > the cases turns out not to be the case. > > Can you explain how audio in this case additional configuration... > Beside the general configuration, our audio driver will configure the fragment length, block length, maybe transaction length, and they must specify the request type and interrupt type, these are what we want to export for users. -- Baolin.wang Best Regards