summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2010-01-21 09:11:50 +0000
committermav <mav@FreeBSD.org>2010-01-21 09:11:50 +0000
commitd54626fe460a14a0b64bdbde433d2fa22acc27f8 (patch)
tree5a37acbd895db43541059b8fbf519f9acc06ee69 /sys/dev/sound
parentb1a6e45406add6a0bbc1f7275bf3a065a5315a7f (diff)
downloadFreeBSD-src-d54626fe460a14a0b64bdbde433d2fa22acc27f8.zip
FreeBSD-src-d54626fe460a14a0b64bdbde433d2fa22acc27f8.tar.gz
Print playback channels paths in order of their sequence numbers, not nids.
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/pci/hda/hdac.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index ce33728..4283ff4 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -7091,19 +7091,19 @@ hdac_dump_dac(struct hdac_pcm_devinfo *pdevinfo)
{
struct hdac_devinfo *devinfo = pdevinfo->devinfo;
struct hdac_softc *sc = devinfo->codec->sc;
+ struct hdac_audio_as *as;
struct hdac_widget *w;
int i, printed = 0;
if (pdevinfo->play < 0)
return;
- for (i = devinfo->startnode; i < devinfo->endnode; i++) {
- w = hdac_widget_get(devinfo, i);
- if (w == NULL || w->enable == 0)
- continue;
- if (w->type != HDA_PARAM_AUDIO_WIDGET_CAP_TYPE_PIN_COMPLEX)
+ as = &devinfo->function.audio.as[sc->chans[pdevinfo->play].as];
+ for (i = 0; i < 16; i++) {
+ if (as->pins[i] <= 0)
continue;
- if (w->bindas != sc->chans[pdevinfo->play].as)
+ w = hdac_widget_get(devinfo, as->pins[i]);
+ if (w == NULL || w->enable == 0)
continue;
if (printed == 0) {
printed = 1;
@@ -7111,7 +7111,7 @@ hdac_dump_dac(struct hdac_pcm_devinfo *pdevinfo)
device_printf(pdevinfo->dev, "Playback:\n");
}
device_printf(pdevinfo->dev, "\n");
- hdac_dump_dst_nid(pdevinfo, i, 0);
+ hdac_dump_dst_nid(pdevinfo, as->pins[i], 0);
}
}
OpenPOWER on IntegriCloud