Subject: Multiple AC'97 codecs
To: None <tech-kern@netbsd.org>
From: Jared D. McNeill <jmcneill@invisible.ca>
List: tech-kern
Date: 04/08/2005 12:33:38
Currently our AC'97 code assumes that we're only talking to the first
codec. The spec allows for multiple codecs, and they don't have to be in
any particular order. So far we've been safe with assuming that audio
codecs are the first, but I don't want to build the assumption into the
low-level hardware drivers that modem codecs are always the second.
What I'm proposing is adding the ability to pass a hint to ac97_attach,
AC97_CODEC_AUDIO or AC97_CODEC_MODEM, that on attach will search for a
codec of a specific type to use. We can speed up the search for
known-codecs by marking them as AC97_CODEC_TYPE_AUDIO or
AC97_CODEC_TYPE_MODEM in struct ac97_codecid. For unknown codecs, there
are other ways to determine whether a codec is a modem or audio codec
(looking at ext_id and ext_mid for 2.x codecs; if we determine that we're
not dealing with a 2.x codec we can look at the AC97_CAPS_MODEMLINECODEC
bit in AC97_REG_RESET).
Any comments or objections?
Cheers,
Jared