OSDN Git Service

ALSA: pcxhr: Add 8 new sound cards
authorMarkus Bollinger <bollinger@digigram.com>
Fri, 24 Aug 2012 12:54:57 +0000 (14:54 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 27 Aug 2012 14:10:29 +0000 (16:10 +0200)
add new sound cards VX442HR VX442e PCX442HR PCX442e VX822HR VX822e PCX822HR and PCX822e

Signed-off-by: Markus Bollinger <bollinger@digigram.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/pcxhr/pcxhr.c
sound/pci/pcxhr/pcxhr_hwdep.c

index e3ac1f7..be4f145 100644 (file)
@@ -91,6 +91,14 @@ enum {
        PCI_ID_PCX924E,
        PCI_ID_PCX924HRMIC,
        PCI_ID_PCX924E_MIC,
+       PCI_ID_VX442HR,
+       PCI_ID_PCX442HR,
+       PCI_ID_VX442E,
+       PCI_ID_PCX442E,
+       PCI_ID_VX822HR,
+       PCI_ID_PCX822HR,
+       PCI_ID_VX822E,
+       PCI_ID_PCX822E,
        PCI_ID_LAST
 };
 
@@ -121,6 +129,14 @@ static DEFINE_PCI_DEVICE_TABLE(pcxhr_ids) = {
        { 0x10b5, 0x9056, 0x1369, 0xbb21, 0, 0, PCI_ID_PCX924E, },
        { 0x10b5, 0x9056, 0x1369, 0xbf01, 0, 0, PCI_ID_PCX924HRMIC, },
        { 0x10b5, 0x9056, 0x1369, 0xbf21, 0, 0, PCI_ID_PCX924E_MIC, },
+       { 0x10b5, 0x9656, 0x1369, 0xd001, 0, 0, PCI_ID_VX442HR, },
+       { 0x10b5, 0x9656, 0x1369, 0xd101, 0, 0, PCI_ID_PCX442HR, },
+       { 0x10b5, 0x9056, 0x1369, 0xd021, 0, 0, PCI_ID_VX442E, },
+       { 0x10b5, 0x9056, 0x1369, 0xd121, 0, 0, PCI_ID_PCX442E, },
+       { 0x10b5, 0x9656, 0x1369, 0xd201, 0, 0, PCI_ID_VX822HR, },
+       { 0x10b5, 0x9656, 0x1369, 0xd301, 0, 0, PCI_ID_PCX822HR, },
+       { 0x10b5, 0x9056, 0x1369, 0xd221, 0, 0, PCI_ID_VX822E, },
+       { 0x10b5, 0x9056, 0x1369, 0xd321, 0, 0, PCI_ID_PCX822E, },
        { 0, }
 };
 
@@ -160,6 +176,14 @@ static struct board_parameters pcxhr_board_params[] = {
 [PCI_ID_PCX924E] =      { "PCX924e",      1, 1, 5, 44 },
 [PCI_ID_PCX924HRMIC] =  { "PCX924HR-Mic", 1, 1, 5, 44 },
 [PCI_ID_PCX924E_MIC] =  { "PCX924e-Mic",  1, 1, 5, 44 },
+[PCI_ID_VX442HR] =      { "VX442HR",      2, 2, 0, 41 },
+[PCI_ID_PCX442HR] =     { "PCX442HR",     2, 2, 0, 41 },
+[PCI_ID_VX442E] =       { "VX442e",       2, 2, 1, 41 },
+[PCI_ID_PCX442E] =      { "PCX442e",      2, 2, 1, 41 },
+[PCI_ID_VX822HR] =      { "VX822HR",      4, 1, 2, 42 },
+[PCI_ID_PCX822HR] =     { "PCX822HR",     4, 1, 2, 42 },
+[PCI_ID_VX822E] =       { "VX822e",       4, 1, 3, 42 },
+[PCI_ID_PCX822E] =      { "PCX822e",      4, 1, 3, 42 },
 };
 
 /* boards without hw AES1 and SRC onboard are all using fw_file_set==4 */
index ec1587c..bf207e3 100644 (file)
@@ -66,10 +66,10 @@ static int pcxhr_init_board(struct pcxhr_mgr *mgr)
        err = pcxhr_send_msg(mgr, &rmh);
        if (err)
                return err;
-       /* test 8 or 12 phys out */
-       if ((rmh.stat[0] & MASK_FIRST_FIELD) != mgr->playback_chips * 2)
+       /* test 4, 8 or 12 phys out */
+       if ((rmh.stat[0] & MASK_FIRST_FIELD) < mgr->playback_chips * 2)
                return -EINVAL;
-       /* test 8 or 2 phys in */
+       /* test 4, 8 or 2 phys in */
        if (((rmh.stat[0] >> (2 * FIELD_SIZE)) & MASK_FIRST_FIELD) <
            mgr->capture_chips * 2)
                return -EINVAL;