diff for duplicates of <1471347132.21247.55.camel@synopsys.com> diff --git a/a/1.txt b/N1/1.txt index 3136737..ebcb063 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,16 +1,16 @@ -On Mon, 2016-08-15@15:41 +0300, Andy Shevchenko wrote: -> On Mon, 2016-08-15@11:10 +0000, Eugeniy Paltsev wrote: +On Mon, 2016-08-15 at 15:41 +0300, Andy Shevchenko wrote: +> On Mon, 2016-08-15 at 11:10 +0000, Eugeniy Paltsev wrote: > > -> > On Fri, 2016-08-12@17:08 +0300, Andy Shevchenko wrote: +> > On Fri, 2016-08-12 at 17:08 +0300, Andy Shevchenko wrote: > > > -> > > ? +> > > > > > > > > > > > > > > > > > > > > > > > "nollp" parameter defines if DW DMAC channel supports multi > > > > > > block > > > > > > transfer or not. -> > > > > > ? +> > > > > > > > > > > > It is calculated in runtime, but differently depending on > > > > > > on > > > > > > availability of pdata. If pdata is absent "nollp" is @@ -23,19 +23,19 @@ On Mon, 2016-08-15@15:41 +0300, Andy Shevchenko wrote: > > > > > > channel_writel(dwc, LLP, DWC_LLP_LOC(0xffffffff)); > > > > > > dwc->nollp = DWC_LLP_LOC(channel_readl(dwc, LLP)) == 0; > > > > > > channel_writel(dwc, LLP, 0); -> > > > > > ? +> > > > > > > > > > > > I realized that these methods give different results. > > > > > > For example on ARC AXS101 SDP in case of using autoconfig > > > > > > "nollp" > > > > > > was -> > > > > > calculated as "true" (and DMAC works fine),? +> > > > > > calculated as "true" (and DMAC works fine), > > > > > > otherwise "nollp" was calculated as "false" (and DMAC > > > > > > doesn't > > > > > > work). > > > > > Can you show out what the value you read back? > > > > channel_readl(dwc, LLP) return 0xfffffffc > > > Nice. -> > > ? +> > > > > > Oh, forgot to ask, what are the DW_PARAMS and DWC_PARAMS[x] are > > > on > > > the same hardware? @@ -49,7 +49,7 @@ On Mon, 2016-08-15@15:41 +0300, Andy Shevchenko wrote: > > DWC_PARAMS[2]: 0x4926d300 > > DWC_PARAMS[3]: 0x4926d300 > A-ha, seems you have CHx_HC_LLP == 0. That may explain. -> ? +> > > > > > > > > > @@ -77,19 +77,19 @@ On Mon, 2016-08-15@15:41 +0300, Andy Shevchenko wrote: > > > maybe I > > > missed something else which should be considered. > > Looks like this code based on idea, what if DMA ip-core doesn't -> > have? +> > have > > LLP support it will not have LLP registers. It is not necessarily > > true. > Yep. > -> Consider to review? +> Consider to review > http://www.spinics.net/lists/dmaengine/msg10682.html Looks good to me. > > > > > > -> > > ? -> > Please add this code to read "is_memcpy" and "is_nollp" property? +> > > +> > Please add this code to read "is_memcpy" and "is_nollp" property > > from device tree. > > ----------------------------->8------------------------------ > > diff --git a/drivers/dma/dw/platform.c b/drivers/dma/dw/platform.c @@ -97,20 +97,20 @@ Looks good to me. > > --- a/drivers/dma/dw/platform.c > > +++ b/drivers/dma/dw/platform.c > > @@ -129,6 +129,12 @@ dw_dma_parse_dt(struct platform_device *pdev) -> > ????????if (of_property_read_bool(np, "is_private")) -> > ????????????????pdata->is_private = true; -> > ? -> > +???????if (of_property_read_bool(np, "is_memcpy")) -> > +???????????????pdata->is_memcpy = true; +> > if (of_property_read_bool(np, "is_private")) +> > pdata->is_private = true; +> > +> > + if (of_property_read_bool(np, "is_memcpy")) +> > + pdata->is_memcpy = true; > > + -> > +???????if (of_property_read_bool(np, "is_nollp")) -> > +???????????????pdata->is_nollp = true; +> > + if (of_property_read_bool(np, "is_nollp")) +> > + pdata->is_nollp = true; > > + -> > ????????if (!of_property_read_u32(np, "chan_allocation_order", +> > if (!of_property_read_u32(np, "chan_allocation_order", > > &tmp)) -> > ????????????????pdata->chan_allocation_order = (unsigned char)tmp; +> > pdata->chan_allocation_order = (unsigned char)tmp; > Please, make this as a patch and submit either separately, or with > your > series mentioning that it has a dependency to my 8250 LPSS series. > -Reviewed-by: Eugeniy Platsev <Eugeniy.Paltsev at synopsys.com> +Reviewed-by: Eugeniy Platsev <Eugeniy.Paltsev@synopsys.com> diff --git a/a/content_digest b/N1/content_digest index 4e93603..7382b4f 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -4,25 +4,31 @@ "ref\01471010908.4887.100.camel@linux.intel.com\0" "ref\01471259434.21247.47.camel@synopsys.com\0" "ref\01471264912.4887.117.camel@linux.intel.com\0" - "From\0Eugeniy.Paltsev@synopsys.com (Eugeniy Paltsev)\0" - "Subject\0Wrong \"nollp\" DW DMAC parameter value on ARC SDP.\0" + "From\0Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>\0" + "Subject\0Re: Wrong \"nollp\" DW DMAC parameter value on ARC SDP.\0" "Date\0Tue, 16 Aug 2016 11:32:13 +0000\0" - "To\0linux-snps-arc@lists.infradead.org\0" + "To\0andriy.shevchenko@linux.intel.com <andriy.shevchenko@linux.intel.com>\0" + "Cc\0dmaengine@vger.kernel.org <dmaengine@vger.kernel.org>" + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> + viresh.kumar@linaro.org <viresh.kumar@linaro.org> + Nelson.Pereira@synopsys.com <Nelson.Pereira@synopsys.com> + vinod.koul@intel.com <vinod.koul@intel.com> + " linux-snps-arc@lists.infradead.org <linux-snps-arc@lists.infradead.org>\0" "\00:1\0" "b\0" - "On Mon, 2016-08-15@15:41 +0300, Andy Shevchenko wrote:\n" - "> On Mon, 2016-08-15@11:10 +0000, Eugeniy Paltsev wrote:\n" + "On Mon, 2016-08-15 at 15:41 +0300, Andy Shevchenko wrote:\n" + "> On Mon, 2016-08-15 at 11:10 +0000, Eugeniy Paltsev wrote:\n" "> > \n" - "> > On Fri, 2016-08-12@17:08 +0300, Andy Shevchenko wrote:\n" + "> > On Fri, 2016-08-12 at 17:08 +0300, Andy Shevchenko wrote:\n" "> > > \n" - "> > > ?\n" + "> > > \302\240\n" "> > > > \n" "> > > > > \n" "> > > > > > \n" "> > > > > > \"nollp\" parameter defines if DW DMAC channel supports multi\n" "> > > > > > block\n" "> > > > > > transfer or not.\n" - "> > > > > > ?\n" + "> > > > > > \302\240\n" "> > > > > > It is calculated in runtime, but differently depending on\n" "> > > > > > on\n" "> > > > > > availability of pdata. If pdata is absent \"nollp\" is\n" @@ -35,19 +41,19 @@ "> > > > > > channel_writel(dwc, LLP, DWC_LLP_LOC(0xffffffff));\n" "> > > > > > dwc->nollp = DWC_LLP_LOC(channel_readl(dwc, LLP)) == 0;\n" "> > > > > > channel_writel(dwc, LLP, 0);\n" - "> > > > > > ?\n" + "> > > > > > \302\240\n" "> > > > > > I realized that these methods give different results.\n" "> > > > > > For example on ARC AXS101 SDP in case of using autoconfig\n" "> > > > > > \"nollp\"\n" "> > > > > > was\n" - "> > > > > > calculated as \"true\" (and DMAC works fine),?\n" + "> > > > > > calculated as \"true\" (and DMAC works fine),\302\240\n" "> > > > > > otherwise \"nollp\" was calculated as \"false\" (and DMAC\n" "> > > > > > doesn't\n" "> > > > > > work).\n" "> > > > > Can you show out what the value you read back?\n" "> > > > channel_readl(dwc, LLP) return 0xfffffffc\n" "> > > Nice.\n" - "> > > ?\n" + "> > > \302\240\n" "> > > Oh, forgot to ask, what are the DW_PARAMS and DWC_PARAMS[x] are\n" "> > > on\n" "> > > the same hardware?\n" @@ -61,7 +67,7 @@ "> > DWC_PARAMS[2]: 0x4926d300\n" "> > DWC_PARAMS[3]: 0x4926d300\n" "> A-ha, seems you have CHx_HC_LLP == 0. That may explain.\n" - "> ?\n" + "> \302\240\n" "> > \n" "> > > \n" "> > > > \n" @@ -89,19 +95,19 @@ "> > > maybe I\n" "> > > missed something else which should be considered.\n" "> > Looks like this code based on idea, what if DMA ip-core doesn't\n" - "> > have?\n" + "> > have\302\240\n" "> > LLP support it will not have LLP registers. It is not necessarily\n" "> > true.\n" "> Yep.\n" "> \n" - "> Consider to review?\n" + "> Consider to review\302\240\n" "> http://www.spinics.net/lists/dmaengine/msg10682.html\n" "Looks good to me.\n" ">\n" "> > \n" "> > > \n" - "> > > ?\n" - "> > Please add this code to read \"is_memcpy\" and \"is_nollp\" property?\n" + "> > > \302\240\n" + "> > Please add this code to read \"is_memcpy\" and \"is_nollp\" property\302\240\n" "> > from device tree.\n" "> > ----------------------------->8------------------------------\n" "> > diff --git a/drivers/dma/dw/platform.c b/drivers/dma/dw/platform.c\n" @@ -109,22 +115,22 @@ "> > --- a/drivers/dma/dw/platform.c\n" "> > +++ b/drivers/dma/dw/platform.c\n" "> > @@ -129,6 +129,12 @@ dw_dma_parse_dt(struct platform_device *pdev)\n" - "> > ????????if (of_property_read_bool(np, \"is_private\"))\n" - "> > ????????????????pdata->is_private = true;\n" - "> > ?\n" - "> > +???????if (of_property_read_bool(np, \"is_memcpy\"))\n" - "> > +???????????????pdata->is_memcpy = true;\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (of_property_read_bool(np, \"is_private\"))\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240pdata->is_private = true;\n" + "> > \302\240\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (of_property_read_bool(np, \"is_memcpy\"))\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240pdata->is_memcpy = true;\n" "> > +\n" - "> > +???????if (of_property_read_bool(np, \"is_nollp\"))\n" - "> > +???????????????pdata->is_nollp = true;\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (of_property_read_bool(np, \"is_nollp\"))\n" + "> > +\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240pdata->is_nollp = true;\n" "> > +\n" - "> > ????????if (!of_property_read_u32(np, \"chan_allocation_order\",\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240if (!of_property_read_u32(np, \"chan_allocation_order\",\n" "> > &tmp))\n" - "> > ????????????????pdata->chan_allocation_order = (unsigned char)tmp;\n" + "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240pdata->chan_allocation_order = (unsigned char)tmp;\n" "> Please, make this as a patch and submit either separately, or with\n" "> your\n" "> series mentioning that it has a dependency to my 8250 LPSS series.\n" "> \n" - Reviewed-by: Eugeniy Platsev <Eugeniy.Paltsev at synopsys.com> + Reviewed-by: Eugeniy Platsev <Eugeniy.Paltsev@synopsys.com> -831c4f9125603a5bca61eaa332564434f2899865301dc182e7ba335793bb6a45 +fb587176549f0c469ea9592c95cfbbf7d4ccbef1aec088fc7dd1c49f6e6ae8e9
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.