Nice to hear that!  Hopefully AW get out of their a*s, and provide helpful 
documentation and perhaps, also some monetary incentive as well!

It will be nice to see at the end of the project a full mainlined 
implementation with nice Graphics ( media ) capabilities which are 
differential of these Socs for the great majority of users out there.

R

On Wednesday, July 9, 2014 10:41:16 PM UTC-5, Emilio López wrote:
>
> Hi everyone, 
>
> As some of you may know, I'm currently participating in Google Summer of 
> Code under the Linux Foundation, working on a proposal titled "Improve 
> Allwinner SoCs support on mainline Linux". There is a great quantity of 
> devices out there that are powered by Allwinner processors, including 
> but not limited to the various Cubieboards, OLinuXinos, STBs, Tablets 
> and “Mini PCs”. However, to date, support on mainline Linux is not yet 
> feature complete. My proposal on particular focuses on DMA and analog 
> audio on the earlier SoCs, and improved A23 support. 
>
> The idea here is to make a weekly status report of the project. As we 
> are starting mid-program, this one will be a bit different and I'll 
> outline what has been worked on so far since the beginning. 
>
> To date, I have been mainly working on the DMA driver for sun4i, sun5i 
> and sun7i. Despite having completely different drivers on SDK kernels, 
> the hardware block looks and behaves the same, so we are using a single 
> driver for these three SoC families. I have sent a series of patches[1] 
> as well as a follow-up v2[2], and I will keep iterating over it until 
> it's accepted. I have also sent two trivial patches[3][4] as a 
> side-effect. 
>
> The main challenges while writing this driver can be summarized as a 
> lack of documentation. First of all, it took me a bit to get to know 
> DMAEngine. As there is not much documentation on it, most of my learning 
> took place by reading pre-existing drivers and consulting with my 
> mentor. Secondly, as the Allwinner documentation is mostly a register 
> list with bitfield details, I also had to read the SDK drivers and do 
> some trial and error testing to discover magic values and understand 
> others. 
>
> Lately, I have also been working on the audio part, now that I have a 
> working DMA driver. After implementing cyclic DMA transfers and some 
> clock code, and armed with a Buildroot image with mpg123 and an OpenBSD 
> release track[5] in mp3 format, I've been trying to get some sound out 
> of my Cubietruck's headphone jack, but without much success so far. I 
> have verified my userspace stack and hardware by running these same 
> binaries on top of the linux-sunxi 3.4 kernel, and it worked fine. I 
> have since then been dumping relevant registers with devmem and 
> comparing them, resolving issues as I see them - hopefully this will 
> yield some audible results. 
>
> Interestingly enough, Allwinner themselves do not seem to be using 
> cyclic DMA transfers on their driver[6]. I hope this is not a sign of a 
> hardware bug that's not documented. 
>
> To give some closure to this status report, I'd like to thank Maxime for 
> his mentoring so far, Ezequiel for letting me pick his brain, and the 
> Linux Foundation and Google for giving me this opportunity, as well as 
> everyone on the kernel and sunxi communities who have come forward to 
> review and test patches. You can expect a new report soon, in about a 
> week's time or less. 
>
> Emilio 
>
> [1] http://www.spinics.net/lists/dmaengine/msg01148.html 
> [2] http://www.spinics.net/lists/arm-kernel/msg344766.html 
> [3] https://lkml.org/lkml/2014/5/11/166 
> [4] https://lkml.org/lkml/2014/7/1/486 
> [5] http://www.openbsd.org/lyrics.html, maybe I should consider using 
> some other song for better luck 
> [6] 
>
> https://github.com/linux-sunxi/linux-sunxi/blob/sunxi-3.4/sound/soc/sunxi/sunxi-codec.c#L1137
>  
>

-- 
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.

Reply via email to