Ciao,
Alle 22:52, venerdì 25 giugno 2004, Matthew Reimer ha scritto:
> Wow Giorgio, it looks like you had to do a lot of work to get it going!
I started patching cvs with your initial patch for h2200 I found on this list.
Your stuff works good out of the box. Also the i2c stuff in cvs works,
configuring the codec registers. But the pcm stuff feeding the chip with the
sound stream was no go.
It coupled strictly ALSA periods with DMA transfers, and ALSA lagged behind,
going on relentlessly stopping and restarting from begin.
We needed to reengineer the engine, decoupling things. And In my view the
solution is also a bit more elegant and simple. A few tests with different
periods and buffer sizes later, the songs sounded satisfactorly from the
ipaq. And I sent the patch: now we know we're in the right direction.
I noted that a decoupling solution is also implemented in the file
pxa-audio.c, I suppose for the old OSS.
Now we can go on, improving, completing and tuning (buffer and period size in
primis), and in parallel taking care of code elegance and proper in-source
documentation (the old code is pretty undocumented). Also I'd like to
reorganize the code layout to ease understanding and reusing.
Could you work on it, too?
Alle 11:28, sabato 26 giugno 2004, Michael Opdenacker ha scritto:
> However, I could be easier if you keep H3900 ASIC3 GPIO stuff
> commented out (instead of just removing it). What do you think?
I decided to temporaly strip out the few lines for h3900 only to go developing
with a clear and consistent code. These lines didn't compile because they
called non-existant functions and I couldn't test them and bringing them on
par with the rest of the code. I was in doubt and eventually decided this
only in view of clearness. I kept a copy of them, to reintroduce with the
help of people that can assure testing on this. The same for the other
machines with UDA1380. Besides we could also maybe separate or mark clearly
the pcm code usable by other machines using the i2s unit in the pxa.
> Continuing on Matt's idea, and reading your code, here are the
> functionalities that we need to abstract:
>
> * codec_reset
> * codec_on
> * speaker_on
> * tda_mode
>
> I suggest to create a h2200_sound and h3900_sound drivers which would
> implement these functions (easy from your code), and call new code in
> the uda1380 driver that would register these functions.
>
> You can find an example in arch/arm/mach-pxa/h2200_ts.c, though they are
> probably much better examples elsewhere in the kernel code.
>
> This way, we can get rid of ifdefs and several types of PDAs can use the
> same kernel.
I agree. How can we notify developers with others machines to supply the GPIOs
codes? Can I post to other mail lists? The h3900 old code called non-existant
functions.
> Would you have time to implement this, Giorgio?
I think so, also if I don't assure you for today.
giorgio
Received on Sun Jun 27 13:41:36 2004
This archive was generated by hypermail 2.1.8 : Sun Jun 27 2004 - 13:41:55 EDT