11 Jan, 2012
1 commit
-
All Xonar cards support S/PDIF input, but the cards without optical or
coaxial plugs have only undocumented pin connectors. Support for the
ST/STX was already added in a previous patch; this adds support for the
D1/DX (JP2), DG (J5), DS (J5), and HDAV Slim (J12).Many thanks to Zoltan Miklos for testing the DS and DX.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
19 Dec, 2011
1 commit
-
module_param(bool) used to counter-intuitively take an int. In
fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy
trick.It's time to remove the int/unsigned int option. For this version
it'll simply give a warning, but it'll break next kernel version.Signed-off-by: Rusty Russell
Signed-off-by: Takashi Iwai
01 Nov, 2011
2 commits
-
These aren't modules, but they do make use of these macros, so
they will need export.h to get that definition. Previously,
they got it via the implicit module.h inclusion.Signed-off-by: Paul Gortmaker
-
Lots of sound drivers were getting module.h via the implicit presence
of it in but we are going to clean that up. So
fix up those users now.Signed-off-by: Paul Gortmaker
14 Sep, 2011
1 commit
-
The semantics of snd_mpu401_uart_new()'s interrupt parameters are
somewhat counterintuitive: To prevent the function from allocating its
own interrupt, either the irq number must be invalid, or the irq_flags
parameter must be zero. At the same time, the irq parameter being
invalid specifies that the mpu401 code has to work without an interrupt
allocated by the caller. This implies that, if there is an interrupt
and it is allocated by the caller, the irq parameter must be set to
a valid-looking number which then isn't actually used.With the removal of IRQF_DISABLED, zero becomes a valid irq_flags value,
which forces us to handle the parameters differently.This patch introduces a new flag MPU401_INFO_IRQ_HOOK for when the
device interrupt is handled by the caller, and makes the allocation of
the interrupt to depend only on the irq parameter. As suggested by
Takashi, the irq_flags parameter was dropped because, when used, it had
the constant value IRQF_DISABLED.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
15 Aug, 2011
1 commit
-
On the Xonar Essence ST/STX, the connector J14 has been confirmed to be
a digital input, so enable it in the driver.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
18 Jul, 2011
1 commit
-
Commit dd203fa97bd5 (ALSA: virtuoso: remove non-working controls on
Essence ST Deluxe) made it impossible to adjust the volume after the
driver initialized it to muted.Ensure that those DACs that can be accessed with I2C are initialized
to the same volume that is the reset default of the DAC without I2C.Signed-off-by: Clemens Ladisch
Cc: 2.6.38+
17 Jun, 2011
1 commit
-
Since commit f2b3614cefb6 (Don't check DMA time-out too shortly),
drivers need no longer restrict their PCM period length to be shorter
than 10 seconds.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
10 Jun, 2011
2 commits
-
The name argument of request_irq() appears in /proc/interrupts, and
it's quite ugly when the name entry contains a space or special letters.
In general, it's simpler and more readable when the module name appears
there, so let's replace all entries with KBUILD_MODNAME.Signed-off-by: Takashi Iwai
-
The convention for pci_driver.name entry in kernel drivers seem to be
the module name or equivalent ones. But, so far, almost all PCI sound
drivers use more verbose name like "ABC Xyz (12)", and these are fairly
confusing when appearing as a file name.This patch converts the all pci_driver.name entries in sound/pci/* to
use KBUILD_MODNAME for more unified appearance.Signed-off-by: Takashi Iwai
31 Jan, 2011
1 commit
-
This card uses separate I2S outputs for the front speakers and
headphones, and reverses the order of the three speaker outputs.
To work around this, add a model-specific callback to adjust the
controller's playback routing.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
23 Jan, 2011
1 commit
-
'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 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
Acked-by: Clemens Ladisch
14 Jan, 2011
1 commit
-
Accidentally exchanging register addresses and register values leads to
many strange errors ...Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
12 Jan, 2011
3 commits
-
Apparently, this card uses the other I2S input.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add a mixer control to switch between the optical and coaxial S/PDIF
inputs on the HT-Omega Claro and Claro halo cards.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Enable the X-Meridian's CD input and the X-Meridian 2G's potential
MIDI ports.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
11 Jan, 2011
1 commit
-
Signed-off-by: Stephen Rothwell
Signed-off-by: Takashi Iwai
10 Jan, 2011
22 commits
-
Instead of the generic Oxygen, use the actual card name, if known.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Apparently, the revision is 2 on all sold sound cards, so this
information is not actually useful.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add a mixer control to select between the on-board and extension board
S/PDIF inputs for the X-Meridian (2G).Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add a mixer control to prevent capturing S/PDIF samples that are not
marked as valid (non-audio or corrupted samples).Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Introduce the helper function snd_ctl_enum_info() to fill out the
elem_info fields for an enumerated control.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add experimental support for the Asus Xonar HDAV1.3 Slim sound card.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add experimental support for the Asus Xonar DG sound card.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add support for the AuzenTech X-Meridian 7.1 2G sound card.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Add PCI IDs for some unknown models.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
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
Signed-off-by: Takashi Iwai -
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
Signed-off-by: Takashi Iwai -
Do not apply the headphone gain offset to any but the front DAC. These
DACs would not be used in headphone mode, so this saves a few register
writes.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Remove the DAC Oversampling mixer control because this setting does not
make much sense.For cards with the H6 daughterboard, 128x oversampling was disabled
anyway because these high MCLK frequency would not be compatible with
the connector cable.For cards without the H6 daughterboard, 128x gives a slightly higher
output quality; there is no reason to reduce it to 64x except for saving
power, but then these cards have not been designed to be power efficient
anyway (the D2's blinkenlights cannot be disabled).Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Because of the unshielded connector cable, it is important to use as low
a master clock frequency as possible with the H6.For double rate modes (64-96 kHz), the MCLK rate is unconditionally
lowered from 512x to 256x because the higher rate would not improve
anything.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
The clock output of the CS2000, which is used as master clock for the
DACs, was using half the actual master clock frequency for some reason.
Using the theoretically correct frequency seems also to work in practice.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
On the Xonar Essence ST Deluxe, remove all mixer controls that would
require I2C communication with the third DAC, which does not work
because of an addressing conflict with the CS2000 chip.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Change the PCM format used for the PCM1796 from left-justified to I2S to
ensure that the correct format is used even for the Essence ST Deluxe's
center/LFE DAC, where I2C does not work because of an address conflict
with the CS2000 chip.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
The PCM1796 needs the master clock for I2C communication to work, so
add delays after clock changes to ensure that the clock is stable when
we try to write the DACs' registers.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
To make the I2C communication reliable when using the H6 daughterboard,
reduce the I2C clock frequency.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
Fix wrong register bits for SPI clock cycle times longer than 160 ns,
and adjust the polling loop timeout for these speeds.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
The number of DACs can now be deduced from the dac_channels_mixer field,
so the private_data field is no longer needed.Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai -
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
Signed-off-by: Takashi Iwai
13 Dec, 2010
1 commit