History log of /sound/pci/oxygen/xonar_cs43xx.c
Revision Date Author Comments
233d84c46c2253d13e10b42d88c14748fbb67a98 20-Jan-2011 Jesper Juhl <jj@chaosbits.net> ALSA: Xonar, CS43xx: Don't overrun static array

'cs4398_regs' in 'struct xonar_cs43xx' is an array of 'u8' with a size of
8. So, this code in sound/pci/oxygen/xonar_cs43xx.c::dump_d1_registers()

for (i = 2; i <= 8; ++i)
snd_iprintf(buffer, " %02x", data->cs4398_regs[i]);

will overrun the array when 'i == 8'.

I guess that what's needed to fix it is the trivial patch below, but I
must admit that I have no idea about this code, so I may very well be
wrong. Additionally, I have no way to actually test this, so all I know is
that the below compiles. Someone who actually knows this code should take
a look before anything is comitted - consider the below (not much more
than) a bug report.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
9600732b6caba595f34acf2abd930098ec9a0b2b 10-Jan-2011 Clemens Ladisch <clemens@ladisch.de> ALSA: core, oxygen, virtuoso: add an enum control info helper

Introduce the helper function snd_ctl_enum_info() to fill out the
elem_info fields for an enumerated control.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ce2c492090aa55ff2764f473abdb3c5a76b4a7c4 10-Jan-2011 Clemens Ladisch <clemens@ladisch.de> ALSA: virtuoso: reduce MCLK in double rate modes

For the CSxxxx and AKxxxx DAC/ADC chips, the MCLK factor in double rate
modes (64-96 kHz) can be reduced to 128x without reducing sound quality.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
5b8bf2a54fb13e40519ee846ce27bc8a2d7a7878 10-Jan-2011 Clemens Ladisch <clemens@ladisch.de> ALSA: oxygen: simplify model-specific MCLK handling

Replace the get_i2s_mclk callback with tables of MCLK values. This
simplifies the MCLK-handling code in both the framework and the model-
specific drivers.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
1f4d7be7293aecd5f8469a46f606f62f0f05d84c 10-Jan-2011 Clemens Ladisch <clemens@ladisch.de> ALSA: oxygen: allow different number of PCM and mixer channels

For cards like the Xonar HDAV1.3, differentiate between the number of
PCM channels that can be played and the number of channels whose volume
can be adjusted.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
de664936930dae5469170f7eed24bcff7e91ef82 02-Dec-2010 Clemens Ladisch <clemens@ladisch.de> ALSA: oxygen: update hardware comments

Reformat and update the comments that describe the hardware connections
on the various models.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
9719fcaa6a82be59a2d7767725e5cd8233c6a387 02-Dec-2010 Clemens Ladisch <clemens@ladisch.de> ALSA: oxygen: allow to dump codec registers

To help with debugging, add the registers of the model-specific
codecs to the controller and AC97 register dump in the proc file.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
e96f38f732d24515792296b3738842934c985539 02-Dec-2010 Clemens Ladisch <clemens@ladisch.de> ALSA: virtuoso: fix front panel routing for D1/DX/ST(X)

The "Front Panel" switch on the Xonar D1/DX actually switches only the
output direction, so mark it appropriately.

The front panel microphone is controlled by the FMIC2MIC bit of the
CM9780. It was unconditionally enabled on the D1/DX and never set on
the ST(X); add a control for it. Selecting the front panel microphone
as source does not actually disable the microphone jack, but this is
bug-compatible with the Windows driver, and users rely on it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
f7e4bad74e1b18aaff6e89cf2bc4a3868a6ba56e 02-Dec-2010 Clemens Ladisch <clemens@ladisch.de> ALSA: virtuoso: initialize unknown GPIO bits

Initialize the configuration of some unknown GPIO output bits (that
might not be used at all) to be the same as in the Windows driver, just
to be sure.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
b6ca8ab399d913eed0d89d65d6b768337a3d20d7 04-Oct-2010 Clemens Ladisch <clemens@ladisch.de> ALSA: oxygen: handle CD input configuration with a flag

There are more models without a CD input than with one, so handle this
explicitly with a device_config flag to avoid having to define a control
filter callback to filter it out.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
6a45f7822544c54a2cf070d84f4e85f2fb32ec02 11-May-2010 Clemens Ladisch <clemens@ladisch.de> ALSA: virtuoso: fix Xonar D1/DX front panel microphone

Commit 65c3ac885ce9852852b895a4a62212f62cb5f2e9 in 2.6.33 accidentally
left out the initialization of the AC97 codec FMIC2MIC bit, which broke
recording from the front panel microphone.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
4852ad02476ab2bbc874f6f8fda9e677e0f09c87 28-Sep-2009 Clemens Ladisch <clemens@ladisch.de> sound: oxygen: add digital filter control

Add a control to select between sharp and slow roll-of filter responses
of the DACs.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
76ffe1e3fb2f65e98d7ed001c5a2b6f334655364 28-Sep-2009 Clemens Ladisch <clemens@ladisch.de> sound: oxygen: allow custom MCLK rates

Add a callback that allows model drivers to modify the default I2S MCLK
rate.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
6f0de3ce068e48b033b5e4d0822b47218e9d206c 28-Sep-2009 Clemens Ladisch <clemens@ladisch.de> sound: oxygen: cache codec registers

Keep a cache of codec registers to avoid unnecessary writes.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
dc0adf48daa81b05765d3c5ebab76321f77e9d21 28-Sep-2009 Clemens Ladisch <clemens@ladisch.de> sound: oxygen: more hardware documentation

Add some comments describing the hardware pin routing.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
3d8bb454c4fbe18cea1adfd4183a4a9ef5f0ef04 28-Sep-2009 Clemens Ladisch <clemens@ladisch.de> sound: oxygen: add stereo upmixing to center/LFE channels

Add the possibility to route a mix of the two channels of stereo data to
the center and LFE outputs. This is implemented only for models where
the DACs support this, i.e., for the Xonar D1 and DX.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
65c3ac885ce9852852b895a4a62212f62cb5f2e9 28-Sep-2009 Clemens Ladisch <clemens@ladisch.de> sound: virtuoso: split virtuoso.c

The virtuoso.c file has become rather big. This patch splits it up so
that only code for very similar card models is in one file.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>