[alsa-devel] [PATCH]Change the AZX_MAX_PCMS to 10
Hi, Takashi When I develop hdmi audio driver on the GT21x, I found a bug in the had_intel.c In hda_codec.c, it has define "[HDA_PCM_TYPE_HDMI] = { 3, 7, 8, 9, -1 },", it support up to device 9 for HDMI. But in hda_intel.c, it only define AZX_MAX_PCMS as 8. So the GT21x have 4 hdmi codecs, when run azx_attach_pcm_stream(), it will show error "Invalid PCM device number 8", and "... number 9", and return "-EINVAL". We should change the AZX_MAX_PCMS to 10.
I attach the patch file, please check it.
Thanks Wei.
----------------------------------------------------------------------------------- This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. -----------------------------------------------------------------------------------
On Thu, 28 Jan 2010, Wei Ni wrote:
Hi, Takashi When I develop hdmi audio driver on the GT21x, I found a bug in the had_intel.c In hda_codec.c, it has define "[HDA_PCM_TYPE_HDMI] = { 3, 7, 8, 9, -1 },", it support up to device 9 for HDMI. But in hda_intel.c, it only define AZX_MAX_PCMS as 8. So the GT21x have 4 hdmi codecs, when run azx_attach_pcm_stream(), it will show error "Invalid PCM device number 8", and "... number 9", and return "-EINVAL". We should change the AZX_MAX_PCMS to 10.
I'm afraid, but having more than 8 PCM devices might cause problems when CONFIG_SND_DYNAMIC_MINORS is not set. At least, this condition (#if SNDRV_PCM_DEVICES < 10) should be handled in the HDA driver.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
At Thu, 28 Jan 2010 09:48:44 +0100 (CET), Jaroslav Kysela wrote:
On Thu, 28 Jan 2010, Wei Ni wrote:
Hi, Takashi When I develop hdmi audio driver on the GT21x, I found a bug in the had_intel.c In hda_codec.c, it has define "[HDA_PCM_TYPE_HDMI] = { 3, 7, 8, 9, -1 },", it support up to device 9 for HDMI. But in hda_intel.c, it only define AZX_MAX_PCMS as 8. So the GT21x have 4 hdmi codecs, when run azx_attach_pcm_stream(), it will show error "Invalid PCM device number 8", and "... number 9", and return "-EINVAL". We should change the AZX_MAX_PCMS to 10.
I'm afraid, but having more than 8 PCM devices might cause problems when CONFIG_SND_DYNAMIC_MINORS is not set. At least, this condition (#if SNDRV_PCM_DEVICES < 10) should be handled in the HDA driver.
Indeed. But it'll be give anyway at runtime, so no big issue.
The fix, however, should be merged because of inconsistency between hda_intel.c and hda_codec.c. We should put this rather in hda_codec.h so that it can be referred from both.
thanks,
Takashi
participants (3)
-
Jaroslav Kysela
-
Takashi Iwai
-
Wei Ni