Can I implement a LP filter using DMA? This questions seems to be a little strange but bear with me. 

I have an application that needs a digital filter to be implemented in a microcontroller. 

What I want to do

I want to use the DMA to get the data from the ADC every 300us (approximately). and store it in a buffer and I'm using FreeRTOS. I want to have a task check the DMA for half transfer completion and whenever it does reach that point, then the microcontroller would execute the LP filter on half the array, while the DMA keeps on filling the rest of the buffer. Due to my microcontroller's specs I'm sure I can run this filter in those points way before it has filled the other end of the buffer. 

After this it would go to a waiting mode until it finishes the later half  and when it's done it will execute the filter on the second half.

Does this make sense?

What I have done in the past

Program an interruption , when the interruption occurs put the data in a FIFO and keep filling the buffer until you reach its limit while doijg the calculations

Question

Is "what I want to do" ? Of course it can be done, but will it actually be a proper filter? It sounds strange in my head when I think about it, but it somehow makes sense (ever get that feeling?). Or do I have to do it the way I've done it in the past?

Another option would be to do it in a mixture kind of way? Fill the buffer with DMA and execute FreeRTOS every milissecond and do the filter the same way I used to do it (fill FIFO, do calculations, etc)?

EDIT:

Thank you @Ben for your response. I'm adding the same info I put as a comment here in the edit so it can be better visualized. 

Desired filter - IIR filter initially 

Sampling rate- 10kHz. An ADC acquisition every 100us (waaay above the Nyquist frequency, but it's necessary for what I want .. a power meter) 

Tap - between 2 and 10, it doesn't need to be a high order filter 

Acceptable latency- Well I'd need to use the output to do al the calculations related to power and then store it and send it to storage somewhere, so the latency can be high
Basically you want to implement a filter with batch processing, right?

Is this an FIR filter or an IIR filter?

What is the sampling rate? Number of taps? Acceptable latency between output and input as batch processing adds some processing latency.