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

Reply via email to