Update of /cvsroot/alsa/alsa-kernel/pci/ice1712 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15376
Modified Files: amp.c aureon.c delta.c ews.c hoontech.c ice1712.c ice1712.h prodigy.c revo.c Log Message: Dirk Kalis <[EMAIL PROTECTED]> Added num_total_adcs. Separated analog input / s/pdif input controls Index: amp.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/amp.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- amp.c 28 Jan 2003 16:22:25 -0000 1.3 +++ amp.c 5 Mar 2004 09:08:38 -0000 1.4 @@ -38,6 +38,7 @@ /* only use basic functionality for now */ ice->num_total_dacs = 2; /* only PSDOUT0 is connected */ + ice->num_total_adcs = 2; return 0; } Index: aureon.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/aureon.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- aureon.c 24 Nov 2003 18:29:54 -0000 1.4 +++ aureon.c 5 Mar 2004 09:08:39 -0000 1.5 @@ -409,10 +409,13 @@ unsigned int tmp; unsigned int i; - if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) + if (ice->eeprom.subvendor == VT1724_SUBDEVICE_AUREON51_SKY) { ice->num_total_dacs = 6; - else + ice->num_total_adcs = 6; + } else { ice->num_total_dacs = 8; + ice->num_total_adcs = 8; + } /* to remeber the register values */ ice->akm = snd_kcalloc(sizeof(akm4xxx_t), GFP_KERNEL); Index: delta.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/delta.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- delta.c 5 Feb 2004 13:34:50 -0000 1.14 +++ delta.c 5 Mar 2004 09:08:39 -0000 1.15 @@ -511,20 +511,25 @@ switch (ice->eeprom.subvendor) { case ICE1712_SUBDEVICE_AUDIOPHILE: ice->num_total_dacs = 2; + ice->num_total_adcs = 2; break; case ICE1712_SUBDEVICE_DELTA410: ice->num_total_dacs = 8; + ice->num_total_adcs = 2; break; case ICE1712_SUBDEVICE_DELTA44: case ICE1712_SUBDEVICE_DELTA66: ice->num_total_dacs = ice->omni ? 8 : 4; + ice->num_total_adcs = ice->omni ? 8 : 4; break; case ICE1712_SUBDEVICE_DELTA1010: case ICE1712_SUBDEVICE_DELTA1010LT: ice->num_total_dacs = 8; + ice->num_total_adcs = 8; break; case ICE1712_SUBDEVICE_VX442: ice->num_total_dacs = 4; + ice->num_total_adcs = 4; break; } Index: ews.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/ews.c,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ews.c 30 Jun 2003 14:21:12 -0000 1.15 +++ ews.c 5 Mar 2004 09:08:39 -0000 1.16 @@ -406,15 +406,18 @@ switch (ice->eeprom.subvendor) { case ICE1712_SUBDEVICE_EWX2496: ice->num_total_dacs = 2; + ice->num_total_adcs = 2; break; case ICE1712_SUBDEVICE_EWS88MT: case ICE1712_SUBDEVICE_EWS88MT_NEW: ice->num_total_dacs = 8; + ice->num_total_adcs = 8; break; case ICE1712_SUBDEVICE_EWS88D: break; /* no analog */ case ICE1712_SUBDEVICE_DMX6FIRE: ice->num_total_dacs = 6; + ice->num_total_adcs = 6; break; } Index: hoontech.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/hoontech.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- hoontech.c 9 Dec 2002 11:35:23 -0000 1.2 +++ hoontech.c 5 Mar 2004 09:08:39 -0000 1.3 @@ -153,6 +153,7 @@ int box, chn; ice->num_total_dacs = 8; + ice->num_total_adcs = 8; ice->hoontech_boxbits[0] = ice->hoontech_boxbits[1] = Index: ice1712.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/ice1712.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- ice1712.c 2 Mar 2004 15:32:37 -0000 1.42 +++ ice1712.c 5 Mar 2004 09:08:39 -0000 1.43 @@ -1384,7 +1384,7 @@ } -static snd_kcontrol_new_t snd_ice1712_multi_ctrls[] __devinitdata = { +static snd_kcontrol_new_t snd_ice1712_multi_playback_ctrls[] __devinitdata = { { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "Multi Playback Switch", @@ -1403,24 +1403,44 @@ .private_value = 0, .count = 10, }, - { - .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Multi Capture Switch", - .info = snd_ice1712_pro_mixer_switch_info, - .get = snd_ice1712_pro_mixer_switch_get, - .put = snd_ice1712_pro_mixer_switch_put, - .private_value = 10, - .count = 10, - }, - { - .iface = SNDRV_CTL_ELEM_IFACE_MIXER, - .name = "Multi Capture Volume", - .info = snd_ice1712_pro_mixer_volume_info, - .get = snd_ice1712_pro_mixer_volume_get, - .put = snd_ice1712_pro_mixer_volume_put, - .private_value = 10, - .count = 10, - }, +}; + +static snd_kcontrol_new_t snd_ice1712_multi_capture_analog_switch __devinitdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "H/W Multi Capture Switch", + .info = snd_ice1712_pro_mixer_switch_info, + .get = snd_ice1712_pro_mixer_switch_get, + .put = snd_ice1712_pro_mixer_switch_put, + .private_value = 10, +}; + +static snd_kcontrol_new_t snd_ice1712_multi_capture_spdif_switch __devinitdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "IEC958 Multi Capture Switch", + .info = snd_ice1712_pro_mixer_switch_info, + .get = snd_ice1712_pro_mixer_switch_get, + .put = snd_ice1712_pro_mixer_switch_put, + .private_value = 18, + .count = 2, +}; + +static snd_kcontrol_new_t snd_ice1712_multi_capture_analog_volume __devinitdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "H/W Multi Capture Volume", + .info = snd_ice1712_pro_mixer_volume_info, + .get = snd_ice1712_pro_mixer_volume_get, + .put = snd_ice1712_pro_mixer_volume_put, + .private_value = 10, +}; + +static snd_kcontrol_new_t snd_ice1712_multi_capture_spdif_volume __devinitdata = { + .iface = SNDRV_CTL_ELEM_IFACE_MIXER, + .name = "IEC958 Multi Capture Volume", + .info = snd_ice1712_pro_mixer_volume_info, + .get = snd_ice1712_pro_mixer_volume_get, + .put = snd_ice1712_pro_mixer_volume_put, + .private_value = 18, + .count = 2, }; static int __devinit snd_ice1712_build_pro_mixer(ice1712_t *ice) @@ -1430,14 +1450,46 @@ int err; /* multi-channel mixer */ - for (idx = 0; idx < ARRAY_SIZE(snd_ice1712_multi_ctrls); idx++) { - err = snd_ctl_add(card, snd_ctl_new1(&snd_ice1712_multi_ctrls[idx], ice)); + for (idx = 0; idx < ARRAY_SIZE(snd_ice1712_multi_playback_ctrls); idx++) { + err = snd_ctl_add(card, snd_ctl_new1(&snd_ice1712_multi_playback_ctrls[idx], ice)); if (err < 0) return err; } + if (ice->num_total_adcs > 0) { + snd_kcontrol_new_t tmp = snd_ice1712_multi_capture_analog_switch; + tmp.count = ice->num_total_adcs; + err = snd_ctl_add(card, snd_ctl_new1(&tmp, ice)); + if (err < 0) + return err; + } + + err = snd_ctl_add(card, snd_ctl_new1(&snd_ice1712_multi_capture_spdif_switch, ice)); + if (err < 0) + return err; + + if (ice->num_total_adcs > 0) { + snd_kcontrol_new_t tmp = snd_ice1712_multi_capture_analog_volume; + tmp.count = ice->num_total_adcs; + err = snd_ctl_add(card, snd_ctl_new1(&tmp, ice)); + if (err < 0) + return err; + } + + err = snd_ctl_add(card, snd_ctl_new1(&snd_ice1712_multi_capture_spdif_volume, ice)); + if (err < 0) + return err; + /* initialize volumes */ - for (idx = 0; idx < 20; idx++) { + for (idx = 0; idx < 10; idx++) { + ice->pro_volumes[idx] = 0x80008000; /* mute */ + snd_ice1712_update_volume(ice, idx); + } + for (idx = 10; idx < 10 + ice->num_total_adcs; idx++) { + ice->pro_volumes[idx] = 0x80008000; /* mute */ + snd_ice1712_update_volume(ice, idx); + } + for (idx = 18; idx < 20; idx++) { ice->pro_volumes[idx] = 0x80008000; /* mute */ snd_ice1712_update_volume(ice, idx); } Index: ice1712.h =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/ice1712.h,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- ice1712.h 10 Feb 2004 15:35:03 -0000 1.16 +++ ice1712.h 5 Mar 2004 09:08:39 -0000 1.17 @@ -330,6 +330,7 @@ unsigned int omni: 1; /* Delta Omni I/O */ unsigned int vt1724: 1; unsigned int num_total_dacs; /* total DACs */ + unsigned int num_total_adcs; /* total ADCs */ unsigned char hoontech_boxbits[4]; unsigned int hoontech_config; unsigned short hoontech_boxconfig[4]; Index: prodigy.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/prodigy.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- prodigy.c 24 Nov 2003 18:29:56 -0000 1.3 +++ prodigy.c 5 Mar 2004 09:08:39 -0000 1.4 @@ -585,6 +585,7 @@ printk(KERN_INFO "ice1724: Apostolos Dimitromanolakis <[EMAIL PROTECTED]>\n"); ice->num_total_dacs = 8; + ice->num_total_adcs = 8; /* to remeber the register values */ ice->akm = snd_kcalloc(sizeof(akm4xxx_t), GFP_KERNEL); Index: revo.c =================================================================== RCS file: /cvsroot/alsa/alsa-kernel/pci/ice1712/revo.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- revo.c 11 Sep 2003 09:34:49 -0000 1.4 +++ revo.c 5 Mar 2004 09:08:39 -0000 1.5 @@ -128,6 +128,7 @@ switch (ice->eeprom.subvendor) { case VT1724_SUBDEVICE_REVOLUTION71: ice->num_total_dacs = 8; + ice->num_total_adcs = 4; break; default: snd_BUG(); ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ Alsa-cvslog mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-cvslog