summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2005-10-02 15:50:22 +0000
committernetchild <netchild@FreeBSD.org>2005-10-02 15:50:22 +0000
commit092a218b9fa0014f2a7fd32a34abc845a2fcc8a2 (patch)
tree92a403b03ede6a0ed5d78514bd9711e05b557640 /sys
parent64189db8f9fb40fc5f37654b4e5b4e770cb74562 (diff)
downloadFreeBSD-src-092a218b9fa0014f2a7fd32a34abc845a2fcc8a2.zip
FreeBSD-src-092a218b9fa0014f2a7fd32a34abc845a2fcc8a2.tar.gz
The cmi9739_patch function which is referenced by ac97.c (rev. 1.56) now...
Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Pointy hat to: netchild (for not committing it with rev. 1.56 of ac97.c)
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/sound/pcm/ac97_patch.c10
-rw-r--r--sys/dev/sound/pcm/ac97_patch.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/sys/dev/sound/pcm/ac97_patch.c b/sys/dev/sound/pcm/ac97_patch.c
index 05c73d7..33bd480 100644
--- a/sys/dev/sound/pcm/ac97_patch.c
+++ b/sys/dev/sound/pcm/ac97_patch.c
@@ -46,3 +46,13 @@ void ad198x_patch(struct ac97_info* codec)
ac97_wrcd(codec, 0x76, ac97_rdcd(codec, 0x76) | 0x0420);
}
+void cmi9739_patch(struct ac97_info* codec)
+{
+ /*
+ * Few laptops (notably ASUS W1000N) need extra register
+ * initialization to power up the internal speakers.
+ */
+ ac97_wrcd(codec, AC97_REG_POWER, 0x000f);
+ ac97_wrcd(codec, AC97_MIXEXT_CLFE, 0x0000);
+ ac97_wrcd(codec, 0x64, 0x7110);
+}
diff --git a/sys/dev/sound/pcm/ac97_patch.h b/sys/dev/sound/pcm/ac97_patch.h
index d0184c4..2c93f9d 100644
--- a/sys/dev/sound/pcm/ac97_patch.h
+++ b/sys/dev/sound/pcm/ac97_patch.h
@@ -29,3 +29,4 @@ typedef void (*ac97_patch)(struct ac97_info*);
void ad1886_patch(struct ac97_info*);
void ad198x_patch(struct ac97_info*);
+void cmi9739_patch(struct ac97_info*);
OpenPOWER on IntegriCloud