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: [v2,2/2] drivers: remove force dma flag from buses From: Greg Kroah-Hartman Message-Id: <20180321174924.GA11141@kroah.com> Date: Wed, 21 Mar 2018 18:49:24 +0100 To: Nipun Gupta Cc: "robin.murphy@arm.com" , "hch@lst.de" , "linux@armlinux.org.uk" , "m.szyprowski@samsung.com" , "bhelgaas@google.com" , "zajec5@gmail.com" , "andy.gross@linaro.org" , "david.brown@linaro.org" , "dan.j.williams@intel.com" , "vinod.koul@intel.com" , "thierry.reding@gmail.com" , "robh+dt@kernel.org" , "frowand.list@gmail.com" , "jarkko.sakkinen@linux.intel.com" , "rafael.j.wysocki@intel.com" , "dmitry.torokhov@gmail.com" , "johan@kernel.org" , "msuchanek@suse.de" , "linux-kernel@vger.kernel.org" , "iommu@lists.linux-foundation.org" , "linux-wireless@vger.kernel.org" , "linux-arm-msm@vger.kernel.org" , "linux-soc@vger.kernel.org" , "dmaengine@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "linux-tegra@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-pci@vger.kernel.org" , Bharat Bhushan , Leo Li List-ID: T24gV2VkLCBNYXIgMjEsIDIwMTggYXQgMDQ6Mjg6NDZQTSArMDAwMCwgTmlwdW4gR3VwdGEgd3Jv dGU6Cj4gCj4gCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+ID4gRnJvbTogR3JlZyBL SCBbbWFpbHRvOmdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnXQo+ID4gU2VudDogV2VkbmVzZGF5 LCBNYXJjaCAyMSwgMjAxOCAxNTowNQo+ID4gVG86IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBu eHAuY29tPgo+ID4gQ2M6IHJvYmluLm11cnBoeUBhcm0uY29tOyBoY2hAbHN0LmRlOyBsaW51eEBh cm1saW51eC5vcmcudWs7Cj4gPiBtLnN6eXByb3dza2lAc2Ftc3VuZy5jb207IGJoZWxnYWFzQGdv b2dsZS5jb207IHphamVjNUBnbWFpbC5jb207Cj4gPiBhbmR5Lmdyb3NzQGxpbmFyby5vcmc7IGRh dmlkLmJyb3duQGxpbmFyby5vcmc7IGRhbi5qLndpbGxpYW1zQGludGVsLmNvbTsKPiA+IHZpbm9k LmtvdWxAaW50ZWwuY29tOyB0aGllcnJ5LnJlZGluZ0BnbWFpbC5jb207IHJvYmgrZHRAa2VybmVs Lm9yZzsKPiA+IGZyb3dhbmQubGlzdEBnbWFpbC5jb207IGphcmtrby5zYWtraW5lbkBsaW51eC5p bnRlbC5jb207Cj4gPiByYWZhZWwuai53eXNvY2tpQGludGVsLmNvbTsgZG1pdHJ5LnRvcm9raG92 QGdtYWlsLmNvbTsgam9oYW5Aa2VybmVsLm9yZzsKPiA+IG1zdWNoYW5la0BzdXNlLmRlOyBsaW51 eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBpb21tdUBsaXN0cy5saW51eC0KPiA+IGZvdW5kYXRp b24ub3JnOyBsaW51eC13aXJlbGVzc0B2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LWFybS0KPiA+IG1z bUB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LXNvY0B2Z2VyLmtlcm5lbC5vcmc7IGRtYWVuZ2luZUB2 Z2VyLmtlcm5lbC5vcmc7Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnOyBsaW51 eC10ZWdyYUB2Z2VyLmtlcm5lbC5vcmc7Cj4gPiBkZXZpY2V0cmVlQHZnZXIua2VybmVsLm9yZzsg bGludXgtcGNpQHZnZXIua2VybmVsLm9yZzsgQmhhcmF0IEJodXNoYW4KPiA+IDxiaGFyYXQuYmh1 c2hhbkBueHAuY29tPjsgTGVvIExpIDxsZW95YW5nLmxpQG54cC5jb20+Cj4gPiBTdWJqZWN0OiBS ZTogW1BBVENIIHYyIDIvMl0gZHJpdmVyczogcmVtb3ZlIGZvcmNlIGRtYSBmbGFnIGZyb20gYnVz ZXMKPiA+IAo+ID4gT24gV2VkLCBNYXIgMjEsIDIwMTggYXQgMTI6MjU6MjNQTSArMDUzMCwgTmlw dW4gR3VwdGEgd3JvdGU6Cj4gPiA+IFdpdGggZWFjaCBidXMgaW1wbGVtZW50aW5nIGl0cyBvd24g RE1BIGNvbmZpZ3VyYXRpb24gY2FsbGJhY2ssCj4gPiA+IHRoZXJlIGlzIG5vIG5lZWQgZm9yIGJ1 cyB0byBleHBsaWNpdGx5IGhhdmUgZm9yY2VfZG1hIGluIGl0cwo+ID4gPiBnbG9iYWwgc3RydWN0 dXJlLiBUaGlzIHBhdGNoIG1vZGlmaWVzIG9mX2RtYV9jb25maWd1cmUgQVBJIHRvCj4gPiA+IGFj Y2VwdCBhbiBpbnB1dCBwYXJhbWV0ZXIgd2hpY2ggc3BlY2lmaWVzIGlmIGltcGxpY2l0IERNQQo+ ID4gPiBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIGV2ZW4gd2hlbiBpdCBpcyBub3QgZGVzY3Jp YmVkIGJ5IHRoZQo+ID4gPiBmaXJtd2FyZS4KPiA+IAo+ID4gSGF2aW5nIHRvICJyZW1lbWJlciIg d2hhdCB0aGF0IGJvb2wgdmFyaWFibGUgbWVhbnMgb24gdGhlIGVuZCBvZiB0aGUKPiA+IGZ1bmN0 aW9uIGNhbGwgaXMgYSByb3lhbCBwYWluIG92ZXIgdGltZSwgcmlnaHQ/Cj4gPiAKPiA+IFdoeSBu b3QganVzdCBjcmVhdGUgYSBuZXcgZnVuY3Rpb246Cj4gPiAJZG1hX2NvbW1vbl9jb25maWd1cmVf Zm9yY2UoZG1hKQo+ID4gdGhhdCBhbHdheXMgZG9lcyB0aGlzPyAgTGVhdmUgImRtYV9jb21tb25f Y29uZmlndXJlKCkiIGFsb25lLCBhbmQgdGhlbgo+ID4gd3JhcCB0aGUgb2xkIGNvZGUgd2l0aCB0 aGVzZSB0d28gaGVscGVyIGZ1bmN0aW9ucyB0aGF0IGNhbGwgdGhlICdjb3JlJwo+ID4gY29kZSB3 aXRoIHRoZSBib29sIHNldCBwcm9wZXJseT8KPiA+IAo+ID4gVGhhdCB3YXkgeW91IGRvIG5vdCBo YXZlIHRvICJrbm93IiB3aGF0IHRoYXQgcGFyYW1ldGVyIGlzLCB0aGUgZnVuY3Rpb24KPiA+IG5h bWUganVzdCBkb2N1bWVudHMgaXQgYXV0b21hdGljYWxseSwgc28gd2hlbiB5b3Ugc2VlIGl0IGlu IHRoZQo+ID4gYnVzLXNwZWNpZmljIGNvZGUsIG5vIG5lZWQgdG8gZ28gYW5kIGhhdmUgdG8gaHVu dCBmb3IgYW55dGhpbmcuICBBbmQgaWYKPiA+IHlvdSBhcmUgcmVhZGluZyB0aGUgZG1hIGNvcmUg Y29kZSwgaXQncyBvYnZpb3VzIHdoYXQgaXMgaGFwcGVuaW5nIGFzIHRoZQo+ID4gZnVuY3Rpb25z IGFyZSBhbGwgcmlnaHQgdGhlcmUuCj4gCj4gSG93IGFib3V0IHdlIGRvIG5vdCBwYXNzIGFueSBm bGFnIGluICdkbWFfY29tbW9uX2NvbmZpZ3VyZSgpJywgYW5kIGluc2lkZSB0aGlzCj4gQVBJIHdl IHBhc3MgInRydWUiIHRvICdvZl9kbWFfY29uZmlndXJlKCknPyBJIGFtIHNheWluZyB0aGlzIGJl Y2F1c2UgY3VycmVudGx5Cj4gYm90aCB0aGUgYnVzc2VzIChwbGF0Zm9ybSBhbmQgQU1CQSkgd2hp Y2ggdXNlcyAnZG1hX2NvbW1vbl9jb25maWd1cmUoKScgcGFzc2VzCj4gInRydWUiIHZhbHVlLiBJ ZiB3ZSBjcmVhdGUgYWRkaXRpb25hbCAnZG1hX2NvbW1vbl9jb25maWd1cmVfZm9yY2UoKScsIHRo ZW4KPiAnZG1hX2NvbW1vbl9jb25maWd1cmUoKScgd2lsbCBub3QgYmUgdXNlZCBhbnl0aW1lIGFu ZCB3aWxsIGJlY29tZSByZWR1bmRhbnQuCj4gCj4gSWYgc29tZWRheSBuZXcgYnVzc2VzIGNvbWUg YW5kIHRoZXkgbmVlZHMgdG8gdXNlIHNpbWlsYXIgZnVuY3Rpb25hbGl0eSB3aGljaAo+ICdkbWFf Y29tbW9uX2NvbmZpZ3VyZSgpJyBwcm92aWRlcywgYnV0IHdpdGggcGFzc2luZyAiZmFsc2UiIHRv ICdvZl9kbWFfY29uZmlndXJlKCknLAo+IHRoZW4gd2hhdCB5b3Ugc3VnZ2VzdHMgb2YgaGF2aW5n IHR3byBzZXBhcmF0ZSBzdWNoIEFQSSdzIHdpbGwgYmUgbW9yZSByZWFzb25hYmxlCj4gYW5kIGNh biBiZSBpbXBsZW1lbnRlZD8KCklmIHRoYXQgbWFrZXMgdGhpbmdzICJzaW1wbGUiLCB5ZXMsIHNv dW5kcyBnb29kLgoKZ3JlZyBrLWgKLS0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBz ZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBkbWFlbmdpbmUiIGluCnRoZSBib2R5IG9mIGEgbWVz c2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQg IGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg KH Subject: Re: [PATCH v2 2/2] drivers: remove force dma flag from buses Date: Wed, 21 Mar 2018 18:49:24 +0100 Message-ID: <20180321174924.GA11141@kroah.com> References: <1520868292-2479-1-git-send-email-nipun.gupta@nxp.com> <1521615323-4752-1-git-send-email-nipun.gupta@nxp.com> <1521615323-4752-2-git-send-email-nipun.gupta@nxp.com> <20180321093525.GT14085@kroah.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Nipun Gupta Cc: "zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org" , "linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org" , "david.brown-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org" , "thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org" , "frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org" , "hch-jcswGhMUV9g@public.gmane.org" , "vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org" , "rafael.j.wysocki-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org" , "linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org" , "andy.gross-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org" , "msuchanek-l3A5Bk7waGM@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org" , "robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org" , dri-devel-PD4FTy7X32k@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org On Wed, Mar 21, 2018 at 04:28:46PM +0000, Nipun Gupta wrote: > > > > -----Original Message----- > > From: Greg KH [mailto:gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org] > > Sent: Wednesday, March 21, 2018 15:05 > > To: Nipun Gupta > > Cc: robin.murphy-5wv7dgnIgG8@public.gmane.org; hch-jcswGhMUV9g@public.gmane.org; linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org; > > m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org; bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org; zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; > > andy.gross-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org; david.brown-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org; dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; > > vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org; > > frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; jarkko.sakkinen-VuQAYsv1563Yd54FQh9/CA@public.gmane.org; > > rafael.j.wysocki-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org; dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org; johan-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org; > > msuchanek-l3A5Bk7waGM@public.gmane.org; linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; iommu-cunTk1MwBs/ROKNJybVBZg@public.gmane.org > > foundation.org; linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-arm- > > msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; > > dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org; linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; > > devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org; Bharat Bhushan > > ; Leo Li > > Subject: Re: [PATCH v2 2/2] drivers: remove force dma flag from buses > > > > On Wed, Mar 21, 2018 at 12:25:23PM +0530, Nipun Gupta wrote: > > > With each bus implementing its own DMA configuration callback, > > > there is no need for bus to explicitly have force_dma in its > > > global structure. This patch modifies of_dma_configure API to > > > accept an input parameter which specifies if implicit DMA > > > configuration is required even when it is not described by the > > > firmware. > > > > Having to "remember" what that bool variable means on the end of the > > function call is a royal pain over time, right? > > > > Why not just create a new function: > > dma_common_configure_force(dma) > > that always does this? Leave "dma_common_configure()" alone, and then > > wrap the old code with these two helper functions that call the 'core' > > code with the bool set properly? > > > > That way you do not have to "know" what that parameter is, the function > > name just documents it automatically, so when you see it in the > > bus-specific code, no need to go and have to hunt for anything. And if > > you are reading the dma core code, it's obvious what is happening as the > > functions are all right there. > > How about we do not pass any flag in 'dma_common_configure()', and inside this > API we pass "true" to 'of_dma_configure()'? I am saying this because currently > both the busses (platform and AMBA) which uses 'dma_common_configure()' passes > "true" value. If we create additional 'dma_common_configure_force()', then > 'dma_common_configure()' will not be used anytime and will become redundant. > > If someday new busses come and they needs to use similar functionality which > 'dma_common_configure()' provides, but with passing "false" to 'of_dma_configure()', > then what you suggests of having two separate such API's will be more reasonable > and can be implemented? If that makes things "simple", yes, sounds good. greg k-h From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:57070 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752122AbeCURt0 (ORCPT ); Wed, 21 Mar 2018 13:49:26 -0400 Date: Wed, 21 Mar 2018 18:49:24 +0100 From: Greg KH To: Nipun Gupta Cc: "robin.murphy@arm.com" , "hch@lst.de" , "linux@armlinux.org.uk" , "m.szyprowski@samsung.com" , "bhelgaas@google.com" , "zajec5@gmail.com" , "andy.gross@linaro.org" , "david.brown@linaro.org" , "dan.j.williams@intel.com" , "vinod.koul@intel.com" , "thierry.reding@gmail.com" , "robh+dt@kernel.org" , "frowand.list@gmail.com" , "jarkko.sakkinen@linux.intel.com" , "rafael.j.wysocki@intel.com" , "dmitry.torokhov@gmail.com" , "johan@kernel.org" , "msuchanek@suse.de" , "linux-kernel@vger.kernel.org" , "iommu@lists.linux-foundation.org" , "linux-wireless@vger.kernel.org" , "linux-arm-msm@vger.kernel.org" , "linux-soc@vger.kernel.org" , "dmaengine@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "linux-tegra@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-pci@vger.kernel.org" , Bharat Bhushan , Leo Li Subject: Re: [PATCH v2 2/2] drivers: remove force dma flag from buses Message-ID: <20180321174924.GA11141@kroah.com> References: <1520868292-2479-1-git-send-email-nipun.gupta@nxp.com> <1521615323-4752-1-git-send-email-nipun.gupta@nxp.com> <1521615323-4752-2-git-send-email-nipun.gupta@nxp.com> <20180321093525.GT14085@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii In-Reply-To: Sender: linux-pci-owner@vger.kernel.org List-ID: On Wed, Mar 21, 2018 at 04:28:46PM +0000, Nipun Gupta wrote: > > > > -----Original Message----- > > From: Greg KH [mailto:gregkh@linuxfoundation.org] > > Sent: Wednesday, March 21, 2018 15:05 > > To: Nipun Gupta > > Cc: robin.murphy@arm.com; hch@lst.de; linux@armlinux.org.uk; > > m.szyprowski@samsung.com; bhelgaas@google.com; zajec5@gmail.com; > > andy.gross@linaro.org; david.brown@linaro.org; dan.j.williams@intel.com; > > vinod.koul@intel.com; thierry.reding@gmail.com; robh+dt@kernel.org; > > frowand.list@gmail.com; jarkko.sakkinen@linux.intel.com; > > rafael.j.wysocki@intel.com; dmitry.torokhov@gmail.com; johan@kernel.org; > > msuchanek@suse.de; linux-kernel@vger.kernel.org; iommu@lists.linux- > > foundation.org; linux-wireless@vger.kernel.org; linux-arm- > > msm@vger.kernel.org; linux-soc@vger.kernel.org; dmaengine@vger.kernel.org; > > dri-devel@lists.freedesktop.org; linux-tegra@vger.kernel.org; > > devicetree@vger.kernel.org; linux-pci@vger.kernel.org; Bharat Bhushan > > ; Leo Li > > Subject: Re: [PATCH v2 2/2] drivers: remove force dma flag from buses > > > > On Wed, Mar 21, 2018 at 12:25:23PM +0530, Nipun Gupta wrote: > > > With each bus implementing its own DMA configuration callback, > > > there is no need for bus to explicitly have force_dma in its > > > global structure. This patch modifies of_dma_configure API to > > > accept an input parameter which specifies if implicit DMA > > > configuration is required even when it is not described by the > > > firmware. > > > > Having to "remember" what that bool variable means on the end of the > > function call is a royal pain over time, right? > > > > Why not just create a new function: > > dma_common_configure_force(dma) > > that always does this? Leave "dma_common_configure()" alone, and then > > wrap the old code with these two helper functions that call the 'core' > > code with the bool set properly? > > > > That way you do not have to "know" what that parameter is, the function > > name just documents it automatically, so when you see it in the > > bus-specific code, no need to go and have to hunt for anything. And if > > you are reading the dma core code, it's obvious what is happening as the > > functions are all right there. > > How about we do not pass any flag in 'dma_common_configure()', and inside this > API we pass "true" to 'of_dma_configure()'? I am saying this because currently > both the busses (platform and AMBA) which uses 'dma_common_configure()' passes > "true" value. If we create additional 'dma_common_configure_force()', then > 'dma_common_configure()' will not be used anytime and will become redundant. > > If someday new busses come and they needs to use similar functionality which > 'dma_common_configure()' provides, but with passing "false" to 'of_dma_configure()', > then what you suggests of having two separate such API's will be more reasonable > and can be implemented? If that makes things "simple", yes, sounds good. greg k-h