Re: AT32 ASoC Driver Patches on alsa-devel

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Geoffrey Wossum
Date: Thursday, June 5, 2008 - 8:00 am

On Thursday 05 June 2008 09:22:06 am Haavard Skinnemoen wrote:

Partly because the code attempts to handle every contingency an application 
might throw at (different sample rates, formats, clocking options, etc.).  
Partly because it also has some concern for power management.



To paraphrase Andy Tanenbaum, the great thing about standards is there's so 
many to choose from.


OSS <shudder>


I don't have an AC97 CODEC.


Strongly coupled to the AT73C213, not the chip I'm using, although it did 
provide a good example of working code.  This is where I figured out I needed 
to use big endian.


This IS sort of confusing.  It's really more of a generic SSC / PDC driver 
than a "PCM layer".  Its existence is largely an artifact of it being in the 
AT91 ASoC platform code, which I "ported" to get the AT32 platform code.  Its 
existence in the AT91 platform driver is an artifact of the AT91 driver being 
based on the PXA platform driver.  In other words, I'm not really the one to 
explain the design rationale behind it.

 
Yes, I didn't particularly like making the AT32 code almost exactly like the 
AT91 code, and most of the differences are due to changes in some kernel APIs 
rather than the peripherals really being different (BTW, the changes in the 
AT32 are an improvement!).  But I needed an AT32 layer quickly, and I don't 
have any AT91 hardware, so I couldn't really go mucking about in the AT91 
code since I wouldn't be able to test it.  I don't feel especially bad, 
though, since at91_mci.c and atmel-mci.c commit essentially the same sin.



Number 1 reason (for me):  The only driver for my CODEC (WM8510) was an ASoC 
driver.  Using sound system other than ASoC would require porting / rewriting 
this driver.  Since an AT91 ASoC platform driver already existed, and would 
be virtually the same as the AT32 platform driver, this was the best choice 
for getting sound quickly.  So this essentially boils down to code reuse.  
And if we switch CODEC's for some reason, it's less work.

Another highly compelling reason: power consumption.  Only powers up parts of 
the audio pathway that are currently needed.

For more reasons:  http://alsa-project.org/main/index.php/ASoC
Legal notice: I received no compensation for this endosement :)

---
Geoffrey
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: AT32 ASoC Driver Patches on alsa-devel, Haavard Skinnemoen, (Thu Jun 5, 7:22 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Geoffrey Wossum, (Thu Jun 5, 8:00 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Mark Brown, (Thu Jun 5, 8:22 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Haavard Skinnemoen, (Thu Jun 5, 9:24 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Haavard Skinnemoen, (Thu Jun 5, 9:40 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Takashi Iwai, (Thu Jun 5, 9:54 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Haavard Skinnemoen, (Thu Jun 5, 10:06 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Geoffrey Wossum, (Thu Jun 5, 10:10 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Takashi Iwai, (Thu Jun 5, 11:15 pm)
Re: AT32 ASoC Driver Patches on alsa-devel, Haavard Skinnemoen, (Fri Jun 6, 2:29 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Mark Brown, (Fri Jun 6, 4:37 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Mark Brown, (Fri Jun 6, 5:07 am)
Re: AT32 ASoC Driver Patches on alsa-devel, Geoffrey Wossum, (Fri Jun 6, 7:32 am)