On Thu, Apr 04, 2013 at 01:22:27PM -0500, Pierre-Louis Bossart wrote:
This isn't very elegant. In your implementation you bypass app_ptr and hw_ptr to use cumulative values, for 'memory-mapped' DSPs we use app_ptr and hw_ptr everywhere else. This patch seems to make things more confused when they could be simpler without all these redundant fields? I am probably partly responsible for the introduction of these cumulative values, now I think the time has come to simplify things.
I am not sure I agree this is less elegant it greatly simplifies the calculation of the available data for one, also half of the avail function was using them anyway. The cumulative values make less assumptions about the underlying representation (although admittedly it is rather unlikely this will be anything other than a ring buffer) and contain more information (ie. how much data has been transferred so far).
You say we use app_ptr and hw_ptr everywhere else but only in places relating to situations where compress_offload is managing the buffer (ie. memory mapped DSPs). They feel more like internal buffer state, where the cumulative values surely reflect the stream state better.
If anything if we were looking to simplify I would be inclined to keep the cumulative values?