alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/5] OMAP/ASoC: McBSP: FIFO handling related fixes
@ 2010-06-01 11:18 Peter Ujfalusi
  2010-06-01 11:18 ` [PATCH v3 1/5] OMAP: McBSP: Function to query the FIFO size Peter Ujfalusi
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Peter Ujfalusi @ 2010-06-01 11:18 UTC (permalink / raw)
  To: alsa-devel, linux-omap
  Cc: tony, broonie, eduardo.valentin, ext-eero.nurkkala, lrg

Hello,

Changes since RFC v2:
- Comments added explaining the changes, and documenting the API in patch2
- In patch5:
 - Variable names changed in the hw_rule function
 - hw_rule function got renamed
 - The snd_pcm_hw_rule_add calls moved so it anly got set on OMAP3

Intro mail from the previous series:

This series aims to correct how the McBSP FIFO is viewed, and handled.

Introduction of the problem:
OMAP McBSP FIFO is word structured:
McBSP2 has 1024 + 256 = 1280 word long buffer,
McBSP1,3,4,5 has 128 word long buffer

This means, that the size of the FIFO
depends on the McBSP word size configuration.
For example on McBSP3:
16bit samples: size is 128 * 2 = 256 bytes
32bit samples: size is 128 * 4 = 512 bytes
It is simpler to place constraint for buffer and period based on channels.
McBSP3 as example again (16 or 32 bit samples):
1 channel (mono): size is 128 frames (128 words)
2 channels (stereo): size is 128 / 2 = 64 frames (2 * 64 words)
4 channels: size is 128 / 4 = 32 frames (4 * 32 words)

Since now the McBSP codec supports not only 16bit samples (32biut has been
recently added), the FIFO size handling is no longer correct, since it has
been hard wired for 16bit word length.

The series changes how the users of McBSP are configuring the FIFO:
It used to be 0 based (0 meant 1 word threshold). After this series users can
configure the threshold in 1 base mode (1 means 1 word threshold).
The platform code now provides the _full_ size of the FIFO in words, instead of
the already limited value used in the past.

In ASoC omap-mcbsp code hw_rule based constraint refinement is going to be used
instead of the hardwired static constraint, which was correct only in case of
16bit word length.

The hw_rule is refining the minimum buffer size based on the channel number
going to be used by the coming stream.
In case of threshold mode additional hw_rule refines the maximum allowed period
size.

The series are generated agains Takashi's sound-2.6: topic/asoc branch.

CCing also Eduardo, and Eero since they have worked on the original
FIFO/threshold implementation.

All commetns and testers are welcome!
Peter

---
Peter Ujfalusi (5):
  OMAP: McBSP: Function to query the FIFO size
  OMAP2: McBSP: Change the way how the FIFO is handled
  OMAP2: McBSP: Use the port's buffer_size when calculating tx delay
  ASoC: omap-mcbsp: Save, and use wlen for threshold configuration
  ASoC: omap-mcbsp: Place correct constraints for streams

 arch/arm/mach-omap2/mcbsp.c             |   10 ++--
 arch/arm/plat-omap/include/plat/mcbsp.h |    2 +
 arch/arm/plat-omap/mcbsp.c              |   51 ++++++++++-----
 sound/soc/omap/omap-mcbsp.c             |  113 ++++++++++++++++++++++++-------
 4 files changed, 129 insertions(+), 47 deletions(-)

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2010-06-10  6:27 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-06-01 11:18 [PATCH v3 0/5] OMAP/ASoC: McBSP: FIFO handling related fixes Peter Ujfalusi
2010-06-01 11:18 ` [PATCH v3 1/5] OMAP: McBSP: Function to query the FIFO size Peter Ujfalusi
2010-06-01 11:18 ` [PATCH v3 2/5] OMAP2: McBSP: Change the way how the FIFO is handled Peter Ujfalusi
2010-06-01 11:18 ` [PATCH v3 3/5] OMAP2: McBSP: Use the port's buffer_size when calculating tx delay Peter Ujfalusi
2010-06-01 11:18 ` [PATCH v3 4/5] ASoC: omap-mcbsp: Save, and use wlen for threshold configuration Peter Ujfalusi
2010-06-01 11:18 ` [PATCH v3 5/5] ASoC: omap-mcbsp: Place correct constraints for streams Peter Ujfalusi
2010-06-01 12:19   ` Peter Ujfalusi
2010-06-01 11:40 ` [PATCH v3 0/5] OMAP/ASoC: McBSP: FIFO handling related fixes Jarkko Nikula
2010-06-01 12:30 ` Mark Brown
2010-06-02  9:05 ` [alsa-devel] " Peter Ujfalusi
2010-06-02  9:15   ` Liam Girdwood
2010-06-02 12:14     ` Peter Ujfalusi
2010-06-10  6:27       ` [alsa-devel] " Tony Lindgren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).