summaryrefslogtreecommitdiff
path: root/sys/dev/pci/azalia.h
diff options
context:
space:
mode:
authorJacob Meuser <jakemsr@cvs.openbsd.org>2009-04-24 16:02:18 +0000
committerJacob Meuser <jakemsr@cvs.openbsd.org>2009-04-24 16:02:18 +0000
commit3f6345e0d34d1965a2e4e209f7b1dcd4df7145e6 (patch)
tree59ee5adb7234867af6172bbe85bd9d2a67607407 /sys/dev/pci/azalia.h
parent9b2485d319d58b6944cce3ce529c08da5681d09b (diff)
create lists of analog and digital input and output pins. store
the pin nids, the default converter the pin connects to and the pin's priority. priority is based on the pin's default direction and the association and sequence numbers from the vendor. according to the hda spec, lower association/priority means higher priority. sort the list in order of highest to lowest priority.
Diffstat (limited to 'sys/dev/pci/azalia.h')
-rw-r--r--sys/dev/pci/azalia.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/dev/pci/azalia.h b/sys/dev/pci/azalia.h
index 5abbbcaea34..2f14a4f984a 100644
--- a/sys/dev/pci/azalia.h
+++ b/sys/dev/pci/azalia.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: azalia.h,v 1.41 2009/04/24 15:31:18 jakemsr Exp $ */
+/* $OpenBSD: azalia.h,v 1.42 2009/04/24 16:02:17 jakemsr Exp $ */
/* $NetBSD: azalia.h,v 1.6 2006/01/16 14:15:26 kent Exp $ */
/*-
@@ -609,6 +609,12 @@ typedef struct {
int cur;
} volgroup_t;
+struct io_pin {
+ nid_t nid; /* NID of pin */
+ nid_t conv; /* NID of default converter */
+ int prio; /* assoc/seq/dir "priority" */
+};
+
typedef struct codec_t {
int (*comresp)(const struct codec_t *, nid_t, uint32_t, uint32_t, uint32_t *);
int (*init_dacgroup)(struct codec_t *);
@@ -644,6 +650,15 @@ typedef struct codec_t {
struct audio_encoding *encs;
int nencs;
+ struct io_pin *ipins;
+ int nipins;
+ struct io_pin *ipins_d;
+ int nipins_d;
+ struct io_pin *opins;
+ int nopins;
+ struct io_pin *opins_d;
+ int nopins_d;
+
nid_t a_dacs[HDA_MAX_CHANNELS], a_dacs_d[HDA_MAX_CHANNELS];
int na_dacs, na_dacs_d;
nid_t a_adcs[HDA_MAX_CHANNELS], a_adcs_d[HDA_MAX_CHANNELS];