lkml.org 
[lkml]   [2018]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [LINUX PATCH v10 1/2] dt-bindings: mtd: arasan: Add device tree binding documentation
Date
Hi Miquel,

> -----Original Message-----
> From: Miquel Raynal [mailto:miquel.raynal@bootlin.com]
> Sent: Tuesday, August 21, 2018 3:23 PM
> To: Naga Sureshkumar Relli <nagasure@xilinx.com>
> Cc: Boris Brezillon <boris.brezillon@bootlin.com>; richard@nod.at; dwmw2@infradead.org;
> computersforpeace@gmail.com; marek.vasut@gmail.com; kyungmin.park@samsung.com;
> absahu@codeaurora.org; peterpandong@micron.com; frieder.schrempf@exceet.de; linux-
> mtd@lists.infradead.org; linux-kernel@vger.kernel.org; Michal Simek <michals@xilinx.com>;
> nagasureshkumarrelli@gmail.com
> Subject: Re: [LINUX PATCH v10 1/2] dt-bindings: mtd: arasan: Add device tree binding
> documentation
>
> Hi Naga,
>
> Naga Sureshkumar Relli <nagasure@xilinx.com> wrote on Tue, 21 Aug 2018
> 09:22:07 +0000:
>
> > Hi Boris,
> >
> > > -----Original Message-----
> > > From: Boris Brezillon [mailto:boris.brezillon@bootlin.com]
> > > Sent: Tuesday, August 21, 2018 11:30 AM
> > > To: Naga Sureshkumar Relli <nagasure@xilinx.com>
> > > Cc: miquel.raynal@bootlin.com; richard@nod.at; dwmw2@infradead.org;
> > > computersforpeace@gmail.com; marek.vasut@gmail.com;
> > > kyungmin.park@samsung.com; absahu@codeaurora.org;
> > > peterpandong@micron.com; frieder.schrempf@exceet.de; linux-
> > > mtd@lists.infradead.org; linux-kernel@vger.kernel.org; Michal Simek
> > > <michals@xilinx.com>; nagasureshkumarrelli@gmail.com
> > > Subject: Re: [LINUX PATCH v10 1/2] dt-bindings: mtd: arasan: Add
> > > device tree binding documentation
> > >
> > > On Tue, 21 Aug 2018 05:47:18 +0000
> > > Naga Sureshkumar Relli <nagasure@xilinx.com> wrote:
> > >
> > > > > > +Required properties:
> > > > > > +- compatible: Should be "xlnx,zynqmp-nand" or "arasan,nfc-v3p10"
> > > > >
> > > > > In your example it's not an "or" since both are defined.
> > > > In our previous discussion
> > > > (https://lore.kernel.org/patchwork/patch/748901/)
> > > > We decided to have compatible strings like " compatible =
> > > > "<soc-vendor>,<ip-revision>",
> > > "arasan,<ip-revision>";"
> > > > So it should be either of these.
> > > > so I will write something like below "Possible values are
> > > > "xlnx,zynqmp-nand"
> > > > "arasan,nfc-v3p10"
> > > > And in example I will mention any one compatible.
> > > > Is it ok?
> > >
> > > Hm, why do you need arasan,nfc-v3p10 at all if it's supposed to be
> > > overloaded by a soc specific compat?
> > Actually we put these compatible strings based on the comments on v7 series.
> > Anyway I will just keep "xlnx,zynqmp-nand" as compatible.
> > >
> > > > > > +
> > > > > > +Optional properties:
> > > > > > +- arasan,has-mdma: Enables DMA support
> > > > >
> > > > > Can't you detect that based on the compatible (or thanks to a
> > > > > register). If it's something you choose when configuring the IP
> > > > > and can't detect at
> > > runtime I guess it's fine.
> > > > There is no way to select DMA when configuring the IP.
> > > > But it has internal DMA and there is a register to select PIO or
> > > > DMA while starting a
> > > transfer.
> > > > So if user really don't want DMA, then we will never set DMA in
> > > > the code based on DT
> > > property.
> > >
> > > If it's a purely SW choice, then is shouldn't be described in the DT.
> > > You can use a module param, but I'm not even sure why one would want to disable DMA.
> > UBIFS doesn't work with DMA, hence we are using a DT property to operate the driver in
> IO.
> > But as you pointed (use virt_is_valid()), with this we can switch our driver to operate in
> PIO or DMA.
> > I will remove this from DT.
>
> I don't get why UBIFS would not work with DMA? This is a significant drawback.
UBIFS uses vmalloc'ed buffers whereas for DMA it should be DMA-able, i.e uses physically contiguous memory.
Hence we used a DT property to make it work in PIO mode.
Some discussion happened in https://patchwork.kernel.org/patch/9675007/.
But whatever I said above, is with older arasan_nand driver, now anyway we have
virt_addr_valid(). By checking this we can use DMA or PIO.
This is the information I have, but I may be wrong.

Thanks,
Naga Sureshkumar Relli.
>
> Miquèl
\
 
 \ /
  Last update: 2018-08-21 12:45    [W:0.069 / U:0.468 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site