Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c3f1b1c authored by Markus Bollinger's avatar Markus Bollinger Committed by Takashi Iwai
Browse files

ALSA: pcxhr: Add 8 new sound cards



add new sound cards VX442HR VX442e PCX442HR PCX442e VX822HR VX822e PCX822HR and PCX822e

Signed-off-by: default avatarMarkus Bollinger <bollinger@digigram.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 56244d08
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -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 */
+3 −3
Original line number Diff line number Diff line
@@ -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;