[alsa-devel] [PATCH 1/5] allow up to 32 PCM devices

Wu Fengguang fengguang.wu at intel.com
Wed May 12 10:39:50 CEST 2010


On Wed, May 12, 2010 at 04:03:43PM +0800, Takashi Iwai wrote:
> At Wed, 12 May 2010 09:29:57 +0200 (CEST),
> Jaroslav Kysela wrote:
> > 
> > On Wed, 12 May 2010, Wu Fengguang wrote:
> > 
> > > Reserve 32 minor numbers for PCM playback devices.
> > >
> > > The Intel SandyBridge HDMI audio codec provides 3 PCM devices with
> > > indices 3, 7, 8. Among which the device 8's minor number will be
> > > overlapped with the first capture device's minor number in the current
> > > static minor number allocation scheme.
> > >
> > > Also increase SNDRV_PCM_DEVICES to make pcm_dev_bits big enough to hold
> > > the increasing number of PCM devices.
> > 
> > I don't agree to have only 4 slots for soundcards in the static minor 
> > numbering. Maybe the driver should be converted to use subdevices or we 
> > might drop the static minor number allocation at all (it might have only 
> > impact for old distros).

Jaroslav, will there be so many sound cards in one system?

> Dropping such a base feature is really no good option.  Better to give
> simply an error for more than 8 PCMs in such a case, IMO.

Agreed.

> I also wonder whether having 4 individual PCMs is a way to go.  We may
> have PCM substreams, if any.  OTOH, the current IEC958 stream
> assignment mechanism doesn't consider multiple substreams well, e.g.
> we have no proper way to match the IEC958 status bits control to a PCM
> substream.

Hmm, what if there are two monitors attached, each want to play a
different music track?

I think the 3 HDMI devices are inherently independent. Each one can
have different hw rates, bits, and speaker allocation. And if
implemented as PCM substreams, how can the user space specify "please
play this music on this monitor"? AFAIK the windows driver also
exports 3 independent HDMI playback devices.

Thanks,
Fengguang


More information about the Alsa-devel mailing list