summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-01-08 19:43:47 +0000
committermav <mav@FreeBSD.org>2009-01-08 19:43:47 +0000
commit49b34fa613c7d0a33284acecf4bb37df66ee5ead (patch)
tree24b9ad67311c51a5c6d656752bfcaa468df3c749 /sys/dev/sound
parentd72b8ba20f3993d4517a73171cb5e4a269b103a6 (diff)
downloadFreeBSD-src-49b34fa613c7d0a33284acecf4bb37df66ee5ead.zip
FreeBSD-src-49b34fa613c7d0a33284acecf4bb37df66ee5ead.tar.gz
Add external connector jack color into widget names.
It should help users to identify them while reading verbose messages.
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/pci/hda/hdac.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 8ee7106..88844cd 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -2443,9 +2443,10 @@ hdac_widget_pin_parse(struct hdac_widget *w)
{
struct hdac_softc *sc = w->devinfo->codec->sc;
uint32_t config, pincap;
- const char *devstr, *connstr;
+ const char *devstr;
nid_t cad = w->devinfo->codec->cad;
nid_t nid = w->nid;
+ int conn, color;
config = hdac_widget_pin_getconfig(w);
w->wclass.pin.config = config;
@@ -2467,13 +2468,19 @@ hdac_widget_pin_parse(struct hdac_widget *w)
devstr = HDA_DEVS[(config & HDA_CONFIG_DEFAULTCONF_DEVICE_MASK) >>
HDA_CONFIG_DEFAULTCONF_DEVICE_SHIFT];
- connstr = HDA_CONNS[(config & HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK) >>
- HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT];
+ conn = (config & HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_MASK) >>
+ HDA_CONFIG_DEFAULTCONF_CONNECTIVITY_SHIFT;
+ color = (config & HDA_CONFIG_DEFAULTCONF_COLOR_MASK) >>
+ HDA_CONFIG_DEFAULTCONF_COLOR_SHIFT;
strlcat(w->name, ": ", sizeof(w->name));
strlcat(w->name, devstr, sizeof(w->name));
strlcat(w->name, " (", sizeof(w->name));
- strlcat(w->name, connstr, sizeof(w->name));
+ if (conn == 0 && color != 0 && color != 15) {
+ strlcat(w->name, HDA_COLORS[color], sizeof(w->name));
+ strlcat(w->name, " ", sizeof(w->name));
+ }
+ strlcat(w->name, HDA_CONNS[conn], sizeof(w->name));
strlcat(w->name, ")", sizeof(w->name));
}
OpenPOWER on IntegriCloud