[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <HE1PR0401MB2425644F72A063ED42B79D5FE6AA0@HE1PR0401MB2425.eurprd04.prod.outlook.com>
Date: Wed, 21 Mar 2018 16:28:46 +0000
From: Nipun Gupta <nipun.gupta@....com>
To: Greg KH <gregkh@...uxfoundation.org>
CC: "robin.murphy@....com" <robin.murphy@....com>,
"hch@....de" <hch@....de>,
"linux@...linux.org.uk" <linux@...linux.org.uk>,
"m.szyprowski@...sung.com" <m.szyprowski@...sung.com>,
"bhelgaas@...gle.com" <bhelgaas@...gle.com>,
"zajec5@...il.com" <zajec5@...il.com>,
"andy.gross@...aro.org" <andy.gross@...aro.org>,
"david.brown@...aro.org" <david.brown@...aro.org>,
"dan.j.williams@...el.com" <dan.j.williams@...el.com>,
"vinod.koul@...el.com" <vinod.koul@...el.com>,
"thierry.reding@...il.com" <thierry.reding@...il.com>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"frowand.list@...il.com" <frowand.list@...il.com>,
"jarkko.sakkinen@...ux.intel.com" <jarkko.sakkinen@...ux.intel.com>,
"rafael.j.wysocki@...el.com" <rafael.j.wysocki@...el.com>,
"dmitry.torokhov@...il.com" <dmitry.torokhov@...il.com>,
"johan@...nel.org" <johan@...nel.org>,
"msuchanek@...e.de" <msuchanek@...e.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
"linux-arm-msm@...r.kernel.org" <linux-arm-msm@...r.kernel.org>,
"linux-soc@...r.kernel.org" <linux-soc@...r.kernel.org>,
"dmaengine@...r.kernel.org" <dmaengine@...r.kernel.org>,
"dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
Bharat Bhushan <bharat.bhushan@....com>,
Leo Li <leoyang.li@....com>
Subject: RE: [PATCH v2 2/2] drivers: remove force dma flag from buses
> -----Original Message-----
> From: Greg KH [mailto:gregkh@...uxfoundation.org]
> Sent: Wednesday, March 21, 2018 15:05
> To: Nipun Gupta <nipun.gupta@....com>
> Cc: robin.murphy@....com; hch@....de; linux@...linux.org.uk;
> m.szyprowski@...sung.com; bhelgaas@...gle.com; zajec5@...il.com;
> andy.gross@...aro.org; david.brown@...aro.org; dan.j.williams@...el.com;
> vinod.koul@...el.com; thierry.reding@...il.com; robh+dt@...nel.org;
> frowand.list@...il.com; jarkko.sakkinen@...ux.intel.com;
> rafael.j.wysocki@...el.com; dmitry.torokhov@...il.com; johan@...nel.org;
> msuchanek@...e.de; linux-kernel@...r.kernel.org; iommu@...ts.linux-
> foundation.org; linux-wireless@...r.kernel.org; linux-arm-
> msm@...r.kernel.org; linux-soc@...r.kernel.org; dmaengine@...r.kernel.org;
> dri-devel@...ts.freedesktop.org; linux-tegra@...r.kernel.org;
> devicetree@...r.kernel.org; linux-pci@...r.kernel.org; Bharat Bhushan
> <bharat.bhushan@....com>; Leo Li <leoyang.li@....com>
> 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?
Thanks,
Nipun
>
> thanks,
>
> greg k-h
Powered by blists - more mailing lists