summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authoralex <alex@FreeBSD.org>2003-08-12 09:45:34 +0000
committeralex <alex@FreeBSD.org>2003-08-12 09:45:34 +0000
commit5a92b7380ada0d2403e8b5d729f79845ae9131e6 (patch)
tree0b8f76f09a635120a6936a9eaf05074c6f055423 /sys/conf
parentcb02f3b09ac035998dd09825ae517ffa44cac0bd (diff)
downloadFreeBSD-src-5a92b7380ada0d2403e8b5d729f79845ae9131e6.zip
FreeBSD-src-5a92b7380ada0d2403e8b5d729f79845ae9131e6.tar.gz
Add a overhaul of the soundchip initialization for the MSP34xx chipsets
found only many tv-cards. We currently use more ore less evil hacks (slow_msp_audio sysctl) to configure the various variants of these chips in order to have stereo autodetection work. Nevertheless, this doesn't always work even though it _should_, according to the specs. This is, for example, the case for some popular Hauppauge models sold sold in Germany. However, the Linux driver always worked for me and others. Looking at the sourcecode you will find that the linux-driver uses a very much enhanced approach to program the various msp34xx chipset variants, which is also found in the specs for these chips. This is a port of the Linux MSP34xx code, written by Gerd Knorr <kraxel@bytesex.org>, who agreed to re-release his code under a BSD license for this port. A new config option "BKTR_NEW_MSP34XX_DRIVER" is added, which is required to enable the new driver. Otherwise the old code is used. The msp34xx.c file is diff-reduced to the linux-driver to make later modifications easier, thus it doesn't follow style(9) in most cases. Approved by: roger (committing this, no time to test/review), keichii (code review)
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/NOTES4
-rw-r--r--sys/conf/files1
-rw-r--r--sys/conf/options1
3 files changed, 6 insertions, 0 deletions
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index 0f0e942..db8a02b 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -1917,6 +1917,10 @@ device nmdm
# motherboards and motherboards with bad or incomplete PCI 2.1 support.
# As a rough guess, old = before 1998
#
+# options BKTR_NEW_MSP34XX_DRIVER
+# Use new, more complete initialization scheme for the msp34* soundchip.
+# Should fix stereo autodetection if the old driver does only output
+# mono sound.
device meteor 1
diff --git a/sys/conf/files b/sys/conf/files
index 56ec900..50ee095 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -335,6 +335,7 @@ dev/bktr/bktr_core.c optional bktr pci
dev/bktr/bktr_i2c.c optional bktr pci smbus
dev/bktr/bktr_os.c optional bktr pci
dev/bktr/bktr_tuner.c optional bktr pci
+dev/bktr/msp34xx.c optional bktr pci
dev/buslogic/bt.c optional bt
dev/buslogic/bt_eisa.c optional bt eisa
dev/buslogic/bt_isa.c optional bt isa
diff --git a/sys/conf/options b/sys/conf/options
index 5d7c17c..fe100c1 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -523,6 +523,7 @@ BKTR_NO_MSP_RESET opt_bktr.h
BKTR_430_FX_MODE opt_bktr.h
BKTR_SIS_VIA_MODE opt_bktr.h
BKTR_USE_FREEBSD_SMBUS opt_bktr.h
+BKTR_NEW_MSP34XX_DRIVER opt_bktr.h
# meteor opt_meteor.h
METEOR_ALLOC_PAGES opt_meteor.h
OpenPOWER on IntegriCloud