summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-09-02 11:39:19 +0000
committermav <mav@FreeBSD.org>2009-09-02 11:39:19 +0000
commit487be1f13e22c4bdf1e6ca664552d7b7033cc388 (patch)
tree71ffcf14814afbd1dbd4b845607963ce4826c951 /sys/dev/sound
parent383a57b980d6518f069910885048b1a4a4db07aa (diff)
downloadFreeBSD-src-487be1f13e22c4bdf1e6ca664552d7b7033cc388.zip
FreeBSD-src-487be1f13e22c4bdf1e6ca664552d7b7033cc388.tar.gz
Improve HDA controller capabilities logging.
Diffstat (limited to 'sys/dev/sound')
-rw-r--r--sys/dev/sound/pci/hda/hdac.c13
-rw-r--r--sys/dev/sound/pci/hda/hdac_private.h1
-rw-r--r--sys/dev/sound/pci/hda/hdac_reg.h2
3 files changed, 10 insertions, 6 deletions
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 9f4264d..4eda8be 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -1520,7 +1520,7 @@ hdac_get_capabilities(struct hdac_softc *sc)
sc->num_iss = HDAC_GCAP_ISS(gcap);
sc->num_oss = HDAC_GCAP_OSS(gcap);
sc->num_bss = HDAC_GCAP_BSS(gcap);
-
+ sc->num_sdo = HDAC_GCAP_NSDO(gcap);
sc->support_64bit = HDA_FLAG_MATCH(gcap, HDAC_GCAP_64OK);
corbsize = HDAC_READ_1(&sc->mem, HDAC_CORBSIZE);
@@ -1555,11 +1555,12 @@ hdac_get_capabilities(struct hdac_softc *sc)
return (ENXIO);
}
- HDA_BOOTHVERBOSE(
- device_printf(sc->dev, " CORB size: %d\n", sc->corb_size);
- device_printf(sc->dev, " RIRB size: %d\n", sc->rirb_size);
- device_printf(sc->dev, " Streams: ISS=%d OSS=%d BSS=%d\n",
- sc->num_iss, sc->num_oss, sc->num_bss);
+ HDA_BOOTVERBOSE(
+ device_printf(sc->dev, "Caps: OSS %d, ISS %d, BSS %d, "
+ "NSDO %d%s, CORB %d, RIRB %d\n",
+ sc->num_oss, sc->num_iss, sc->num_bss, 1 << sc->num_sdo,
+ sc->support_64bit ? ", 64bit" : "",
+ sc->corb_size, sc->rirb_size);
);
return (0);
diff --git a/sys/dev/sound/pci/hda/hdac_private.h b/sys/dev/sound/pci/hda/hdac_private.h
index bd32967..2369a9a 100644
--- a/sys/dev/sound/pci/hda/hdac_private.h
+++ b/sys/dev/sound/pci/hda/hdac_private.h
@@ -339,6 +339,7 @@ struct hdac_softc {
int num_iss;
int num_oss;
int num_bss;
+ int num_sdo;
int support_64bit;
int streamcnt;
diff --git a/sys/dev/sound/pci/hda/hdac_reg.h b/sys/dev/sound/pci/hda/hdac_reg.h
index 9694710..813af72 100644
--- a/sys/dev/sound/pci/hda/hdac_reg.h
+++ b/sys/dev/sound/pci/hda/hdac_reg.h
@@ -136,6 +136,8 @@
(((gcap) & HDAC_GCAP_ISS_MASK) >> HDAC_GCAP_ISS_SHIFT)
#define HDAC_GCAP_OSS(gcap) \
(((gcap) & HDAC_GCAP_OSS_MASK) >> HDAC_GCAP_OSS_SHIFT)
+#define HDAC_GCAP_NSDO(gcap) \
+ (((gcap) & HDAC_GCAP_NSDO_MASK) >> HDAC_GCAP_NSDO_SHIFT)
/* GCTL - Global Control */
#define HDAC_GCTL_CRST 0x00000001
OpenPOWER on IntegriCloud