Commit Graph

41 Commits

Author SHA1 Message Date
bsh
cf662c7814 add Philips UCB1400 2003-03-03 02:14:12 +00:00
thorpej
749715f6ee Use aprint_*(). 2003-01-31 00:26:25 +00:00
simonb
bbd9776970 Remove variable that is only assigned too but not referenced. 2003-01-20 07:20:01 +00:00
matt
a5201ab8fc Recognize AD1981 codec (0x41445370). XXX name is a guess but it follows
the existing pattern.
2002-12-26 20:56:52 +00:00
kent
12ac4ab865 Fix LR contrary problem of mixer and record gain polarity
problem.  The change is based on the patches in PR kern/12878 by
Zdenek Salvet and PR kern/18901 by SUNAKAWA Hirokatsu.
2002-11-06 16:58:37 +00:00
kent
dbf1b9ea9f Add codec IDs for AD1981B, STAC9750/51, and STAC9766/67.
Whitespace.
2002-11-06 13:41:22 +00:00
kent
742633f2d2 Correct codec id of VT1611A.
Add codec id of VT1616.

ALC650 codec specific chagne:
 Add outputs.surround.mixtofront,
 outputs.center.mixtofront, and outputs.lfe.mixtofront.

VT1616 codec specific change:
 Add outputs.surround.mixtofront,
 outputs.center.mixtofront, and outputs.lfe.mixtofront.
 (Not tested)

XXX: We should provide ac97(4) manual page and describe
codec-specific features.
2002-10-22 13:48:30 +00:00
kent
56d5eaf4f4 Add all vendor/codec IDs which OpenBSD has and NetBSD doesn't have. 2002-10-16 16:38:25 +00:00
kent
297e3c5d35 Mixer changes:
- Add "outputs.surround", "outputs.center", and "outputs.lfe"
 - If the codec is not capable of a feature, mixer variables
about the feature is not created.  For example, no
"outputs.tone" for a codec without tone control.
 - Set the following mixer values in ac97_attach():
	outputs.master=127,127
	outputs.master.mute=off
	outputs.headphones.mute=off
	outputs.surround=127,127
	outputs.surround.mute=off
	outputs.center=127
	outputs.center.mute=off
	outputs.lfe=127
	outputs.lfe.mute=off
	inputs.dac.mute=off
	inputs.cd.mute=off
	inputs.line.mute=off
	inputs.aux.mute=off
	inputs.video.mute=off
	record.volume.mute=off
    because the default setting of AC'97 codec (all mutes are on,
    and maximum volume) is troublesome.
 - Make "char*" parameters of ac97_get_portnum_by_name() "const char*"

Codec ID changes:
 - If a codec ID is unknown but its vendor ID is known,
ac97_attach() prints the vendor name like "dev0: <vendor name>
unknown (0xXXXXXXXX) codec;"
 - Add IDs of Asahi Kasei AK4542, AK4544, AK4544A, AK4545,
Realtek ALC100
 - Correct a vendor name: "Advance Logic" -> "Avance Logic"
 - Add capability of codec-specific initialization

ac97_attach():
 - CDAC, SDAC, and LDAC are eanabled.
 - DELAY() before mixer settings.  ThinkPad X24 needs it.

ALC650 codec specific change:
 - Add "outputs.surround.lineinjack" to switch the line-in jack
to the surround output
 - Add "outputs.center.micjack" and "outputs.lfe.micjack" (alias
of "outputs.center.micjack") to switch the mic jack to the
center/lfe output.
2002-10-14 08:48:15 +00:00
kent
42e4e19119 ac97_attach(): Restore the default rate value after VRA checking.
This change might solve PR kern/18613.
2002-10-11 02:32:23 +00:00
kent
dd7455ebdc Add 'mask' member to the struct ac97_codecid.
Cirrus Logic Crystal codec uses lower three bits in ID for a
revision number.  We should mask an actual ID value before
matching to this table.
2002-10-09 12:06:17 +00:00
pooka
48f6d7e229 fill in name for TriTech unknown: TR28602 2002-10-08 21:40:04 +00:00
kent
3decf6fda3 If the codec is fixed-rate, ac97_set_rate() returns 48kHz. 2002-10-08 12:33:34 +00:00
kent
20040ef785 Add IDs for YMF743-S and YMF753-S.
ac97_attach(): Enable VRA/VRM if the codec is capable of them.

The struct ac97_softc keeps the clock of the codec, the basic
features flag (the value of AC97_REG_RESET), and the extended
features flag (the value of AC97_REG_EXT_AUDIO_ID).

ac97_codec_if: Add get_extcaps(), set_rate(), and set_clock()
methods.
2002-10-08 09:19:44 +00:00
kent
f06ae93219 Add some constant symbols for AC97 registers and values based on OpenBSD.
Rename some symbols to sync with OpenBSD:
	AC97_REG_EXTENDED_ID
	-> AC97_REG_EXT_AUDIO_ID
	AC97_REG_EXTENDED_STATUS
	-> AC97_REG_EXT_AUDIO_CTRL
	AC97_CODEC_DOES_VRA/AC97_ENAB_VRA
	-> AC97_EXT_AUDIO_VRA
	AC97_CODEC_DOES_MICVRA/AC97_ENAB_MICVRA
	-> AC97_EXT_AUDIO_VRM

ac97feature: "mic channel" -> "dedicated mic channel"
ac97_attach(): print extended capabilities; VRA, DRA, SPDIF, VRM, CDAC,
SDAC, LDAC.
2002-10-06 16:33:35 +00:00
joda
65e92349c7 more device names 2002-10-04 19:22:40 +00:00
joda
d1acc508df add a couple of Analog device names 2002-07-05 13:50:47 +00:00
ichiro
ed09e8d901 It corrected forgetting to attach "," 2002-01-23 14:50:45 +00:00
tsutsui
84926576f1 Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:03:11 +00:00
jmcneill
4e14c9fb3f For cosmetic reasons, add 'ESS Technology ES1921' to the table of codec Ids. 2002-01-06 17:03:17 +00:00
lukem
a4bae8b066 add/cleanup RCSID 2001-11-13 13:14:31 +00:00
thorpej
7a4838199c bcopy -> memcpy 2001-07-07 15:56:07 +00:00
erh
acc17cc823 Set the delta for the particular source so telling mixerctl to decrease the
volume (using --) adjusts it far enough to stick.
2001-04-29 02:47:25 +00:00
jdolecek
34c8ae80da constify 2001-01-18 20:28:15 +00:00
rh
cb2d30303b Add new AC97_HOST_SWAPPED_CHANNELS host flag that causes left and right
mixer channels to be swapped (required for hardware that has wiring
reversed).
2001-01-09 23:14:25 +00:00
augustss
cc9f003455 Add some codecs. 2001-01-05 03:32:11 +00:00
thorpej
aac73109ae Feh, fix st00p1d braino in last. 2000-11-05 05:41:25 +00:00
thorpej
05d5f37522 Shadow the AC'97 codec registers. This adds two capabilities:
* support devices that crash when reading the codec registers; a flags
  interface is added to the host interface and one flag is defined
  (AC97_HOST_DONT_READ).
* new API (restore_ports) for restoring the user's settings.  This
  can be useful after an APM resume after a suspend to disk.

From OpenBSD.
2000-11-04 08:07:14 +00:00
thorpej
0bb6525f5b Add some more codec IDs. From OpenBSD. 2000-11-04 05:45:57 +00:00
soren
b141a6bfe8 Merge-o. 2000-07-14 21:09:45 +00:00
soren
b4b667c0a0 Make ID printing a little more robust in case of problems reading
AC97 registers.
2000-06-06 17:25:52 +00:00
thorpej
706ee091ed Move register definitions into ac97reg.h 2000-05-15 01:32:03 +00:00
thorpej
1838aef29c ac97.h -> ac97var.h 2000-05-15 01:27:44 +00:00
augustss
308fa27a0d Unmute some mixer controls by default. From OpenBSD. 2000-04-28 12:39:59 +00:00
thorpej
8b8597dae0 Recognize the Crystal CS4297A codec, and add a couple of macros
to manipulate AC97 codec IDs.
2000-04-26 00:00:41 +00:00
augustss
f9fd27ea3c Fix an uninitialized variable. From Krister Walfridsson <cato@df.lth.se> 2000-03-15 22:41:29 +00:00
augustss
961d4d6ad2 Change CS4297 id entry. 1999-11-24 23:21:01 +00:00
augustss
f73590bbf0 Print the PnP id of unknown codecs. 1999-11-20 01:16:15 +00:00
augustss
361b083d4c Shorten some delay()s. From WITEK Wnuk <witek@atari.org> 1999-11-02 17:48:01 +00:00
soren
bc18b45323 Clean up attachment printing a bit. 1999-11-02 05:41:27 +00:00
augustss
91cbb40ee5 Add AC97 mixer/codec support. From OpenBSD and FreeBSD. 1999-10-27 13:18:02 +00:00