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: Vinod Koul Message-Id: <20180416035831.GO6014@localhost> Date: Mon, 16 Apr 2018 09:28:33 +0530 To: Baolin Wang Cc: Dan Williams , Eric Long , Mark Brown , dmaengine@vger.kernel.org, LKML List-ID: T24gRnJpLCBBcHIgMTMsIDIwMTggYXQgMDI6NDE6NDhQTSArMDgwMCwgQmFvbGluIFdhbmcgd3Jv dGU6Cj4gT24gMTMgQXByaWwgMjAxOCBhdCAxNDozNiwgVmlub2QgS291bCA8dmlub2Qua291bEBp bnRlbC5jb20+IHdyb3RlOgo+ID4gT24gRnJpLCBBcHIgMTMsIDIwMTggYXQgMDI6MTc6MzRQTSAr MDgwMCwgQmFvbGluIFdhbmcgd3JvdGU6Cj4gPgo+ID4+ID4gQWdyZWVkLCB1c2VycyBvbmx5IGNh cmUgYWJvdXQgZ3JhYmJpbmcgYSBjaGFubmVsLCBzZXR0aW5nIGEgZGVzY3JpcHRvciBhbmQKPiA+ PiA+IHN1Ym1pdHRpbmcgdGhhdC4KPiA+PiA+Cj4gPj4gPiBJIHRoaW5rIHlvdSBuZWVkIHRvIGdv IGJhY2sgYW5kIHRoaW5rIGFib3V0IHRoaXMgYSBiaXQsIHBsZWFzZSBkbyBnbyB0aHJ1Cj4gPj4g PiBkbWFlbmdpbmUgZG9jdW1lbnRhdGlvbiBhbmQgc2VlIG90aGVyIGRyaXZlciBleGFtcGxlcy4K PiA+PiA+Cj4gPj4gPiBXZSBkb24ndCB0eXBpY2FsbHkgZXhwb3NlIHRoZXNlIHRvIHVzZXJzLCB0 aGV5IGdpdmUgdXMgYSB0cmFuc2ZlciBhbmQgd2Ugc2V0Cj4gPj4gPiB0aGF0IHVwIGluIGhhcmR3 YXJlIGZvciBlZmZpY2llbnQuIEl0cyBETUEgc28gcGVvcGxlIGV4cGVjdCB1cyB0byB1c2UgZmFz dGVzdAo+ID4+ID4gbWVjaGFuaXNtIGF2YWlsYWJsZS4KPiA+Pgo+ID4+IEJ1dCB0aGVyZSBhcmUg c29tZSBjb25maWd1cmF0aW9uIGFyZSByZWFsbHkgc3BlY2lhbCBmb3IgU3ByZWFkdHJ1bQo+ID4+ IERNQSwgYW5kIG11c3QgbmVlZCB1c2VyIHRvIHNwZWNpZnkgaG93IHRvIGNvbmZpZ3VyZSwgZXNw ZWNpYWxseSBzb21lCj4gPj4gc2NlbmFyaW9zIG9mIGF1ZGlvLiBTbyBJIHdhbmRlciBpZiB3ZSBj YW4gYWRkIG9uZSBwb2ludGVyIGZvcgo+ID4+ICdkbWFfc2xhdmVfY29uZmlnJyB0byBleHBhbmQg c29tZSBzcGVjaWFsIERNQSBjb25maWd1cmF0aW9uCj4gPj4gcmVxdWlyZW1lbnRzLCBsaWtlOgo+ ID4+Cj4gPj4gc3RydWN0IGRtYV9zbGF2ZV9jb25maWcgewo+ID4+ICAgICAuLi4uLi4KPiA+PiAg ICAgdW5zaWduZWQgaW50IHNsYXZlX2lkOwo+ID4+ICAgICB2b2lkICpwbGF0Zm9ybV9kYXRhOwo+ ID4+IH07Cj4gPj4KPiA+PiBTbyBpZiBzb21lIERNQSBoYXMgc29tZSBzcGVjaWFsIGNvbmZpZ3Vy YXRpb24gKHN1Y2ggYXMgU3ByZWFkdHJ1bQo+ID4+IERNQSksIHRoZXkgY2FuIHVzZXIgdGhpcyBw bGF0Zm9ybV9kYXRhIHBvaW50ZXIuIExpa2UgeGlsaW54IERNQSwgdGhleQo+ID4+IGFsc28gaGF2 ZSBzb21lIHNwZWNpYWwgY29uZmlndXJhdGlvbi4KPiA+Cj4gPiBXZWxsIHdlIGFsbCB0aGluayBv dXIgSFcgaXMgc3BlY2lhbCBhbmQgbmVlZHMgc29tZSBhZGRpdGlvbmFsIHN0dWZmLCBtb3N0IG9m Cj4gPiB0aGUgY2FzZXMgdHVybnMgb3V0IG5vdCB0byBiZSB0aGUgY2FzZS4KPiA+Cj4gPiBDYW4g eW91IGV4cGxhaW4gaG93IGF1ZGlvIGluIHRoaXMgY2FzZSBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRp b24uLi4KPiAKPiBCZXNpZGUgdGhlIGdlbmVyYWwgY29uZmlndXJhdGlvbiwgb3VyIGF1ZGlvIGRy aXZlciB3aWxsIGNvbmZpZ3VyZSB0aGUKPiBmcmFnbWVudCBsZW5ndGgsIGJsb2NrIGxlbmd0aCwg bWF5YmUgdHJhbnNhY3Rpb24gbGVuZ3RoLCBhbmQgdGhleSBtdXN0Cj4gc3BlY2lmeSB0aGUgcmVx dWVzdCB0eXBlIGFuZCBpbnRlcnJ1cHQgdHlwZSwgdGhlc2UgYXJlIHdoYXQgd2Ugd2FudCB0bwo+ IGV4cG9ydCBmb3IgdXNlcnMuCgpBcyBJIHNhaWQgYmVmb3JlLCB5b3UgbmVlZCB0byBkZXJpdmUg ZnJhZ21lbnQsIGJsb2NrIG9yIHRyYW5zYWN0aW9uIGZyb20KZ2l2ZW4gcHJlcF9jeWNsaWMgdmFs dWVzLiBJbnRlcnJ1cHQgdHlwZSBuZWVkcyB0byBiZSBkZXJpdmVkIHdpdGggdGhlIGZsYWdzCnBh c3NlZC4gUGxlYXNlIGRvIHNlZSBob3cgb3RoZXIgZHJpdmVycyBtYWtlIHVzZSBvZiBpdC4K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753145AbeDPDyF (ORCPT ); Sun, 15 Apr 2018 23:54:05 -0400 Received: from mga17.intel.com ([192.55.52.151]:52593 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753107AbeDPDyD (ORCPT ); Sun, 15 Apr 2018 23:54:03 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,458,1517904000"; d="scan'208";a="216849434" Date: Mon, 16 Apr 2018 09:28:33 +0530 From: Vinod Koul To: Baolin Wang Cc: Dan Williams , Eric Long , Mark Brown , dmaengine@vger.kernel.org, LKML Subject: Re: [PATCH 4/5] dmaengine: sprd: Add Spreadtrum DMA configuration Message-ID: <20180416035831.GO6014@localhost> References: <0c2b76aba6a49e583f920ae582d6815fa9cc4361.1523346135.git.baolin.wang@linaro.org> <20180411093634.GC6014@localhost> <20180412093735.GF6014@localhost> <20180413034332.GI6014@localhost> <20180413063641.GL6014@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 13, 2018 at 02:41:48PM +0800, Baolin Wang wrote: > 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. As I said before, you need to derive fragment, block or transaction from given prep_cyclic values. Interrupt type needs to be derived with the flags passed. Please do see how other drivers make use of it. -- ~Vinod