Modules: HDA Intel driver
Switch the method to measure the current DMA position automatically
from position-buffer mode to LPIB-read mode with a sanity check.
Some hardwares seems to have problem with the position buffer.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver,HDA Intel driver
Switch to single_cmd mode automatically as a fallback when CORB/RIRB
communication doesn't work well. It may make the driver working on
some devices with broken BIOS/ACPI support.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
It seems that hardware requires some time to reset bus master registers.
We need to wait until ICH_RESETREGS bit is not released.
The suggestion and symptom was described by Mike Gorchak <lestat@i.com.ua>.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: HDA Codec driver
The following patch adds a 'test' ALC260 model specification to the
patch_realtek.c driver if CONFIG_SND_DEBUG is set. This is similar to the
'test' ALC880 model in that it sets up mixer controls for almost everything
to make it easier for people to test their laptop/soundcard when working out
what pin widgets are connected to which real-world devices.
This patch assumes my previous patch (adding the second PCM to the ALC260)
has previously been applied since it uses infrastructure added by that
patch.
In developing this patch it was found that not all retasking pins accept all
the modes - in particular, some ignore the VREFxx variants. The pin mode
control has therefore been tweaked to prevent this becoming a problem in
mixer applications.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
Jonathan Woithe <jwoithe@physics.adelaide.edu.au>
The following patch changes the initverbs associated with the output sum
widgets 0x08, 0x09 and 0x0a used with the fujitsu model in patch_realtek.c.
It is against alsa 1.0.11rc3.
Currently these widgets have their output muted, but a close reading of the
datasheet suggests that they don't actually have an output mute. They have
an *input* mute for each of their two inputs and a single output gain. This
patch therefore activates the input mutes and zeros the output gain. It has
not yet been tested but the above interpretation of the ALC260 datasheet
seems correct.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
The following patch against alsa 1.0.11rc3 creates a PCM device (pcm1c) for
the second ADC present on the ALC260 codec used by the hda driver. It also
defines a new mixer control allowing the mode of retasking pins to be set;
this means a user can (for example) designate the headphone jack to be a
second input. With this patch in place it is possible to do 4 channel
recording on laptops equipped with an ALC260 codec assuming both a stereo
line-in jack is provided in addition to a headphone jack.
Mixer controls are provided to allow the headphone jack to be switched as
an input. In addition, an (input only) mode control is configured for
the line-in jack to allow a bias voltage to be requested (VREF80 or VREF50)
so headsets based on condensor microphones have a chance of working.
This patch has been tested on a Fujitsu S7020 laptop and as such these
features are currently only configured for the 'fujitsu' model.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
Added the support of static resolution table support for codecs
that the driver cannot probe the volume resolution properly.
The table pointer should be set in each codec patch.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: BT87x driver
- added 0x107d:0x6606 to whitelist
- print also the pci device ID for developers when model is not known
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: ICE1712 driver
Change the value written to hardware configuration register of envy24 chip
in the case of Terratec DMX6fire to restrict the active ADCs & DACs to 6.
Also add the dxr_enable module option to eventually leave the old behaviour
when user requests.
Signed-off-by: Alan Horstmann <gineera@aspect135.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: YMFPCI driver
Added rear_swap module option / kernel parameter to configure the rear
channel swapping. Default value is enable to make the AC3 passthrough
working, but analog only users might revert the previous behaviour.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Semaphore to mutex conversion.
The conversion was generated via scripts, and the result was validated
automatically via a script as well.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: au88x0 driver
Fix the driver codes to run on 64bit architectures.
The patch taken from ALSA BTS bug#1047.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: YMFPCI driver
The routing of the effect 2/3 channels to the digital output is the
opposite of the rear analog output (left/right swapped).
We make the order correct for the digital output (which will make the
analog rear have the channels swapped) to make AC3 output work.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: Documentation,HDA Intel driver
Added single_cmd module option for debugging in the case CORB/RIRB
doesn't work well (e.g. due to wrong irq routings).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
Fix the detection of tertriary codec on SIS7012, including clean-ups
of relevant codes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This little patch add the model for the motherboard K8N51 from Gigabyte
to the known models of ALC boards.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
* Fix init sequence so manually retaskable jacks don't get added to
the line_out list.
* Update intel mobo config defaults to specify surround outputs
as line outs rather than speakers.
Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
Fix max_channels computation for STAC92xx codecs in the case only
HP pin without line-out pins is detected in the default pin config.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This adds support for Agere's variant of Si3054/5 based HDA modem.
Signed-off-by: Sasha Khapyorsky <sashak@alsa-project.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Digigram PCXHR driver
sound/pci/pcxhr/pcxhr.c: In function 'pcxhr_update_r_buffer':
sound/pci/pcxhr/pcxhr.c:460: warning: unsigned int format, different type arg (arg 7)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: RME9652 driver
sound/pci/rme9652/hdspm.c: In function 'snd_hdspm_preallocate_memory':
sound/pci/rme9652/hdspm.c:3327: warning: int format, different type arg (arg 4)
sound/pci/rme9652/hdspm.c:3331: warning: int format, different type arg (arg 4)
sound/pci/rme9652/hdspm.c: In function 'snd_hdspm_create':
sound/pci/rme9652/hdspm.c:3513: warning: int format, different type arg (arg 4)
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
This patch adds a quirk entry for the Dell Optiplex GX270, on which
the volume is set by the headphone control, not the master control.
Signed-off-by: Chris Ball <cjb@mrao.cam.ac.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ALI5451 driver
This patch uses #defines for the Vendor ID and Device ID and uses the
new PCI_DEVICE macro.
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Trident driver
Some pcnet32 hardware erroneously has the Vendor ID for Trident. The
pcnet32 driver looks for the PCI ethernet class before grabbing the
hardware, but the current trident driver does not check against the
PCI audio class. This allows the trident driver to claim the pcnet32
hardware. This patch prevents that.
Per Jiri Slaby's request, I changed the trident driver to use
PCI_DEVICE macro and PCI ID #defines.
This patch is untested on Trident 4DWAVE_DX hardware, but has been
tested on pcnet32 hardware.
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: YMFPCI driver
Set the (read only) sample rate field in the IEC958 mixer controls to
48 kHz (instead of 44.1 kHz) because that is the rate actually
supported by the hardware.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: AC97 Codec
Added a blacklist to suppress to create jack sense controls.
These controls must be always off on some devices (e.g. Thinkpad).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Intel driver
This patch adds the Intel ICH8 HD Audio DID to the hda_intel.c audio driver.
Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: BT87x driver
The patch siply adds the PCI IDs of AVerMedia Studio No. 103, 203,
and possibly even other versions with the same PCI IDs to the snd-bt87x
driver and sets its default sampling rate to 48 kHz.
Signed-off-by: Martin Drab <drab@kepler.fjfi.cvut.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
in recent -mm kernels additional quirks for ac97 hardware in HP laptops
have been added. However, now the list in intel8x0.c contains a duplicate,
since the HP nx6110 and nc6120 have identical subdevice ids.
This was introduced in -mm1 by the following patch:
add-new-quirk-for-devices-with-mute-leds-and-separate-headphone-volume.patch
Since the HP nx6110 and nc6120 are almost identical, both entries
should really be combined, as in the following patch. I have checked
that AC97_TUNE_HP_MUTE_LED is the right thing to do.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Remove the "inline" keyword from a bunch of big functions in the kernel with
the goal of shrinking it by 30kb to 40kb
Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
- Move capable() from sched.h to capability.h;
- Use <linux/capability.h> where capable() is used
(in include/, block/, ipc/, kernel/, a few drivers/,
mm/, security/, & sound/;
many more drivers/ to go)
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
A simple driver for the CS5535 and CS5536 that allows a user-space program
to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor
companion devices.
Signed-off-by: Ben Gardner <bgardner@wabtec.com>
Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Modules: EMU10K1/EMU10K2 driver
Description:
Part way to fix ALSA bug#927
Add support for the SPI interface on the CA0108 chip.
This is used to control the registers on the DAC.
Headphone output tested.
Other outputs and Capture not tested yet.
Note: The red LED does not come on, but sound is still OK.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Modules: ES1968 driver
Fix disablement of TDMA and legacy support to prevent confliction of
resources with ISA boards. Confirmed with Terratec DMX and CS4236.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
All users of snd_seq_create_kernel_client() have to set the client name
anyway, so we can just pass the name as parameter. This relieves us
from having to muck around with a struct snd_seq_client_info in these
cases.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
The fields of struct snd_seq_client_callback either aren't used or are
always set to the same value, so we can get rid of it altogether.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: YMFPCI driver
Instead of 'DS-XG', show the correct chip model (DS-1/1L/1S/1E) where possible.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: HDA Codec driver,HDA generic driver
- Common labels for input pins
- Fix and clean up of Realtek codec parsers
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ENS1370/1+ driver
Move the spdif and lineio parameters around so that they are compiled
even when SUPPORT_JOYSTICK isn't set.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: EMU10K1/EMU10K2 driver
Added the chip-detail entry for SB Live 5.1 Digital OEM [SB0220, (c) 2003].
Signed-off-by: Gergely Tamas <dice@mfa.kfki.hu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec,ATIIXP driver,Intel8x0 driver
This patch adds a new quirk for ac97 hardware that combines the existing
AC97_TUNE_MUTE_LED and AC97_TUNE_HP_ONLY quirks. This is needed for several
current HP laptops. Additionally, it adds the HP nx6125 to the
AC97_TUNE_MUTE_LED list.
Fixed for the latest version of ALSA by Takashi Iwai <tiwai@suse.de>.
Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
Small fix for ALC65x codec, sync with Realtek's driver codes:
- Rename 'IEC958 Playback Route' to 'IEC958 Playback Source' so that
mixer can handle it properly
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver,HDA generic driver
This patch adds the support of ALC262,ALC883,ALC885,ALC861 to driver
More models and improvements for ALC880, ALC260 and ALC882 codecs, too.
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: EMU10K1/EMU10K2 driver
sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_alloc_pm_buffer':
sound/pci/emu10k1/emufx.c:2402: error: implicit declaration of function 'vmalloc'
sound/pci/emu10k1/emufx.c:2402: warning: assignment makes pointer from integer without a cast
sound/pci/emu10k1/emufx.c: In function 'snd_emu10k1_efx_free_pm_buffer':
sound/pci/emu10k1/emufx.c:2413: error: implicit declaration of function 'vfree'
Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: EMU10K1/EMU10K2 driver
Distorted sound now comes from the Audio Out socket. Still more work to do.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Modules: au88x0 driver
pci_dma_supported() is called right before pci_set_dma_mask() which already
calls pci_dma_supported(). The attached patch removes the unneeded call to
pci_dma_supported()
Additionally the custom VORTEX_DMA_MASK macro is replaced by DMA_32BIT_MASK
from linux/dma-mapping.h
Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
- Explictly set pin control as input for all input pins
- Fix bug in 922x mixer (no mute on adc0vol)
- Remove broken ch_mode control
- Add support for jack retasking mixer controls to use rear line and
mic as surround outputs
- Add board tables to support autodetect and pin config defaults for
systems with broken bioses
- Add support for several Intel mobos
- Add support for DFI mobo with reference boards attached
(gets rid of compile time switch to use reference boards)
Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Intel driver
The probe_mask module parameter comment notes that the intended
default is -1. Fix it to be so, otherwise all codecs are skipped
and init fails.
Signed-off-by: Matt Porter <mporter@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ENS1370/1+ driver
- spdif module option: some hardware revisions are without spdif output
- lineio module option: force shared line in / rear out jack settings
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: AC97 Codec
The following patch adds some extra IDs for the list of hardware which
should have headphone line sense enabled by default.
Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
Fix/enhance AD1988 support code.
- Fix for h/w bug of AD1988A rev 2
- The BIOS auto-configuration is added and used as fallback
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Intel driver
- Use the position buffer for obtaining the current DMA position
as default. This seems more stable than others.
- Add probe_mask module option (mainly for test boards with multiple
codecs).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
This patch is to fix the problem of calculating the nid incorrectly
when auto-probe for ALC880. The problem to be fixed often behaves
with such words when using dmesg, 'num_steps = 0 for NID=0x8' when
auto-probe for ALC880.
The patch contains:
- alsa-kernel/pci/hda/patch_realtek.c: replace 'alc880_dac_to_idx'
with 'alc880_idx_to_dac' in function 'alc880_auto_fill_dac_nids()'
Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: RawMidi Midlevel,HDA generic driver
This patch contains the following possible cleanups:
- pci/hda/hda_proc.c should #include 'hda_local.h' for including the
prototype of it's global function snd_hda_codec_proc_new()
- core/rawmidi.c: make the needlessly global and EXPORT_SYMBOL'ed
function snd_rawmidi_info() static
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
Fix AD1988 support. As default, 6stack model is used.
Still no auto-BIOS setup is implemented.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver,HDA generic driver
- Fix connection list parsing (with ranged flag).
- Increase the max number of connections
- Introduce widget capabilities cache
- Power up/down widgets at init, suspend and resume
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: CS5535 driver
Move the #include of <sound/driver.h> to the top which is
required for compilation on earlier kernels.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: ENS1370/1+ driver
Fix PM support on ens1371 driver.
Add PM support on ens1370 (together with AK4531), too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
Add NULL check in snd_ac97_suspend() and snd_ac97_resume() so that
the caller doesn't have to do it by itself.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
Add AD1988 codec support to hda-codec driver.
Still experimental, and no BIOS configuration parser is implemented yet.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
Generate a better name string for ac97_bus sysfs interface including
the name of ac97 codec chip.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: SB drivers,ALS4000 driver
some update for the ALS4000 driver (tested with hardware in my PC):
- use common control names according to ControlNames.txt
- add some controls (Master Mono, 3D control)
- optimize struct snd_card_als4000_t layout (performance/size)
- save some bytes via unified error path
- constify some read-only data
- add ToDo list
- move GPL license text to top
- add comments
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: KORG1212 driver
Clean up debug prints in korg1212 driver.
Also, clean up spaces/indents in some places.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
Remove the definition of ac97_enum struct from the public ac97_codec.h.
It's used only in the module.
The location of struct ac97_pcm is moved closer to its accessor
to improve readability.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: CA0106 driver
Clean up snd-ca0106 driver code:
- Fix spaces and indents
- Remove unnecessary spinlocks
- Clean up the mixer callbacks using private_value
- Clean up mixer constructors using an array
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Documentation,CS5535 driver
Minor clean up and fixes for CS5535 audio driver.
Added an entry in ALSA-Configuration.txt, too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Add support for the CS5535 Audio device. I've fixed up some errors as per
Takashi's advice from the thread:
http://lkml.org/lkml/2005/9/15/119
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
cs5535 is a 32bit x86 only device using weird CPU features
Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ENS1370/1+ driver
This patch fixes missing suspend/resume-code for snd-ens1371
(but not for snd-ens1370)
Signed-off-by: Kurt J. Bosch <kjb-temp-2005@gmx.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Codec driver
The patch fixes the problem of mute onboard HDA sound output,
buildin V.92 modem idendification and functionality.
Signed-off-by: Daniel Mueller <daniel.mueller@siemens.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AC97 Codec
For debugging and problem finding purposes, show also the PCI subsystem
vendor/device values in the ac97#X proc file.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: EMU10K1/EMU10K2 driver
on Audigy 2 ZS Notebook.
Set the master volume to about 6 or 8% in alsamixer. This will
attenuate the output enough for better sound quality.
Note: Only stereo enabled at present.
The distortion is caused by the output path after the DSP
adding 12dB gain to the output while still in digital mode,
resulting in wrap around distortion.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Modules: EMU10K1/EMU10K2 driver
Enable side surround channels for Audigy2 EX. Tested by Rick Wright
<riwright@vt.edu>.
Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: HDA Intel driver
Rate-limit the azx_get_response timeout message. A continuous 2 per second
is too much.
Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
pci_ids cleanup: fixup bt87x.c: two macro defined IDs missed in prior cleanup.
Caught by Chun-Chung Chen <cjj@u.washington.edu>: "In the patch for bt87x.c,
you seemed have missed the two occurrences of BT_DEVICE on line 897 and
line 898."
Signed-off-by: Grant Coady <gcoady@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Modules: HDA Codec driver,HDA generic driver
- Make bound controls global to all patches
- Clean up analog patches (for the upcoming extension to AD1988)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AZT3328 driver
this is now an even much more reworked patch (#3) for my azt3328.c ALSA driver.
IOW I spent another 4 evenings to get the sequencer timer to work properly
(my head is still hurting) and do lots of other cleanups.
Note that despite the extensive sequencer timer additions, the driver object
is still only 2kB bigger than the previous version, due to those many
optimizations...
Changes in version #3:
- fully working ALSA sequencer timer support for the card's 1024000Hz
DirectX timer (downscaling adjustable via seqtimer_scaling module param)
- an insane amount of code optimizations
- many, many cleanups
Changes in version #2:
- FOUND the 1us DirectX timer area (yay!), made the code respect it
properly
- renamed some 'weird' mixer control names according to ControlNames.txt
- cleanup unneeded debug messages, reformatting
- improved I/O register documentation
- constified many more structs
Changes in version #1:
- improves/fixes some fatal playback/recording interaction
- improves IRQ handler performance (and actually fixes some weird code)
- coalesces some I/O accesses
- slightly improves I/O interface documentation
- improves/fixes logging
- defines out some less important debug code
- constifies some data
Signed-off-by: Andreas Mohr <andi@lisas.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: EMU10K1/EMU10K2 driver,Common EMU synth
This patch fixes problems with voices cutting off or not
sounding at all.
Signed-off-by: Tim <tedon@rogers.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: AD1889 driver,RME9652 driver
This is the sound/ part of the big kfree cleanup patch.
Remove pointless checks for NULL prior to calling kfree() in sound/.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Use schedule_timeout_{,un}interruptible() instead of
set_current_state()/schedule_timeout() to reduce kernel size. Also use
human-time conversion functions instead of hard-coded division to avoid
rounding issues.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
1.In intel8x0_measure_ac97_clock routine, when stop DMA, there is not stop
DMA corectly, but start another PCM In2 DMA engine.
2.In do_ali_reset routine, there is only need to enable PCM IN and PCM OUT.
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Modules: Documentation,ALI5451 driver,NM256 driver
Removed multi-card supports for ali5451 and nm256 drivers.
They are supposed to be a single device.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: NM256 driver
The current snd-nm256 driver can cause Dell Latitude CSx laptops to
lock-up during module (un)load. I have isolated this to the writes to
the control port register at offset 0x6cc which were not already
protected by the existing reset_workaround.
I tried grouping these writes with the existing reset_workaround
clause, but that caused the driver to have (un)load problems on the
Dell Latitude LS laptops. So, I have implemented a reset_workaround_2
clause (please feel free to suggest a better name!) to cover this
situation and added a quirk entry for the CSx laptops.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: YMFPCI driver
We better pretend that the ymfpci timer runs at 48 kHz because the
interrupt frequency cannot be higher, and clients that would try to
use 96 kHz would run at half their desired speed.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: Maestro3 driver
This patch fixes the maestro3 driver to call the snd_m3_assp_init
function to write the DSP firmware into the ASSP chip before sending the
RUN_ASSP command, thereby solving the hang after a cold boot.
Signed-off-by: Charles R. Anderson <cra@alum.wpi.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
- Set buggy_irq parameter before registration of irq handler.
- Clean up module parameter handling.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: VIA82xx driver
The change only affects the via823x kind of chips.
Here the via8233_pcm_pointer_hw() function
(named snd_via8233_pcm_pointer() before)
needed to loop until a non zero position is red from the chip.
Measurements have shown that more than 200 loops are typically needed on
an Athlon64.
As io-reads cost many cycles, those loops sum up huge.
via8233_pcm_pointer_hw() runs either in interrupt or with interrupts
disabled. So it introduces significant interrupt latency.
The patch introduces a calculated position value hwptr_done,
that is updated by the interrupt routine when a period is completed.
It is only used, if the 823x chip returns a zero position, which can't
be interpreted reliably.
Further optimisation is applied on the 8233 chip's interrupt routine:
Only the SGD_SHADOW is read, as it contains all infos needed.
We ommit ~5 more register reads that way.
Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: VIA82xx driver
The patch enable separate DXS controls of sound function of VIA VT82xx
controller in case DXS volume is not needed for PCM Playback volume
control emulation.
Signed-off-by: Honza Maly <hkmaly@matfyz.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ES1938 driver
- Clean up the last PM fix
- Add TRIGGER_SUSPEND/RESUME to disable/enable DMA properly during PM
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ES1938 driver
This patch fixes the suspend/resume issue I'm having with ESS-Solo1
soundcard. Without this patch I might get after resume message
that kernel is disabling the IRQ5 (soundcard). If there was something
playing it wont continue after resume without this patch.
Signed-off-by: Rudolf Marek <r.marek@sh.cvut.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
- Remove vmalloc wrapper
- Add release_and_free_resource() to remove kfree_nocheck() from each driver
and simplify the code
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Remove snd_runtime_check() macro.
This macro worsens the readability of codes. They should be either
normal if() or removable asserts.
Also, the assert displays stack-dump, instead of only the last caller
pointer.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Intel8x0 driver
On my Acer Aspire 3003LCi laptop, the speaker volume is not controlled
by the master control, but by the headphone control. Enabling the
'hp_only' quirk corrects this. The patch below adds this device to the
list of known quirks.
Signed-off-by: Dick Streefland <dick@streefland.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ICE1724 driver
Remove the restcition of sample rates on Revolution 7.1 board.
This enables the low 8-44kHz sample rates.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Remove the code for supporting eight cards from the integrated
controller drivers because There Can Be Only One controller of
each type per mainboard.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: Sound Core,PCI drivers
AC97 Kconfig entries broke the ALSA device drivers menu,
so move them to a location where that won't happen,
enabling all device sub-menus to be presented together.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>