Source-Changes-HG archive

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

[src/trunk]: src Split hdaudio and PCI attach glue. Even though the driver wa...



details:   https://anonhg.NetBSD.org/src/rev/c03f916bc580
branches:  trunk
changeset: 807097:c03f916bc580
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Sat Mar 28 14:09:58 2015 +0000

description:
Split hdaudio and PCI attach glue. Even though the driver was written with
this separation in mind, all of the code lived in sys/dev/pci/hdaudio. Move
common parts to sys/dev/hdaudio and PCI attach glue to sys/dev/pci.

diffstat:

 distrib/sets/lists/base/mi                 |     5 +-
 distrib/sets/lists/comp/mi                 |     8 +-
 distrib/sets/lists/modules/md.amd64        |     6 +-
 distrib/sets/lists/modules/md.i386         |     8 +-
 sys/conf/files                             |     5 +-
 sys/dev/Makefile                           |     4 +-
 sys/dev/hdaudio/Makefile                   |     8 +
 sys/dev/hdaudio/Makefile.hdaudiodevs       |    14 +
 sys/dev/hdaudio/ceareg.h                   |    64 +
 sys/dev/hdaudio/eldreg.h                   |    80 +
 sys/dev/hdaudio/files.hdaudio              |    16 +
 sys/dev/hdaudio/hdafg.c                    |  4434 ++++++++++++++++++++++++++++
 sys/dev/hdaudio/hdafg_dd.c                 |   117 +
 sys/dev/hdaudio/hdafg_dd.h                 |    49 +
 sys/dev/hdaudio/hdaudio.c                  |  1631 ++++++++++
 sys/dev/hdaudio/hdaudio_config.h           |    45 +
 sys/dev/hdaudio/hdaudio_mixer.h            |    75 +
 sys/dev/hdaudio/hdaudio_verbose.c          |    39 +
 sys/dev/hdaudio/hdaudio_verbose.h          |    36 +
 sys/dev/hdaudio/hdaudiodevs                |   246 +
 sys/dev/hdaudio/hdaudiodevs.h              |   253 +
 sys/dev/hdaudio/hdaudiodevs_data.h         |   583 +++
 sys/dev/hdaudio/hdaudioio.h                |    47 +
 sys/dev/hdaudio/hdaudioreg.h               |   429 ++
 sys/dev/hdaudio/hdaudiovar.h               |   197 +
 sys/dev/hdaudio/hdmireg.h                  |    59 +
 sys/dev/pci/files.pci                      |     5 +-
 sys/dev/pci/hdaudio/Makefile               |     8 -
 sys/dev/pci/hdaudio/Makefile.hdaudiodevs   |    14 -
 sys/dev/pci/hdaudio/ceareg.h               |    64 -
 sys/dev/pci/hdaudio/eldreg.h               |    80 -
 sys/dev/pci/hdaudio/files.hdaudio          |    20 -
 sys/dev/pci/hdaudio/hdafg.c                |  4434 ----------------------------
 sys/dev/pci/hdaudio/hdafg_dd.c             |   118 -
 sys/dev/pci/hdaudio/hdafg_dd.h             |    49 -
 sys/dev/pci/hdaudio/hdaudio.c              |  1644 ----------
 sys/dev/pci/hdaudio/hdaudio_config.h       |    45 -
 sys/dev/pci/hdaudio/hdaudio_mixer.h        |    75 -
 sys/dev/pci/hdaudio/hdaudio_pci.c          |   263 -
 sys/dev/pci/hdaudio/hdaudio_pci.h          |    38 -
 sys/dev/pci/hdaudio/hdaudio_verbose.c      |    39 -
 sys/dev/pci/hdaudio/hdaudio_verbose.h      |    36 -
 sys/dev/pci/hdaudio/hdaudiodevs            |   246 -
 sys/dev/pci/hdaudio/hdaudiodevs.h          |   253 -
 sys/dev/pci/hdaudio/hdaudiodevs_data.h     |   583 ---
 sys/dev/pci/hdaudio/hdaudioio.h            |    47 -
 sys/dev/pci/hdaudio/hdaudioreg.h           |   429 --
 sys/dev/pci/hdaudio/hdaudiovar.h           |   197 -
 sys/dev/pci/hdaudio/hdmireg.h              |    59 -
 sys/dev/pci/hdaudio_pci.c                  |   293 +
 sys/dev/pci/hdaudio_pci.h                  |    38 +
 sys/modules/Makefile                       |     3 +-
 sys/modules/hdafg/Makefile.inc             |     4 +-
 sys/modules/hdafg/hdafg.ioconf             |     3 +-
 sys/modules/hdaudio/Makefile               |     5 +-
 sys/modules/hdaudio/Makefile.inc           |    11 +-
 sys/modules/hdaudio/hdaudio.ioconf         |    10 -
 sys/modules/hdaudio_pci/Makefile           |     8 +
 sys/modules/hdaudio_pci/Makefile.inc       |    10 +
 sys/modules/hdaudio_pci/hdaudio_pci.ioconf |    10 +
 sys/modules/hdaudioverbose/Makefile        |     4 +-
 sys/rump/dev/lib/libpci_hdaudio/Makefile   |     3 +-
 usr.sbin/hdaudioctl/graph.c                |     6 +-
 usr.sbin/hdaudioctl/hdaudioctl.c           |     6 +-
 64 files changed, 8831 insertions(+), 8787 deletions(-)

diffs (truncated from 18041 to 300 lines):

diff -r f6eacc6012d4 -r c03f916bc580 distrib/sets/lists/base/mi
--- a/distrib/sets/lists/base/mi        Sat Mar 28 12:54:31 2015 +0000
+++ b/distrib/sets/lists/base/mi        Sat Mar 28 14:09:58 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1098 2015/03/22 09:57:42 ast Exp $
+# $NetBSD: mi,v 1.1099 2015/03/28 14:09:58 jmcneill Exp $
 #
 # Note:        Don't delete entries from here - mark them as "obsolete" instead,
 #      unless otherwise stated below.
@@ -867,6 +867,7 @@
 ./usr/include/dev/dtv                          base-c-usr
 ./usr/include/dev/eisa                         base-obsolete           obsolete
 ./usr/include/dev/filemon                      base-c-usr
+./usr/include/dev/hdaudio                      base-c-usr
 ./usr/include/dev/hpc                          base-c-usr
 ./usr/include/dev/i2c                          base-c-usr
 ./usr/include/dev/i2o                          base-c-usr
@@ -883,7 +884,7 @@
 ./usr/include/dev/ofisa                                base-obsolete           obsolete
 ./usr/include/dev/ofw                          base-c-usr
 ./usr/include/dev/pci                          base-c-usr
-./usr/include/dev/pci/hdaudio                  base-c-usr
+./usr/include/dev/pci/hdaudio                  base-obsolete           obsolete
 ./usr/include/dev/pckbc                                base-c-usr
 ./usr/include/dev/pcmcia                       base-c-usr
 ./usr/include/dev/pud                          base-c-usr
diff -r f6eacc6012d4 -r c03f916bc580 distrib/sets/lists/comp/mi
--- a/distrib/sets/lists/comp/mi        Sat Mar 28 12:54:31 2015 +0000
+++ b/distrib/sets/lists/comp/mi        Sat Mar 28 14:09:58 2015 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: mi,v 1.1947 2015/02/17 20:29:20 joerg Exp $
+#      $NetBSD: mi,v 1.1948 2015/03/28 14:09:58 jmcneill Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -398,6 +398,8 @@
 ./usr/include/dev/filemon/filemon.h            comp-c-include
 ./usr/include/dev/fssvar.h                     comp-c-include
 ./usr/include/dev/hpc/hpcfbio.h                        comp-c-include
+./usr/include/dev/hdaudio/hdaudioio.h          comp-c-include
+./usr/include/dev/hdaudio/hdaudioreg.h         comp-c-include
 ./usr/include/dev/i2c/i2c_bus.h                        comp-obsolete           obsolete
 ./usr/include/dev/i2c/i2c_eeprom.h             comp-obsolete           obsolete
 ./usr/include/dev/i2c/i2c_io.h                 comp-c-include
@@ -614,8 +616,8 @@
 ./usr/include/dev/ofw/openfirmio.h             comp-c-include
 ./usr/include/dev/pci/amrio.h                  comp-c-include
 ./usr/include/dev/pci/amrreg.h                 comp-c-include
-./usr/include/dev/pci/hdaudio/hdaudioio.h      comp-c-include
-./usr/include/dev/pci/hdaudio/hdaudioreg.h     comp-c-include
+./usr/include/dev/pci/hdaudio/hdaudioio.h      comp-obsolete           obsolete
+./usr/include/dev/pci/hdaudio/hdaudioreg.h     comp-obsolete           obsolete
 ./usr/include/dev/pci/if_devar.h               comp-obsolete           obsolete
 ./usr/include/dev/pci/if_fxpreg.h              comp-obsolete           obsolete
 ./usr/include/dev/pci/if_fxpvar.h              comp-obsolete           obsolete
diff -r f6eacc6012d4 -r c03f916bc580 distrib/sets/lists/modules/md.amd64
--- a/distrib/sets/lists/modules/md.amd64       Sat Mar 28 12:54:31 2015 +0000
+++ b/distrib/sets/lists/modules/md.amd64       Sat Mar 28 14:09:58 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.55 2015/03/09 12:32:11 riastradh Exp $
+# $NetBSD: md.amd64,v 1.56 2015/03/28 14:09:58 jmcneill Exp $
 #
 # NOTE that there are two sets of files here:
 # @MODULEDIR@ and amd64-xen
@@ -89,6 +89,8 @@
 ./@MODULEDIR@/hdafg/hdafg.kmod                 base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudio                          base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudio/hdaudio.kmod             base-kernel-modules     kmod
+./@MODULEDIR@/hdaudio_pci                      base-kernel-modules     kmod
+./@MODULEDIR@/hdaudio_pci/hdaudio_pci.kmod     base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudioverbose                   base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudioverbose/hdaudioverbose.kmod       base-kernel-modules     kmod
 ./@MODULEDIR@/hpacel                           base-kernel-modules     kmod
@@ -338,6 +340,8 @@
 ./stand/amd64-xen/@OSRELEASE@/modules/hdafg/hdafg.kmod                 base-kernel-modules     kmod,compatmodules
 ./stand/amd64-xen/@OSRELEASE@/modules/hdaudio                          base-kernel-modules     kmod,compatmodules
 ./stand/amd64-xen/@OSRELEASE@/modules/hdaudio/hdaudio.kmod             base-kernel-modules     kmod,compatmodules
+./stand/amd64-xen/@OSRELEASE@/modules/hdaudio_pci                      base-kernel-modules     kmod,compatmodules
+./stand/amd64-xen/@OSRELEASE@/modules/hdaudio_pci/hdaudio_pci.kmod     base-kernel-modules     kmod,compatmodules
 ./stand/amd64-xen/@OSRELEASE@/modules/hdaudioverbose                   base-kernel-modules     kmod,compatmodules
 ./stand/amd64-xen/@OSRELEASE@/modules/hdaudioverbose/hdaudioverbose.kmod       base-kernel-modules     kmod,compatmodules
 ./stand/amd64-xen/@OSRELEASE@/modules/hfs                              base-kernel-modules     kmod,compatmodules
diff -r f6eacc6012d4 -r c03f916bc580 distrib/sets/lists/modules/md.i386
--- a/distrib/sets/lists/modules/md.i386        Sat Mar 28 12:54:31 2015 +0000
+++ b/distrib/sets/lists/modules/md.i386        Sat Mar 28 14:09:58 2015 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.57 2015/03/08 04:21:41 christos Exp $
+# $NetBSD: md.i386,v 1.58 2015/03/28 14:09:58 jmcneill Exp $
 #
 # NOTE that there are three sets of files here:
 # @MODULEDIR@, i386-xen, and i386pae-xen
@@ -89,6 +89,8 @@
 ./@MODULEDIR@/hdafg/hdafg.kmod                 base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudio                          base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudio/hdaudio.kmod             base-kernel-modules     kmod
+./@MODULEDIR@/hdaudio_pci                      base-kernel-modules     kmod
+./@MODULEDIR@/hdaudio_pci/hdaudio_pci.kmod     base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudioverbose                   base-kernel-modules     kmod
 ./@MODULEDIR@/hdaudioverbose/hdaudioverbose.kmod       base-kernel-modules     kmod
 ./@MODULEDIR@/hpacel                           base-kernel-modules     kmod
@@ -357,6 +359,8 @@
 ./stand/i386-xen/@OSRELEASE@/modules/hdafg/hdafg.kmod                  base-kernel-modules     kmod,compatmodules
 ./stand/i386-xen/@OSRELEASE@/modules/hdaudio                           base-kernel-modules     kmod,compatmodules
 ./stand/i386-xen/@OSRELEASE@/modules/hdaudio/hdaudio.kmod              base-kernel-modules     kmod,compatmodules
+./stand/i386-xen/@OSRELEASE@/modules/hdaudio_pci                       base-kernel-modules     kmod,compatmodules
+./stand/i386-xen/@OSRELEASE@/modules/hdaudio_pci/hdaudio_pci.kmod      base-kernel-modules     kmod,compatmodules
 ./stand/i386-xen/@OSRELEASE@/modules/hdaudioverbose                    base-kernel-modules     kmod,compatmodules
 ./stand/i386-xen/@OSRELEASE@/modules/hdaudioverbose/hdaudioverbose.kmod        base-kernel-modules     kmod,compatmodules
 ./stand/i386-xen/@OSRELEASE@/modules/hfs                               base-kernel-modules     kmod,compatmodules
@@ -762,6 +766,8 @@
 ./stand/i386pae-xen/@OSRELEASE@/modules/hdafg/hdafg.kmod               base-kernel-modules     kmod,compatmodules
 ./stand/i386pae-xen/@OSRELEASE@/modules/hdaudio                                base-kernel-modules     kmod,compatmodules
 ./stand/i386pae-xen/@OSRELEASE@/modules/hdaudio/hdaudio.kmod           base-kernel-modules     kmod,compatmodules
+./stand/i386pae-xen/@OSRELEASE@/modules/hdaudio_pci                    base-kernel-modules     kmod,compatmodules
+./stand/i386pae-xen/@OSRELEASE@/modules/hdaudio_pci/hdaudio_pci.kmod   base-kernel-modules     kmod,compatmodules
 ./stand/i386pae-xen/@OSRELEASE@/modules/hdaudioverbose                 base-kernel-modules     kmod,compatmodules
 ./stand/i386pae-xen/@OSRELEASE@/modules/hdaudioverbose/hdaudioverbose.kmod     base-kernel-modules     kmod,compatmodules
 ./stand/i386pae-xen/@OSRELEASE@/modules/hfs                            base-kernel-modules     kmod,compatmodules
diff -r f6eacc6012d4 -r c03f916bc580 sys/conf/files
--- a/sys/conf/files    Sat Mar 28 12:54:31 2015 +0000
+++ b/sys/conf/files    Sat Mar 28 14:09:58 2015 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files,v 1.1128 2015/02/13 17:50:48 maxv Exp $
+#      $NetBSD: files,v 1.1129 2015/03/28 14:09:58 jmcneill Exp $
 #      @(#)files.newconf       7.5 (Berkeley) 5/10/93
 
 version        20141030
@@ -319,6 +319,9 @@
 
 include "dev/files.audio"
 
+# High definition audio
+include "dev/hdaudio/files.hdaudio"
+
 # Base verbose vendor/product printing support
 file   dev/dev_verbose.c
 
diff -r f6eacc6012d4 -r c03f916bc580 sys/dev/Makefile
--- a/sys/dev/Makefile  Sat Mar 28 12:54:31 2015 +0000
+++ b/sys/dev/Makefile  Sat Mar 28 14:09:58 2015 +0000
@@ -1,6 +1,6 @@
-#      $NetBSD: Makefile,v 1.35 2012/06/20 21:38:26 sjg Exp $
+#      $NetBSD: Makefile,v 1.36 2015/03/28 14:09:58 jmcneill Exp $
 
-SUBDIR=        apm ata bluetooth dec dm dmover dtv filemon hpc \
+SUBDIR=        apm ata bluetooth dec dm dmover dtv filemon hdaudio hpc \
        i2c i2o ic ieee1394 ir isa \
        microcode ofw pci pckbport pcmcia pud putter raidframe sbus scsipi \
        sun tc usb vme wscons
diff -r f6eacc6012d4 -r c03f916bc580 sys/dev/hdaudio/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/hdaudio/Makefile  Sat Mar 28 14:09:58 2015 +0000
@@ -0,0 +1,8 @@
+#      $NetBSD: Makefile,v 1.1 2015/03/28 14:09:59 jmcneill Exp $
+
+INCSDIR= /usr/include/dev/hdaudio
+
+# Only install includes which are used by userland
+INCS=  hdaudioio.h hdaudioreg.h
+
+.include <bsd.kinc.mk>
diff -r f6eacc6012d4 -r c03f916bc580 sys/dev/hdaudio/Makefile.hdaudiodevs
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/hdaudio/Makefile.hdaudiodevs      Sat Mar 28 14:09:58 2015 +0000
@@ -0,0 +1,14 @@
+#      $NetBSD: Makefile.hdaudiodevs,v 1.1 2015/03/28 14:09:59 jmcneill Exp $
+#
+# As per tron%NetBSD.org@localhost, the proper procedure is
+#
+# 1.) Change "src/sys/dev/hdaudio/hdaudiodevs".
+# 2.) Commit "src/sys/dev/hdaudio/hdaudiodevs".
+# 3.) Execute "make -f Makefile.hdaudiodevs" in "src/sys/dev/hdaudio".
+# 4.) Commit "src/sys/dev/hdaudio/hdaudiodevs.h" and "src/sys/dev/hdaudio/hdaudiodevs_data.h".
+
+.include <bsd.own.mk>
+
+hdaudiodevs.h hdaudiodevs_data.h: ${.CURDIR}/../../devlist2h.awk hdaudiodevs
+       /bin/rm -f hdaudiodevs.h hdaudiodevs_data.h
+       ${TOOL_AWK} -f ${.ALLSRC}
diff -r f6eacc6012d4 -r c03f916bc580 sys/dev/hdaudio/ceareg.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/hdaudio/ceareg.h  Sat Mar 28 14:09:58 2015 +0000
@@ -0,0 +1,64 @@
+/* $NetBSD: ceareg.h,v 1.1 2015/03/28 14:09:59 jmcneill Exp $ */
+
+/*
+ * Copyright (c) 2011 Jared D. McNeill <jmcneill%invisible.ca@localhost>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _CEAREG_H
+#define _CEAREG_H
+
+/* short audio descriptor */
+struct cea_sad {
+       uint8_t flags1;
+       uint8_t sample_rates;
+       uint8_t flags2;
+} __packed;
+
+#define        CEA_AUDIO_FORMAT(desc)  (((desc)->flags1 >> 3) & 0x0f)
+#define         CEA_AUDIO_FORMAT_LPCM          1
+#define         CEA_AUDIO_FORMAT_AC3           2
+#define         CEA_AUDIO_FORMAT_MPEG1_L12     3
+#define         CEA_AUDIO_FORMAT_MPEG1_L3      4
+#define         CEA_AUDIO_FORMAT_MPEG2         5
+#define         CEA_AUDIO_FORMAT_AAC           6
+#define         CEA_AUDIO_FORMAT_DTS           7
+#define         CEA_AUDIO_FORMAT_ATRAC         8
+#define        CEA_MAX_CHANNELS(desc)  ((((desc)->flags1 >> 0) & 0x07) + 1)
+#define        CEA_SAMPLE_RATE(desc)   ((desc)->sample_rates)
+#define         CEA_SAMPLE_RATE_192K           0x40
+#define         CEA_SAMPLE_RATE_176K           0x20
+#define         CEA_SAMPLE_RATE_96K            0x10
+#define         CEA_SAMPLE_RATE_88K            0x08
+#define         CEA_SAMPLE_RATE_48K            0x04
+#define         CEA_SAMPLE_RATE_44K            0x02
+#define         CEA_SAMPLE_RATE_32K            0x01
+/* uncompressed */
+#define        CEA_PRECISION(desc)     ((desc)->flags2 & 0x07)
+#define         CEA_PRECISION_24BIT            0x4
+#define         CEA_PRECISION_20BIT            0x2
+#define         CEA_PRECISION_16BIT            0x1
+/* compressed */
+#define        CEA_MAX_BITRATE(desc)   ((uint32_t)(desc)->flags2 * 8000)
+
+#endif /* !_CEAREG_H */
diff -r f6eacc6012d4 -r c03f916bc580 sys/dev/hdaudio/eldreg.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/hdaudio/eldreg.h  Sat Mar 28 14:09:58 2015 +0000
@@ -0,0 +1,80 @@
+/* $NetBSD: eldreg.h,v 1.1 2015/03/28 14:09:59 jmcneill Exp $ */
+
+/*
+ * Copyright (c) 2011 Jared D. McNeill <jmcneill%invisible.ca@localhost>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef _ELDREG_H
+#define _ELDREG_H
+
+#define        ELD_MAX_NBYTES          80      /* version 2; 15 SAD count */
+
+struct eld_header_block {
+       uint8_t flags;                  /* ver */
+       uint8_t reserved1;
+       uint8_t baseline_eld_len;       /* dword count */
+       uint8_t reserved2;
+} __packed;
+
+struct eld_baseline_block {
+       struct eld_header_block header;
+       uint8_t flags[4];               /* cea_edid_ver, mnl,
+                                        * sad_count, conn_type, s_ai, hdcp,
+                                        * aud_synch_delay,
+                                        * rlrc, flrc, rc, rlr, fc, lfe, flr
+                                        */
+       uint64_t port_id;
+       uint16_t vendor;
+       uint16_t product;



Home | Main Index | Thread Index | Old Index