On Wed, Apr 01, 2009 at 07:16:15PM +0200, Daniel Gl?ckner wrote:
On 04/01/2009 06:48 PM, Mark Brown wrote:
JOINT_DUPLEX is just a hint to the application about how the card will
Then there needs to be a way for codecs and machines to force this bit if the PCM driver didn't set it.
Ideally, yes, but it's not really important if it's set or not since it's the constraints that actually matter. Like I say, it's just a hint.
IMHO joint duplex is a hack that works only by chance. Constraints that depend on the configuration of the first stream on open of the second stream are no longer valid when the first stream is closed. It is also not possible to add constraints when the first stream has been opened but not yet configured.
There's several existing drivers which do this (the fsl-ssi driver or the wm8903 spring to mind) - I'm planning to provide a helper for it shortly since it's quite a common requirement. There are some races there but they are fairly narrow and the ALSA APIs don't allow them to be closed down; error handling should still be done.