Re: Tearing down DMA transfer setup after DMA client has finished
From: Måns Rullgård <hidden>
Date: 2016-12-09 17:28:07
Vinod Koul [off-list ref] writes:
On Fri, Dec 09, 2016 at 11:25:57AM +0100, Sebastian Frias wrote:quoted
What concrete solution do you propose?I have already proposed two solutions. A) Request a channel only when you need it. Obviously we can't do virtual channels with this (though we should still use virt-channels framework). The sbox setup and teardown can be done as part of channel request and freeup. PL08x already does this. Downside is that we can only have as many consumers at a time as channels. I have not heard any technical reason for not doing this apart from drivers grab the channel at probe, which is incorrect and needs to be fixed irrespective of the problem at hand. This is my preferred option.
Sorry, but this is not acceptable.
B) Create a custom driver specific API. This API for example: sbox_setup(bool enable, ...) can be called by client to explicitly setup and clear up the sbox setting. This way we can have transactions muxed. I have not heard any arguments on why we shouldn't do this except Russell's comment that A) solves this.
Driver-specific interfaces are not the solution. That way lies chaos and madness. This would all be so much easier if you all would just shut up for a moment and let me fix it properly. -- M?ns Rullg?rd