If you "basically just add samples together", you'll end up with lots of clipping and distortions. It takes a lot more math to mix audio samples together without thrashing them, especially if you need to mix more than just two streams together. Many implementations use dynamic compression, exploiting the ability to look ahead for a few samples. Hardware mixers usually just throw more precision at the problem to keep things relatively simple and lossless.
There's a reason why many audio frameworks switched over to using float samples internally.
PulseAudio has a wide selection of available resampling algorithms - you can throw a LOT of CPU cycles at this task if you want a good audio quality.
As far, as I'm familiar with math, float is only necessary for resampling as you need to calculate the time interpolation of the waveform (did this already several times). For a linear mixing job, one would simply add the channels (most usecases). Also float could be ommitted, as the Neon should be able to do 128bit of Single Cycle hardware multiply in int. This should be more than enough resolution to mix 2^96 Channels of 32bit without overflow. If you want lets say 10 bit resolution for a scaler, you would end up with a calculation that needs be 45 bits wide for 32bit resolution, 8 ch (3bits more) and 10 bit prescaler. So even 64 bits would do.
But If you really like float, almost all cpus can do a single cycle float multiply. I'm not sure though if a matrix operation exists.
The neon core should be able to do a 4x4 single cycle matrix multiply (int) or MAC with saturation for even faster results, so ... is 16 samples per cycle at 1.5GHz enough? (CPU usage of 0.006% for mixing + some % for overhead ... way less than 0.1%)
I'm pretty sure also the m4 coprocessor could handle this for low power operation (also has single cycle multiply, but no matrix operations as far as I know).
The DSP would be overkill for this task, at least, if you don't want to mix 512 Channels at 192 kHz
. It would eat through your cpu like a hot knife through butter ... just for some Audio. IMO the DSP is better suited for Video stuff like transcoding, or complex audio calculations, like echo removal (telephony), transcoding etc.
I believe, in the long term, one should be looking into the Ducati Subsystem of the OMAP for good multimedia performance one day.
I'm familiar with Microcontroller programming, but didn't touch anything related to kernel stuff yet
.