Hi everyone,
Here's this week's update on my GSoC project; if you missed the first
issue or you want a refresher of what this is about, you can read it on
the list archives[0]
A couple of days after the last report, and with the help of Jon Smirl,
I got the hardware working on mainline Linux, first on only 16 bit
stereo mode, then mono as well, and later on, also on 24 bit mode. The
first thing I had to do was rework the cyclic DMA code to make it
perform decently and avoid underruns. The rest took a bit of playing
with values and reading the Allwinner documentation. There is one
unresolved issue with 24 bit audio still - for some reason, the volume
is really low compared to the same track played on 16 bit. Unfortunately
the SDK driver doesn't support 24 bit, so it's hard to compare with
anything else.
Aside from the audio stuff, I worked a bit on the DMA driver, after
realizing memcpy could be optimized a fair bit. By using proper
alignment and choosing the best bus width and as big a burst as
possible, I was able to go from a totally unscientifically measured
~3MB/s to ~13MB/s on a single thread, single channel, 1000 iterations
dmatest run with noverify=0. I will be sending a v3 with these new
changes as well as addressing comments I received in the next few days.
To round up on this week's developments, I also worked on the audio
clock representation, involving PLL2, the codec clock gate and "module
1" clocks (AC97, SPDIF, IIS) to enable Jon to work on IIS. Patches for
these clocks will be out in the list soon as well.
You can expect the next status report in about a week's time.
Cheers!
Emilio
[0]
http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/271150.html
--
You received this message because you are subscribed to the Google Groups
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to linux-sunxi+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.