diff for duplicates of <1490729315.6561.4.camel@synopsys.com> diff --git a/a/1.txt b/N1/1.txt index 1311acf..0d5bd2e 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -3,25 +3,25 @@ Hi Vinod! Thanks for respond. My comments below. -On Tue, 2017-03-14@08:30 +0530, Vinod Koul wrote: -> On Tue, Feb 21, 2017@11:38:04PM +0300, Eugeniy Paltsev wrote: ->? +On Tue, 2017-03-14 at 08:30 +0530, Vinod Koul wrote: +> On Tue, Feb 21, 2017 at 11:38:04PM +0300, Eugeniy Paltsev wrote: +> > > +static void vchan_desc_put(struct virt_dma_desc *vdesc) > > +{ > > + axi_desc_put(vd_to_axi_desc(vdesc)); > > +} > well this has no logic and becomes a dummy fn, so why do we need it. ->? +> Both functions (vchan_desc_put and axi_desc_put) are used. First one is put as callback to vchan, second one is used when we need to free descriptors after errors in preparing function (before we call vchan_tx_prep). -> >? +> > > > + > > +static enum dma_status > > +dma_chan_tx_status(struct dma_chan *dchan, dma_cookie_t cookie, -> > + ??struct dma_tx_state *txstate) +> > + struct dma_tx_state *txstate) > > +{ > > + struct axi_dma_chan *chan = dchan_to_axi_dma_chan(dchan); > > + enum dma_status ret; @@ -36,7 +36,7 @@ I don't think we need residue calculation in mem-to-mem transfers. I'm planning to add residue calculation at once with DMA_SLAVE functionality. -> >? +> > > > +static void dma_chan_free_chan_resources(struct dma_chan *dchan) > > +{ > > + struct axi_dma_chan *chan = dchan_to_axi_dma_chan(dchan); @@ -58,7 +58,7 @@ functionality. > > + > > + pm_runtime_put_sync_suspend(chan->chip->dev); > any reason why sync variant is used? ->? +> I re-read the documentation and yes - I can use async variant here (and in the other parts of this driver). @@ -80,13 +80,13 @@ in the other parts of this driver). > > + > > + reg = (DWAXIDMAC_BURST_TRANS_LEN_4 << > > CH_CTL_L_DST_MSIZE_POS | -> > + ???????DWAXIDMAC_BURST_TRANS_LEN_4 << +> > + DWAXIDMAC_BURST_TRANS_LEN_4 << > > CH_CTL_L_SRC_MSIZE_POS | -> > + ???????dst_width << CH_CTL_L_DST_WIDTH_POS | -> > + ???????src_width << CH_CTL_L_SRC_WIDTH_POS | -> > + ???????DWAXIDMAC_CH_CTL_L_INC << +> > + dst_width << CH_CTL_L_DST_WIDTH_POS | +> > + src_width << CH_CTL_L_SRC_WIDTH_POS | +> > + DWAXIDMAC_CH_CTL_L_INC << > > CH_CTL_L_DST_INC_POS | -> > + ???????DWAXIDMAC_CH_CTL_L_INC << +> > + DWAXIDMAC_CH_CTL_L_INC << > > CH_CTL_L_SRC_INC_POS); > > + desc->lli.ctl_lo = cpu_to_le32(reg); > > + @@ -106,5 +106,5 @@ which belong to same transfer. This list (xfer_list) is used only for allocating/freeing these descriptors and it doesn't affect on virtual dma work logic. ---? -?Eugeniy Paltsev +-- + Eugeniy Paltsev diff --git a/a/content_digest b/N1/content_digest index a7b4847..61d655c 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,10 +1,17 @@ "ref\01487709484-868-1-git-send-email-Eugeniy.Paltsev@synopsys.com\0" "ref\01487709484-868-3-git-send-email-Eugeniy.Paltsev@synopsys.com\0" "ref\020170314030040.GZ2843@localhost\0" - "From\0Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev)\0" - "Subject\0[PATCH v1 2/2] dmaengine: Add DW AXI DMAC driver\0" + "From\0Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>\0" + "Subject\0Re: [PATCH v1 2/2] dmaengine: Add DW AXI DMAC driver\0" "Date\0Tue, 28 Mar 2017 19:28:36 +0000\0" - "To\0linux-snps-arc@lists.infradead.org\0" + "To\0vinod.koul@intel.com <vinod.koul@intel.com>\0" + "Cc\0dmaengine@vger.kernel.org <dmaengine@vger.kernel.org>" + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> + andriy.shevchenko@linux.intel.com <andriy.shevchenko@linux.intel.com> + dan.j.williams@intel.com <dan.j.williams@intel.com> + Alexey.Brodkin@synopsys.com <Alexey.Brodkin@synopsys.com> + Eugeniy.Paltsev@synopsys.com <Eugeniy.Paltsev@synopsys.com> + " linux-snps-arc@lists.infradead.org <linux-snps-arc@lists.infradead.org>\0" "\00:1\0" "b\0" "Hi Vinod!\n" @@ -12,25 +19,25 @@ "Thanks for respond.\n" "My comments below.\n" "\n" - "On Tue, 2017-03-14@08:30 +0530, Vinod Koul wrote:\n" - "> On Tue, Feb 21, 2017@11:38:04PM +0300, Eugeniy Paltsev wrote:\n" - ">?\n" + "On Tue, 2017-03-14 at 08:30 +0530, Vinod Koul wrote:\n" + "> On Tue, Feb 21, 2017 at 11:38:04PM +0300, Eugeniy Paltsev wrote:\n" + ">\302\240\n" "> > +static void vchan_desc_put(struct virt_dma_desc *vdesc)\n" "> > +{\n" "> > +\taxi_desc_put(vd_to_axi_desc(vdesc));\n" "> > +}\n" "> well this has no logic and becomes a dummy fn, so why do we need it.\n" - ">?\n" + ">\302\240\n" "Both functions (vchan_desc_put and axi_desc_put) are used.\n" "First one is put as callback to vchan, second one is used when we need\n" "to free descriptors after errors in preparing function (before we call\n" "vchan_tx_prep).\n" "\n" - "> >?\n" + "> >\302\240\n" "> > +\n" "> > +static enum dma_status\n" "> > +dma_chan_tx_status(struct dma_chan *dchan, dma_cookie_t cookie,\n" - "> > +\t\t??struct dma_tx_state *txstate)\n" + "> > +\t\t\302\240\302\240struct dma_tx_state *txstate)\n" "> > +{\n" "> > +\tstruct axi_dma_chan *chan = dchan_to_axi_dma_chan(dchan);\n" "> > +\tenum dma_status ret;\n" @@ -45,7 +52,7 @@ "planning to add residue calculation at once with DMA_SLAVE\n" "functionality.\n" "\n" - "> >?\n" + "> >\302\240\n" "> > +static void dma_chan_free_chan_resources(struct dma_chan *dchan)\n" "> > +{\n" "> > +\tstruct axi_dma_chan *chan = dchan_to_axi_dma_chan(dchan);\n" @@ -67,7 +74,7 @@ "> > +\n" "> > +\tpm_runtime_put_sync_suspend(chan->chip->dev);\n" "> any reason why sync variant is used?\n" - ">?\n" + ">\302\240\n" "I re-read the documentation and yes - I can use async variant here (and\n" "in the other parts of this driver).\n" "\n" @@ -89,13 +96,13 @@ "> > +\n" "> > +\t\treg = (DWAXIDMAC_BURST_TRANS_LEN_4 <<\n" "> > CH_CTL_L_DST_MSIZE_POS |\n" - "> > +\t\t???????DWAXIDMAC_BURST_TRANS_LEN_4 <<\n" + "> > +\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240DWAXIDMAC_BURST_TRANS_LEN_4 <<\n" "> > CH_CTL_L_SRC_MSIZE_POS |\n" - "> > +\t\t???????dst_width << CH_CTL_L_DST_WIDTH_POS |\n" - "> > +\t\t???????src_width << CH_CTL_L_SRC_WIDTH_POS |\n" - "> > +\t\t???????DWAXIDMAC_CH_CTL_L_INC <<\n" + "> > +\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240dst_width << CH_CTL_L_DST_WIDTH_POS |\n" + "> > +\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240src_width << CH_CTL_L_SRC_WIDTH_POS |\n" + "> > +\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240DWAXIDMAC_CH_CTL_L_INC <<\n" "> > CH_CTL_L_DST_INC_POS |\n" - "> > +\t\t???????DWAXIDMAC_CH_CTL_L_INC <<\n" + "> > +\t\t\302\240\302\240\302\240\302\240\302\240\302\240\302\240DWAXIDMAC_CH_CTL_L_INC <<\n" "> > CH_CTL_L_SRC_INC_POS);\n" "> > +\t\tdesc->lli.ctl_lo = cpu_to_le32(reg);\n" "> > +\n" @@ -115,7 +122,7 @@ "This list (xfer_list) is used only for allocating/freeing these\n" "descriptors and it doesn't affect on virtual dma work logic.\n" "\n" - "--?\n" - ?Eugeniy Paltsev + "--\302\240\n" + "\302\240Eugeniy Paltsev" -0737270b44084a1f1e72cb406d86fb7317b8f9eb556ba69862e1e2355cf5ce7a +b1811d652c6c0c11c9d84f212b35305a2557cfeb06a64f550e0b9947bfd03070
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.