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: <20180411093634.GC6014@localhost> Date: Wed, 11 Apr 2018 15:06:34 +0530 To: Baolin Wang Cc: dan.j.williams@intel.com, eric.long@spreadtrum.com, broonie@kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gVHVlLCBBcHIgMTAsIDIwMTggYXQgMDM6NDY6MDZQTSArMDgwMCwgQmFvbGluIFdhbmcgd3Jv dGU6Cgo+ICsvKgo+ICsgKiBzdHJ1Y3Qgc3ByZF9kbWFfY29uZmlnIC0gRE1BIGNvbmZpZ3VyYXRp b24gc3RydWN0dXJlCj4gKyAqIEBjb25maWc6IGRtYSBzbGF2ZSBjaGFubmVsIGNvbmZpZwo+ICsg KiBAZnJhZ21lbnRfbGVuOiBzcGVjaWZ5IG9uZSBmcmFnbWVudCB0cmFuc2ZlciBsZW5ndGgKPiAr ICogQGJsb2NrX2xlbjogc3BlY2lmeSBvbmUgYmxvY2sgdHJhbnNmZXIgbGVuZ3RoCj4gKyAqIEB0 cmFuc2NhdGlvbl9sZW46IHNwZWNpZnkgb25lIHRyYW5zY2F0aW9uIHRyYW5zZmVyIGxlbmd0aAo+ ICsgKiBAd3JhcF9wdHI6IHdyYXAgcG9pbnRlciBhZGRyZXNzLCBvbmNlIHRoZSB0cmFuc2ZlciBh ZGRyZXNzIHJlYWNoZXMgdGhlCj4gKyAqICd3cmFwX3B0cicsIHRoZSBuZXh0IHRyYW5zZmVyIGFk ZHJlc3Mgd2lsbCBqdW1wIHRvIHRoZSAnd3JhcF90bycgYWRkcmVzcy4KPiArICogQHdyYXBfdG86 IHdyYXAganVtcCB0byBhZGRyZXNzCj4gKyAqIEByZXFfbW9kZTogc3BlY2lmeSB0aGUgRE1BIHJl cXVlc3QgbW9kZQo+ICsgKiBAaW50X21vZGU6IHNwZWNpZnkgdGhlIERNQSBpbnRlcnJ1cHQgdHlw ZQo+ICsgKi8KPiArc3RydWN0IHNwcmRfZG1hX2NvbmZpZyB7Cj4gKwlzdHJ1Y3QgZG1hX3NsYXZl X2NvbmZpZyBjb25maWc7Cj4gKwl1MzIgZnJhZ21lbnRfbGVuOwoKd2h5IG5vdCB1c2UgX21heGJ1 cnN0PwoKPiArCXUzMiBibG9ja19sZW47Cj4gKwl1MzIgdHJhbnNjYXRpb25fbGVuOwoKd2hhdCBk b2VzIGJsb2NrIGFuZCB0cmFuc2FjdGlvbiBsZW4gcmVmZXIgdG8gaGVyZQoKPiArCXBoeXNfYWRk cl90IHdyYXBfcHRyOwo+ICsJcGh5c19hZGRyX3Qgd3JhcF90bzsKCnRoaXMgc291bmQgc2dfbGlz dCB0byBtZSwgd2h5IGFyZSB3ZSBub3QgdXNpbmcgdGhhdCBoZXJlCgo+ICsJZW51bSBzcHJkX2Rt YV9yZXFfbW9kZSByZXFfbW9kZTsKCkxvb2tpbmcgYXQgZGVmaW5pdGlvbiBvZiByZXF1ZXN0IG1v ZGUgd2UgaGF2ZSBmcmFnLCBibG9jaywgdHJhbnNhY3Rpb24gbGlzdApldGMuLiBUaGF0IHNob3Vs ZCBkZXBlbmQgdXBvbiBkbWEgcmVxdWVzdC4gSWYgeW91IGhhdmUgYmVlbiBhc2tlZCB0bwp0cmFu c2ZlciBhIGxpc3QsIHlvdSBzaGFsbCBjb25maWd1cmUgbGlzdCBtb2RlLiBpZiBpdCBpcyBhIHNp bmdsZQp0cmFuc2FjdGlvbiB0aGVuIGl0IHNob3VsZCBiZSB0cmFuc2FjdGlvbiBtb2RlIQoKPiAr CWVudW0gc3ByZF9kbWFfaW50X3R5cGUgaW50X21vZGU7CgpIZXJlIGFnYWluIEkgdGhpbmsgZHJp dmVyIG5lZWRzIHRvIHRha2UgYSBjYWxsIGJhc2VkIG9uIGRtYV9jdHJsX2ZsYWdzLgoKT2theSBJ IGRvbnQgdGhpbmsgd2UgYXJlIHByb2NlZWRpbmcgaW4gcmlnaHQgZGlyZWN0aW9uIG9uIHRoaXMg b25lLiBUaGlzCnNlZW1zIHRvIGJlIGZhaXJseSBnZW5lcmljIGRtYSBjb250cm9sbGVyIGFuZCBp biBsaW5lIHdpdGggb3RoZXIgSVAgYmxvY2tzCmFuZCB5b3Ugc2hvdWxkIHRha2UgcmVmZXJlbmNl IGZyb20gdGhvc2Ugb25lLiBJIGRvbnQgdGhpbmsgd2UgbmVlZCB0aGlzCmNvbmZpZ3VyYXRpb24g YW5kIGNhbiBkbyB3aXRoIGdlbmVyaWMgYXBpIGFuZCBjb25maWd1cmF0aW9uIHByb3ZpZGVkLgoK VGhhbmtzCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752426AbeDKJcK (ORCPT ); Wed, 11 Apr 2018 05:32:10 -0400 Received: from mga03.intel.com ([134.134.136.65]:30212 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751854AbeDKJcI (ORCPT ); Wed, 11 Apr 2018 05:32:08 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,435,1517904000"; d="scan'208";a="46011642" Date: Wed, 11 Apr 2018 15:06:34 +0530 From: Vinod Koul To: Baolin Wang Cc: dan.j.williams@intel.com, eric.long@spreadtrum.com, broonie@kernel.org, dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/5] dmaengine: sprd: Add Spreadtrum DMA configuration Message-ID: <20180411093634.GC6014@localhost> References: <0c2b76aba6a49e583f920ae582d6815fa9cc4361.1523346135.git.baolin.wang@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0c2b76aba6a49e583f920ae582d6815fa9cc4361.1523346135.git.baolin.wang@linaro.org> 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 Tue, Apr 10, 2018 at 03:46:06PM +0800, Baolin Wang wrote: > +/* > + * struct sprd_dma_config - DMA configuration structure > + * @config: dma slave channel config > + * @fragment_len: specify one fragment transfer length > + * @block_len: specify one block transfer length > + * @transcation_len: specify one transcation transfer length > + * @wrap_ptr: wrap pointer address, once the transfer address reaches the > + * 'wrap_ptr', the next transfer address will jump to the 'wrap_to' address. > + * @wrap_to: wrap jump to address > + * @req_mode: specify the DMA request mode > + * @int_mode: specify the DMA interrupt type > + */ > +struct sprd_dma_config { > + struct dma_slave_config config; > + u32 fragment_len; why not use _maxburst? > + u32 block_len; > + u32 transcation_len; what does block and transaction len refer to here > + phys_addr_t wrap_ptr; > + phys_addr_t wrap_to; this sound sg_list to me, why are we not using that here > + enum sprd_dma_req_mode req_mode; Looking at definition of request mode we have frag, block, transaction list etc.. That should depend upon dma request. If you have been asked to transfer a list, you shall configure list mode. if it is a single transaction then it should be transaction mode! > + enum sprd_dma_int_type int_mode; Here again I think driver needs to take a call based on dma_ctrl_flags. Okay I dont think we are proceeding in right direction on this one. This seems to be fairly generic dma controller and in line with other IP blocks and you should take reference from those one. I dont think we need this configuration and can do with generic api and configuration provided. Thanks -- ~Vinod