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
1 commit
-
The implicit presence of module.h lured several users into
incorrectly thinking that they only needed/used modparam.h
but once we clean up the module.h presence, these will show
up as build failures, so fix 'em 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
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 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
10 Jan, 2011
1 commit
-
Simplify info callbacks by using the snd_ctl_enum_info() helper function.
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
24 Mar, 2010
1 commit
-
When the CMI8738 FRAME2 register is read, the chip sometimes (probably
when wrapping around) returns an invalid value that would be outside the
programmed DMA buffer. This leads to an inconsistent PCM pointer that is
likely to result in an underrun.To work around this, read the register multiple times until we get a
valid value; the error state seems to be very short-lived.Signed-off-by: Clemens Ladisch
Reported-and-tested-by: Matija Nalis
Cc:
Signed-off-by: Takashi Iwai
09 Feb, 2010
1 commit
-
Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to
.devinit.rodata section, so they can be discarded in some cases,
and make them const.Signed-off-by: Alexey Dobriyan
Signed-off-by: Takashi Iwai
05 Nov, 2009
1 commit
-
To avoid confusion in control names for the standard analog PC Beep generator
using a small Internal PC Speaker, rename all related "PC Speaker" and "PC
Beep" controls to "Beep" only. This name is more universal and can be also
used on more platforms without confusion.Introduce also "Internal Speaker" in ControlNames.txt for systems with
full-featured build-in internal speaker.Signed-off-by: Jaroslav Kysela
Signed-off-by: Takashi Iwai
25 Jun, 2009
1 commit
-
Signed-off-by: Joe Perches
Signed-off-by: Takashi Iwai
27 Apr, 2009
1 commit
-
Fixed the compile warning below by initializatin iomidi variable properly.
sound/pci/cmipci.c: In function ‘snd_cmipci_probe’:
sound/pci/cmipci.c:3017: warning: ‘iomidi’ may be used uninitialized in this functionSigned-off-by: Subrata Modak
Cc: linux-pci
Cc: Balbir Singh
Cc: Sachin P Sant
Signed-off-by: Takashi Iwai
12 Jan, 2009
1 commit
-
Convert from snd_card_new() to the new snd_card_create() function
in sound/pci/*.Signed-off-by: Takashi Iwai
13 Aug, 2008
1 commit
-
Kill snd_assert() in sound/pci/*, either removed or replaced with
if () with snd_BUG_ON().Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
24 Apr, 2008
2 commits
-
free_irq() calls synchronize_irq() for you, so there is no need for
drivers to manually do the same thing (again). Thus, calls where
sync-irq immediately precedes free-irq can be simplified.However, during this audit several bugs were noticed, where free-irq is
preceded by a "irq >= 0" check... but the sync-irq call is not covered
by the same check.So, where sync-irq could not be eliminated completely, the missing check
was added.Signed-off-by: Jeff Garzik
Signed-off-by: Takashi Iwai -
A temporary variable for each mixer element is used in an initialization
loop, use the name elem_id.sound/pci/cmipci.c:2747:26: warning: symbol 'id' shadows an earlier one
sound/pci/cmipci.c:56:13: originally declared here[tiwai - fixed a coding style issue as well]
Signed-off-by: Harvey Harrison
Signed-off-by: Takashi Iwai
01 Feb, 2008
6 commits
-
This header file exists only for some hacks to adapt alsa-driver
tree. It's useless for building in the kernel. Let's move a few
lines in it to sound/core.h and remove it.
With this patch, sound/driver.h isn't removed but has just a single
compile warning to include it. This should be really killed in
future.Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Add a comment that explains why the 'Modem' control doesn't work with
newer chips.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
On version 39 or newer chips, we better remove the 'Modem' control
because this register bit now mutes the front channels of the
multichannel stream.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Enable capturing of raw 32bit IEC958_SUBFRAME.
The 24-bits PCM data can be obtained using iec958 plugin.
Known problem: captured stream may begin with either left or right
subframe. Since the iec958 plugin doesn't decode preamble it may swap
the channels sometime.Signed-off-by: Timofei Bondarenko
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
Setting the ADC48K44K greatly improves capture quality at 48k sampling rate.
With this bit clear ADC does ZOH interpolation of every 22th sample at 48k.
At frequencies higher than 48k there ADC performs a little better with
ADC48K44K bit set.
At 44.1k ADC performs a little better with this bit clear.
At frequencies below 44.1k there is no difference.Signed-off-by: Timofei Bondarenko
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela -
This patch adds support for 88.2k, 96k, and 128k samplerates
on cmi8738-55 chip.
Analog playback works fine on all channels.
Analog capture works well too, though the extra samples seems
interpolated by hardware.
spdif playback and capture works fine.Signed-off-by: Timofei Bondarenko
Signed-off-by: Takashi Iwai
Signed-off-by: Jaroslav Kysela
20 Nov, 2007
1 commit
-
Fix the definitions of the CM_FLINKON/CM_FLINKOFF register bits that
were garbled in the last 'update register definitions' patch.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela
16 Oct, 2007
17 commits
-
When playing multichannel data, the rear channels can get distorted if
the last sample of the last played stereo stream was not zero. To avoid
this, add a hack to play a few silence samples after the stream is
stopped.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Remove some unused field from the struct cmipci_pcm, and change the type
of some others to save some space.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
When using one of the double sampling rates, use half the sample rate to
look up in the rates[] table, otherwise we stumble over the BUG().Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
By reorganizing the code that sets the CHB3DxC bits we can not only
simplify this code but also fix the bug where the CHB3D8C bit was not
reset when playing a stereo stream after a 7.1 stream.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Disallow playback of five channels because the hardware does not support
it (or nobody knows how to do it).Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Move the code that enables 96 kHz out of the if() that checks for
availability of both DMA channels so that it is enabled even when
another stream is playing on the front channels.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Initialize the registers at 0x90 and 0x91 with some undocumented values.
Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
When the chip is initialized, reset it.
Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Show a dump of all registers in the 0x00-0x27 and 0x90-0x93 ranges in
the 'cmipci' proc file.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Update comments for many register symbols, add some new register
symbols, and rename a few ones.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Use the proper value for the bit that identifies chip version 37.
Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Add a msbits constraint to the SPDIF output device to indicate that
S32_LE samples use only 24 bits for data.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
The '-MCx' suffix that is expected by alsa-lib is only needed in the
card driver string, so we can show the actual chip name in the
shortname.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Check that the UART_EN bit actually enabled the MPU-401 port.
Apparently, C-Media thinks that it is a good idea to be paranoid here.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Integrated MPU-401/OPL3 ports are available with chip version 39 and
later, so we do not test for the port with version 37.
Now that the test is known to work, we can again enable the MIDI port by
default.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Add support for 88.2 kHz and 96 kHz analog and digital playback on
CMI8768/CMI8770 chips.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela -
Remove the constraint that sets the channel limit for the first playback
device to that of the second one; the first device supports only stereo.Signed-off-by: Clemens Ladisch
Signed-off-by: Jaroslav Kysela