Rewrite the IRQ handler in assembler

It works just like the C handler before, next step should be to move it
as a FIQ handler.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Switch back to the FIQ

Now, we're using back the FIQ mechanism.

Two things still needs to be done though:
  - Detect the over/underruns
  - Allocate a larger buffer using CMA

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>