Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/pci/hdaudio Remove hdaudio.gpio.* mixer controls, th...



details:   https://anonhg.NetBSD.org/src/rev/2af0b5145e19
branches:  trunk
changeset: 747251:2af0b5145e19
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Mon Sep 07 11:50:01 2009 +0000

description:
Remove hdaudio.gpio.* mixer controls, they didn't work anyway.

diffstat:

 sys/dev/pci/hdaudio/hdaudio_afg.c |  168 +++++++++----------------------------
 1 files changed, 41 insertions(+), 127 deletions(-)

diffs (262 lines):

diff -r 7d7ea0a8a23a -r 2af0b5145e19 sys/dev/pci/hdaudio/hdaudio_afg.c
--- a/sys/dev/pci/hdaudio/hdaudio_afg.c Mon Sep 07 11:49:27 2009 +0000
+++ b/sys/dev/pci/hdaudio/hdaudio_afg.c Mon Sep 07 11:50:01 2009 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: hdaudio_afg.c,v 1.3 2009/09/07 02:04:43 jmcneill Exp $ */
+/* $NetBSD: hdaudio_afg.c,v 1.4 2009/09/07 11:50:01 jmcneill Exp $ */
 
 /*
  * Copyright (c) 2009 Precedence Technologies Ltd <support%precedence.co.uk@localhost>
@@ -60,7 +60,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hdaudio_afg.c,v 1.3 2009/09/07 02:04:43 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hdaudio_afg.c,v 1.4 2009/09/07 11:50:01 jmcneill Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -98,8 +98,7 @@
 #define HDAUDIO_MIXER_CLASS_OUTPUTS    0
 #define        HDAUDIO_MIXER_CLASS_INPUTS      1
 #define        HDAUDIO_MIXER_CLASS_RECORD      2
-#define        HDAUDIO_MIXER_CLASS_HDAUDIO     3
-#define        HDAUDIO_MIXER_CLASS_LAST        HDAUDIO_MIXER_CLASS_HDAUDIO
+#define        HDAUDIO_MIXER_CLASS_LAST        HDAUDIO_MIXER_CLASS_RECORD
 
 #define        HDAUDIO_GPIO_MASK       0
 #define        HDAUDIO_GPIO_DIR        1
@@ -285,8 +284,6 @@
        int                             sc_nmixers;
        struct hdaudio_mixer            *sc_mixers;
 
-       int                             sc_gpioindex[3];
-
        int                             sc_pchan, sc_rchan;
        int                             sc_curpchan, sc_currchan;
 
@@ -992,8 +989,6 @@
        uint32_t nodecnt;
        int nid;
 
-       sc->sc_gpioindex[0] = sc->sc_gpioindex[1] = sc->sc_gpioindex[2] = -1;
-
        nodecnt = hda_get_param(sc, SUBORDINATE_NODE_COUNT);
        sc->sc_startnode = COP_NODECNT_STARTNODE(nodecnt);
        sc->sc_nwidgets = COP_NODECNT_NUMNODES(nodecnt);
@@ -2422,11 +2417,8 @@
                ++nmixers;
        if (nadc > 0)
                ++nmixers;
-       /* Make room for gpio controls */
-       if (numgpio > 0)
-               nmixers += 3;
-
-       hda_trace(sc, "  need %d mixers (4 classes%s)\n",
+
+       hda_trace(sc, "  need %d mixers (3 classes%s)\n",
            nmixers, needmasterctl ? " + fake master" : "");
 
        /* Allocate memory for the mixers */
@@ -2450,53 +2442,6 @@
                case HDAUDIO_MIXER_CLASS_RECORD:
                        strcpy(mx[index].mx_di.label.name, AudioCrecord);
                        break;
-               case HDAUDIO_MIXER_CLASS_HDAUDIO:
-                       strcpy(mx[index].mx_di.label.name, "hdaudio");
-                       break;
-               }
-               ++index;
-       }
-
-       /* DAC selector */
-       if (ndac > 0) {
-               mx[index].mx_ctl = NULL;
-               mx[index].mx_di.index = index;
-               mx[index].mx_di.type = AUDIO_MIXER_SET;
-               mx[index].mx_di.mixer_class = HDAUDIO_MIXER_CLASS_OUTPUTS;
-               mx[index].mx_di.prev = mx[index].mx_di.next = AUDIO_MIXER_LAST;
-               strcpy(mx[index].mx_di.label.name, AudioNselect);
-               mx[index].mx_di.un.s.num_mem = ndac;
-               for (i = 0, j = 0; i < sc->sc_nassocs; i++) {
-                       if (sc->sc_assocs[i].as_enable == false)
-                               continue;
-                       if (sc->sc_assocs[i].as_dir != HDAUDIO_PINDIR_OUT)
-                               continue;
-                       mx[index].mx_di.un.s.member[j].mask = 1 << i;
-                       sprintf(mx[index].mx_di.un.s.member[j].label.name,
-                           "DAC%02X", i);
-                       ++j;
-               }
-               ++index;
-       }
-
-       /* ADC selector */
-       if (nadc > 0) {
-               mx[index].mx_ctl = NULL;
-               mx[index].mx_di.index = index;
-               mx[index].mx_di.type = AUDIO_MIXER_SET;
-               mx[index].mx_di.mixer_class = HDAUDIO_MIXER_CLASS_RECORD;
-               mx[index].mx_di.prev = mx[index].mx_di.next = AUDIO_MIXER_LAST;
-               strcpy(mx[index].mx_di.label.name, AudioNsource);
-               mx[index].mx_di.un.s.num_mem = nadc;
-               for (i = 0, j = 0; i < sc->sc_nassocs; i++) {
-                       if (sc->sc_assocs[i].as_enable == false)
-                               continue;
-                       if (sc->sc_assocs[i].as_dir != HDAUDIO_PINDIR_IN)
-                               continue;
-                       mx[index].mx_di.un.s.member[j].mask = 1 << i;
-                       sprintf(mx[index].mx_di.un.s.member[j].label.name,
-                           "ADC%02X", i);
-                       ++j;
                }
                ++index;
        }
@@ -2556,47 +2501,50 @@
                ++index;
        }
 
-       /* GPIO controls */
-       if (numgpio > 0) {
-               /* mask */
-               sc->sc_gpioindex[HDAUDIO_GPIO_MASK] = index;
-               mx[index].mx_ctl = NULL;
-               mx[index].mx_di.index = index;
-               mx[index].mx_di.type = AUDIO_MIXER_VALUE;
-               mx[index].mx_di.mixer_class = HDAUDIO_MIXER_CLASS_HDAUDIO;
-               mx[index].mx_di.prev = mx[index].mx_di.next = AUDIO_MIXER_LAST;
-               mx[index].mx_di.un.v.num_channels = 1;
-               mx[index].mx_di.un.v.delta = 1;
-               strcpy(mx[index].mx_di.label.name, "gpio.mask");
-               strcpy(mx[index].mx_di.un.v.units.name, "bitmask");
-               ++index;
-               /* direction */
-               sc->sc_gpioindex[HDAUDIO_GPIO_DIR] = index;
+       /* DAC selector */
+       if (ndac > 0) {
                mx[index].mx_ctl = NULL;
                mx[index].mx_di.index = index;
-               mx[index].mx_di.type = AUDIO_MIXER_VALUE;
-               mx[index].mx_di.mixer_class = HDAUDIO_MIXER_CLASS_HDAUDIO;
+               mx[index].mx_di.type = AUDIO_MIXER_SET;
+               mx[index].mx_di.mixer_class = HDAUDIO_MIXER_CLASS_OUTPUTS;
                mx[index].mx_di.prev = mx[index].mx_di.next = AUDIO_MIXER_LAST;
-               mx[index].mx_di.un.v.num_channels = 1;
-               mx[index].mx_di.un.v.delta = 1;
-               strcpy(mx[index].mx_di.label.name, "gpio.dir");
-               strcpy(mx[index].mx_di.un.v.units.name, "bitmask");
+               strcpy(mx[index].mx_di.label.name, AudioNselect);
+               mx[index].mx_di.un.s.num_mem = ndac;
+               for (i = 0, j = 0; i < sc->sc_nassocs; i++) {
+                       if (sc->sc_assocs[i].as_enable == false)
+                               continue;
+                       if (sc->sc_assocs[i].as_dir != HDAUDIO_PINDIR_OUT)
+                               continue;
+                       mx[index].mx_di.un.s.member[j].mask = 1 << i;
+                       sprintf(mx[index].mx_di.un.s.member[j].label.name,
+                           "DAC%02X", i);
+                       ++j;
+               }
                ++index;
-               /* data */
-               sc->sc_gpioindex[HDAUDIO_GPIO_DATA] = index;
+       }
+
+       /* ADC selector */
+       if (nadc > 0) {
                mx[index].mx_ctl = NULL;
                mx[index].mx_di.index = index;
-               mx[index].mx_di.type = AUDIO_MIXER_VALUE;
-               mx[index].mx_di.mixer_class = HDAUDIO_MIXER_CLASS_HDAUDIO;
+               mx[index].mx_di.type = AUDIO_MIXER_SET;
+               mx[index].mx_di.mixer_class = HDAUDIO_MIXER_CLASS_RECORD;
                mx[index].mx_di.prev = mx[index].mx_di.next = AUDIO_MIXER_LAST;
-               mx[index].mx_di.un.v.num_channels = 1;
-               mx[index].mx_di.un.v.delta = 1;
-               strcpy(mx[index].mx_di.label.name, "gpio.data");
-               strcpy(mx[index].mx_di.un.v.units.name, "bitmask");
+               strcpy(mx[index].mx_di.label.name, AudioNsource);
+               mx[index].mx_di.un.s.num_mem = nadc;
+               for (i = 0, j = 0; i < sc->sc_nassocs; i++) {
+                       if (sc->sc_assocs[i].as_enable == false)
+                               continue;
+                       if (sc->sc_assocs[i].as_dir != HDAUDIO_PINDIR_IN)
+                               continue;
+                       mx[index].mx_di.un.s.member[j].mask = 1 << i;
+                       sprintf(mx[index].mx_di.un.s.member[j].label.name,
+                           "ADC%02X", i);
+                       ++j;
+               }
                ++index;
        }
 
-
        sc->sc_mixers = mx;
 }
 
@@ -3290,8 +3238,7 @@
                return EINVAL;
        mx = &sc->sc_mixers[mc->dev];
        ctl = mx->mx_ctl;
-       if (ctl == NULL &&
-           mx->mx_di.mixer_class != HDAUDIO_MIXER_CLASS_HDAUDIO) {
+       if (ctl == NULL) {
                if (mx->mx_di.type != AUDIO_MIXER_SET)
                        return ENXIO;
                if (mx->mx_di.mixer_class != HDAUDIO_MIXER_CLASS_OUTPUTS &&
@@ -3314,22 +3261,6 @@
                    AUMODE_PLAY : AUMODE_RECORD);
                return 0;
        }
-       if (ctl == NULL &&
-           mx->mx_di.mixer_class == HDAUDIO_MIXER_CLASS_HDAUDIO) {
-               uint32_t v;
-               int cmd;
-               if (mx->mx_di.index == sc->sc_gpioindex[HDAUDIO_GPIO_MASK])
-                       cmd = CORB_SET_GPIO_ENABLE_MASK;
-               else if (mx->mx_di.index == sc->sc_gpioindex[HDAUDIO_GPIO_DIR])
-                       cmd = CORB_SET_GPIO_DIRECTION;
-               else if (mx->mx_di.index == sc->sc_gpioindex[HDAUDIO_GPIO_DATA])
-                       cmd = CORB_SET_GPIO_DATA;
-               else
-                       return ENXIO;
-               v = mc->un.value.level[AUDIO_MIXER_LEVEL_MONO];
-               hdaudio_command(sc->sc_codec, sc->sc_nid, cmd, v);
-               return 0;
-       }
 
        hdaudio_afg_control_amp_set(ctl, HDAUDIO_AMP_MUTE_NONE,
            mc->un.value.level[AUDIO_MIXER_LEVEL_LEFT] / 2,
@@ -3352,8 +3283,7 @@
                return EINVAL;
        mx = &sc->sc_mixers[mc->dev];
        ctl = mx->mx_ctl;
-       if (ctl == NULL &&
-           mx->mx_di.mixer_class != HDAUDIO_MIXER_CLASS_HDAUDIO) {
+       if (ctl == NULL) {
                if (mx->mx_di.type != AUDIO_MIXER_SET)
                        return ENXIO;
                if (mx->mx_di.mixer_class != HDAUDIO_MIXER_CLASS_OUTPUTS &&
@@ -3376,22 +3306,6 @@
                mc->un.mask = mask;
                return 0;
        }
-       if (ctl == NULL &&
-           mx->mx_di.mixer_class == HDAUDIO_MIXER_CLASS_HDAUDIO) {
-               uint32_t v;
-               int cmd;
-               if (mx->mx_di.index == sc->sc_gpioindex[HDAUDIO_GPIO_MASK])
-                       cmd = CORB_GET_GPIO_ENABLE_MASK;
-               else if (mx->mx_di.index == sc->sc_gpioindex[HDAUDIO_GPIO_DIR])
-                       cmd = CORB_GET_GPIO_DIRECTION;
-               else if (mx->mx_di.index == sc->sc_gpioindex[HDAUDIO_GPIO_DATA])
-                       cmd = CORB_GET_GPIO_DATA;
-               else
-                       return ENXIO;
-               v = hdaudio_command(sc->sc_codec, sc->sc_nid, cmd, 0);
-               mc->un.value.level[AUDIO_MIXER_LEVEL_MONO] = v;
-               return 0;
-       }
 
        mc->un.value.level[AUDIO_MIXER_LEVEL_LEFT] = ctl->ctl_left * 2;
        mc->un.value.level[AUDIO_MIXER_LEVEL_RIGHT] = ctl->ctl_right * 2;



Home | Main Index | Thread Index | Old Index