Loading sound/usb/usbmixer_maps.c +45 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,50 @@ static struct usbmix_name_map mp3plus_map[] = { { 0 } /* terminator */ }; /* Topology of SB Audigy 2 NX +----------------------------->EU[27]--+ | v | +----------------------------------->SU[29]---->FU[22]-->Dig_OUT[24] | | ^ USB_IN[1]-+------------+ +->EU[17]->+->FU[11]-+ | v | v | Dig_IN[4]---+->FU[6]-->MU[16]->FU[18]-+->EU[21]->SU[31]----->FU[30]->Hph_OUT[20] | ^ | | Lin_IN[7]-+--->FU[8]---+ +->EU[23]->FU[28]------------->Spk_OUT[19] | | v +--->FU[12]------------------------------------->SU[14]--->USB_OUT[15] | ^ +->FU[13]--------------------------------------+ */ static struct usbmix_name_map audigy2nx_map[] = { /* 1: IT pcm playback */ /* 4: IT digital in */ { 6, "Digital In Playback" }, /* FU */ /* 7: IT line in */ { 8, "Line Playback" }, /* FU */ { 11, "What-U-Hear Capture" }, /* FU */ { 12, "Line Capture" }, /* FU */ { 13, "Digital In Capture" }, /* FU */ { 14, "Capture Source" }, /* SU */ /* 15: OT pcm capture */ /* 16: MU w/o controls */ { 17, NULL }, /* DISABLED: EU (for what?) */ { 18, "Master Playback" }, /* FU */ /* 19: OT speaker */ /* 20: OT headphone */ { 21, NULL }, /* DISABLED: EU (for what?) */ { 22, "Digital Out Playback" }, /* FU */ { 23, NULL }, /* DISABLED: EU (for what?) */ /* 24: OT digital out */ { 27, NULL }, /* DISABLED: EU (for what?) */ { 28, "Speaker Playback" }, /* FU */ { 29, "Digital Out Source" }, /* SU */ { 30, "Headphone Playback" }, /* FU */ { 31, "Headphone Source" }, /* SU */ { 0 } /* terminator */ }; /* LineX FM Transmitter entry - needed to bypass controls bug */ static struct usbmix_name_map linex_map[] = { /* 1: IT pcm */ Loading Loading @@ -156,6 +200,7 @@ static struct usbmix_name_map justlink_map[] = { static struct usbmix_ctl_map usbmix_ctl_maps[] = { { 0x41e, 0x3000, extigy_map, 1 }, { 0x41e, 0x3010, mp3plus_map, 0 }, { 0x41e, 0x3020, audigy2nx_map, 0 }, { 0x8bb, 0x2702, linex_map, 1 }, { 0xc45, 0x1158, justlink_map, 0 }, { 0 } /* terminator */ Loading Loading
sound/usb/usbmixer_maps.c +45 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,50 @@ static struct usbmix_name_map mp3plus_map[] = { { 0 } /* terminator */ }; /* Topology of SB Audigy 2 NX +----------------------------->EU[27]--+ | v | +----------------------------------->SU[29]---->FU[22]-->Dig_OUT[24] | | ^ USB_IN[1]-+------------+ +->EU[17]->+->FU[11]-+ | v | v | Dig_IN[4]---+->FU[6]-->MU[16]->FU[18]-+->EU[21]->SU[31]----->FU[30]->Hph_OUT[20] | ^ | | Lin_IN[7]-+--->FU[8]---+ +->EU[23]->FU[28]------------->Spk_OUT[19] | | v +--->FU[12]------------------------------------->SU[14]--->USB_OUT[15] | ^ +->FU[13]--------------------------------------+ */ static struct usbmix_name_map audigy2nx_map[] = { /* 1: IT pcm playback */ /* 4: IT digital in */ { 6, "Digital In Playback" }, /* FU */ /* 7: IT line in */ { 8, "Line Playback" }, /* FU */ { 11, "What-U-Hear Capture" }, /* FU */ { 12, "Line Capture" }, /* FU */ { 13, "Digital In Capture" }, /* FU */ { 14, "Capture Source" }, /* SU */ /* 15: OT pcm capture */ /* 16: MU w/o controls */ { 17, NULL }, /* DISABLED: EU (for what?) */ { 18, "Master Playback" }, /* FU */ /* 19: OT speaker */ /* 20: OT headphone */ { 21, NULL }, /* DISABLED: EU (for what?) */ { 22, "Digital Out Playback" }, /* FU */ { 23, NULL }, /* DISABLED: EU (for what?) */ /* 24: OT digital out */ { 27, NULL }, /* DISABLED: EU (for what?) */ { 28, "Speaker Playback" }, /* FU */ { 29, "Digital Out Source" }, /* SU */ { 30, "Headphone Playback" }, /* FU */ { 31, "Headphone Source" }, /* SU */ { 0 } /* terminator */ }; /* LineX FM Transmitter entry - needed to bypass controls bug */ static struct usbmix_name_map linex_map[] = { /* 1: IT pcm */ Loading Loading @@ -156,6 +200,7 @@ static struct usbmix_name_map justlink_map[] = { static struct usbmix_ctl_map usbmix_ctl_maps[] = { { 0x41e, 0x3000, extigy_map, 1 }, { 0x41e, 0x3010, mp3plus_map, 0 }, { 0x41e, 0x3020, audigy2nx_map, 0 }, { 0x8bb, 0x2702, linex_map, 1 }, { 0xc45, 0x1158, justlink_map, 0 }, { 0 } /* terminator */ Loading