Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1632098
| From | Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v2 2/2] dmaengine: Add DW AXI DMAC driver |
| Date | 2017-04-27 15:30 +0200 |
| Message-ID | <tAREB-1aB-15@gated-at.bofh.it> (permalink) |
| References | (5 earlier) <tzOz9-q9-47@gated-at.bofh.it> <tzPvb-118-15@gated-at.bofh.it> <tAaq0-6oY-87@gated-at.bofh.it> <tAdea-88w-3@gated-at.bofh.it> <tAx3d-46S-43@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, 2017-04-26 at 18:04 +0300, Andy Shevchenko wrote: > On Tue, 2017-04-25 at 21:12 +0300, Andy Shevchenko wrote: > > On Tue, 2017-04-25 at 15:16 +0000, Eugeniy Paltsev wrote: > > > On Mon, 2017-04-24 at 19:56 +0300, Andy Shevchenko wrote: > > > > On Mon, 2017-04-24 at 15:55 +0000, Eugeniy Paltsev wrote: > > > > Descriptor is active until terminate_all() is called or new > > > > descriptor > > > > is supplied. So, the caller has a quite time to check on it. > > > > > > > > So, what's wrong on it by your opinion? > > > > > > Hmm, this looks OK. (In my example (hsu/hsu.c driver) error > > > descriptors > > > are not freed even after terminate_all is called) > > > > If it's active it will be freed. > > Otherwise caller should check somewhere that descriptor fails. > > > > But actually this is fragile and we need to monitor failed > > descriptors. > > Thanks for reporting. > > > > > > > > > Of course, if you want to keep by some reason (should be stated > > > > what > > > > the reason in comment) erred descriptors, you can do that. > > > > > > So, I'll create desc_error list and store failed descriptors in > > > this > > > list until terminate_all() is called. > > > Is it OK implementation? > > > > Nope, we need to amend virt-chan API for that. I'm on it. Will send > > a series soon. > > I have to correct what I wrote before. > > We have two options: > a) one I proposed above; > b) move descriptor to complete list and call complete callback with > result. > > So, it looks like the b) variant is what is done already in 4 (did I > calculate correctly?) drivers and respective users. In my opinion we should call error descriptor complete callback. But I don't think we should move error descriptor to desc_completed list. When descriptor following our error descriptor will be completed successfully vchan tasklet will be called. So all descriptors from desc_completed list will be freed (including our error descriptor) We'll lost information about error descriptors and we'll not be able to return correct status from dma_async_is_tx_complete(). In my opinion, we should create desc_error list. When we get error we'll move descriptor to desc_error list and call complete callback. -- Â Eugeniy Paltsev
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH v2 2/2] dmaengine: Add DW AXI DMAC driver Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> - 2017-04-25 17:20 +0200
Re: [PATCH v2 2/2] dmaengine: Add DW AXI DMAC driver Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2017-04-25 20:20 +0200
Re: [PATCH v2 2/2] dmaengine: Add DW AXI DMAC driver Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2017-04-26 17:30 +0200
Re: [PATCH v2 2/2] dmaengine: Add DW AXI DMAC driver Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> - 2017-04-27 15:30 +0200
Re: [PATCH v2 2/2] dmaengine: Add DW AXI DMAC driver Andy Shevchenko <andriy.shevchenko@linux.intel.com> - 2017-04-27 15:40 +0200
Re: [PATCH v2 2/2] dmaengine: Add DW AXI DMAC driver Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> - 2017-04-27 17:40 +0200
csiph-web