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: USB generic driver
Rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME because Miditech keyboards
are built by CME and use the same protocol, and don't force a Miditech
product name for the USB ID used by both Miditech and CME UF-x
keyboards.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: PCM Midlevel,USB generic driver
Because snd_pcm_format_name() function is used only for informational
purposes, it is no longer exported from the PCM midlevel to reduce
space and dependency. usbaudio module shows only numeric value for format.
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>
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>
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>
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>
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: ES18xx driver
Forth of 4 es18xx.c patches culminating in Zoom Video support.
This patch adds Zoom Video support for those chipsets that support it.
Testing:
This work was initially done on the source from the Debian Sarge ALSA
package, then tested
on an ES1879. I could not test the Zoom Video function for an ES1878 or
ES1869.
Patches were created against the Sarge code and then edited to apply
correctly to the
ALSA cvs code. Lastly the patched ALSA cvs code was test for successful
compilation.
No additional testing was done on the ALSA cvs version.
One quirk (noted in my comments below) is that apparently the datasheet
is wrong
for one of the ES1879 Zoom Video 'enable' bits, because
1) if you set this bit it messes up PCM playback (speaker_test play a
lower frequency)
2) even if you don't set this bit Zoom Video still works.
I added a control to toggle the bit on just in case there might be a
version of the
ES1879 that requires it, but I expect noone will need it.
Signed-off-by: Mark Salazar <markTheCoder@justmyself.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ES18xx driver
Third of 4 es18xx.c patches culminating in Zoom Video support.
This patch changes the Hardware Volume support to reflect the fact that
not all of the
supported chipsets have seperate registers dedicated to the Hardware
Volume inputs. Although
all the chipsets can generate an HWV interrupt whenever a Hardware
Volume input is received
only those with seperate HWV registers can split the HWV registers from
the Master volume
registers.
Testing:
This work was initially done on the source from the Debian Sarge ALSA
package, then tested
on an ES1879 and an ES1878 machine. Patches were created against the
Sarge code and then edited
to apply correctly to the ALSA cvs code. Lastly the patched ALSA cvs
code was test for
successful compilation. No additional testing was done on the ALSA cvs
version.
Signed-off-by: Mark Salazar <markTheCoder@justmyself.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ES18xx driver
Second of 4 es18xx.c patches culminating in Zoom Video support.
This patch changes the 'record source' mux routines to reflect the fact
that not all of the
supported chipsets have 8 possible inputs. Some have 4 and some have 5.
Testing:
This work was initially done on the source from the Debian Sarge ALSA
package, then tested
on an ES1879 and an ES1878 machine. Patches were created against the
Sarge code and then edited
to apply correctly to the ALSA cvs code. Lastly the patched ALSA cvs
code was test for
successful compilation. No additional testing was done on the ALSA cvs
version.
Signed-off-by: Mark Salazar <markTheCoder@justmyself.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ES18xx driver
First of 4 es18xx.c patches culminating in Zoom Video support.
While adding support for Zoom Video to the es18xx driver I found some of
the mixer controls
were wrong. Since you guys went to the trouble of supplying the
datasheets for the supported
chipsets I did a review of all of them and tried to get es18xx.c to
accurately reflect the
proper mixer controls for each chipset. If the datasheets are wrong then
so are my patches.
This first patch moves some controls from the common-to-all-chipsets array
'snd_es18xx_base_controls' to a chipset-specific array and adds code to
manage that new array.
Also while testing on my ES1878 test machine I discovered it needed a
couple of udelays in
the identify function so those are in this patch as well.
Testing:
This work was initially done on the source from the Debian Sarge ALSA
package, then tested
on an ES1879 and an ES1878 machine. Patches were created against the
Sarge code and then edited
to apply correctly to the ALSA cvs code. Lastly the patched ALSA cvs
code was test for
successful compilation. No additional testing was done on the ALSA cvs
version.
Signed-off-by: Mark Salazar <markTheCoder@justmyself.net>
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: ALSA Core,PCM Midlevel,ALSA<-OSS emulation,USB generic driver
1) The verbose procfs code for the PCM midlevel and usb audio
can be removed now (more patches will follow).
CONFIG_SND_VERBOSE_PROCFS
2) The PCM OSS plugin system can be also compiled optionaly.
CONFIG_SND_PCM_OSS_PLUGINS
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
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: USB generic driver
Move the common packet size calculation code from
prepare_startup_playback_urb() and prepare_playback_urb() to a new
function.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: USB generic driver
This is my naive attempt at adding ALSA device support. The attached
patch provides support for the EDIROL UM-3ex. This is a 3-port USB midi
interface with a built-in USB hub and the ability to chain 2 other
UM-3x's in a master-slave configuration. I only have one, so I do not
know how this works in practice.
Though this is a 3-port device, I had to throw in that 4th 'Control' interface
to the definition in order to make the 3rd port work. If I set in/out_cables
to 0x000b, a 3rd interface appears on the driver, but it does nothing.
Changing it to 0x000f allows the 3rd interface to work, but of course
interface 4 does not work because it does not exist.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Remove snd_device_free() for an opl3-oss instance which should have been
released.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
I noticed on 2.6.16-rc4 that my MPU-401 wasn't functional, due to a simple
copy & paste error in sound/isa/cs423x/cs4236.c.
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
I'm getting oopses with snd-usb-audio in 32-bit compat environments:
control_compat.c:get_ctl_type() doesn't initialize 'info', so
'itemlist[uinfo->value.enumerated.item]' in
usbmixer.c:mixer_ctl_selector_info() might access random memory (The 'if
((int)uinfo->value.enumerated.item >= cval->max)' doesn't fix all problems
because of the unsigned -> signed conversion.)
Signed-off-by: Juergen Kreileder <jk@blackdown.de>
Cc: Jaroslav Kysela <perex@suse.cz>
Acked-by: Takashi Iwai <tiwai@suse.de>
Cc: Greg KH <greg@kroah.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
driver that replaces keywest has this bug fixed, thus the sound drivers
must be fixed too.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Patch from Catalin Marinas
AACI reports TX FIFO full after the first write to it if the AC97 is not
enabled. This patch enables the AC97 probing before the check for the TX
FIFO size. The patch also adds a warning if the TX FIFO size is not
multiple of 16.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
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: OPL3SA2 driver,GUS Classic driver
dma2 is a global array. sprintf below suggests there was a typo.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.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: CS4236+ driver
PnP ids for Netfinity 3000 builtin soundcard.
This one works for me.
This patch was submitted through kernel Bugzilla #4214.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
au_readl() does needed byteswapping, etc.
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@perex.cz>
Acked-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Modules: PPC PMAC driver
In 2.6.16-rc1 there is a small typo introduced by the
'Remove device_node addrs/n_addr' changes
which prevents my Powerbook G4 sound from working:
Advanced Linux Sound Architecture Driver Version 1.0.11rc2
(Wed Jan 04 08:57:20 2006 UTC).
snd: can't request rsrc 0 (Sound Control: 0x80000000:80004fff)
ALSA device list:
No soundcards found.
The patch below fixes it. Of course, the patch fixing the i2c issues
('i2c_smbus_write_i2c_block_data' patch) needs to be applied to in
order for the sound to completly work.
Signed-off-by: Stelian Pop <stelian@popies.net>
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: USB generic driver
On the Audigy 2 ZS, disable all sample rate that are not a multiple of
48 kHz because the others work only with the digital output which is
not yet supported.
Signed-off-by: Clemens Ladisch <clemens@ladisch.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: USB generic driver
Some widespread USB interface chips with adaptive iso endpoints hang
after receiving a series of empty packets when they expect data (ALSA
bug#1585). To avoid this, we have to send packets containing silence
(zero samples) instead.
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>
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.
This revised version of the OSS Trident patch includes PCI_DEVICE Macro
usage.
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Muli Ben-Yehuda <mulix@mulix.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
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>
sound/oss/dmasound/dmasound_atari.c has static expand_bal
sound/oss/dmasound/dmasound_q40.c has static expand_bal
sound/oss/dmasound/dmasound_awacs.c has non-static expand_bal
sound/oss/dmasound/trans_16.c uses expand_bal from dmasound_awacs.c
all 4 include dmasound.h; extern for expand_bal used to be there,
which is a bloody bad idea, considering _atari and _q40. Moved the
extern to trans_16.c.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Cast is not an lvalue
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Avoid warnings about use of cast expressions as lvalues
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
in amigahw.h custom renamed to amiga_custom, in drivers with few instances the
same replacement, in the rest - #define custom amiga_custom in driver itself
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Roman Zippel <zippel@linux-m68k.org>
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>
sound/oss/i810_audio.c:3431: warning: label `out_pio' defined but not used
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
OSS Harmony got missed on the conversion of parisc_device.hpa to a
struct resource... fix its build.
Signed-off-by: Stuart Brady <sdb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.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>
This patch converts the inode semaphore to a mutex. I have tested it on
XFS and compiled as much as one can consider on an ia64. Anyway your
luck with it might be different.
Modified-by: Ingo Molnar <mingo@elte.hu>
(finished the conversion)
Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Request the IRQ after having set everything up. Otherwise a shared interrupt
at the right time can kill the machine.
Found this with David Woodhouse <dwmw2@infradead.org>'s
debug-shared-irqs.patch.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Remove various things which were checking for gcc-1.x and gcc-2.x compilers.
From: Adrian Bunk <bunk@stusta.de>
Some documentation updates and removes some code paths for gcc < 3.2.
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The pre-parsed addrs/n_addrs fields in struct device_node are finally
gone. Remove the dodgy heuristics that did that parsing at boot and
remove the fields themselves since we now have a good replacement with
the new OF parsing code. This patch also fixes a bunch of drivers to use
the new code instead, so that at least pmac32, pseries, iseries and g5
defconfigs build.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Since the ARM AMBA bus is used on MIPS as well as ARM, we need
to make the bus available for other architectures to use. Move
the AMBA include files from include/asm-arm/hardware/ to
include/linux/amba/
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This change removes the old, deprecated interface from the opl3sa2 driver,
including the pm_{,un}register() calls, the local storage of the pmdev object
and the reference to the old header files. This change is done to assist in
eradicating the users of the legacy interface so as to help facilitate the
removal of the interface itself.
Signed-off-by: Patrick Mochel <mochel@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This change removes the old, deprecated interface from the nm256 driver,
including the pm_{,un}register() calls, the local storage of the pmdev object
and the reference to the old header files. This change is done to assist in
eradicating the users of the legacy interface so as to help facilitate the
removal of the interface itself.
Note that this driver has been obsoleted by an ALSA equivalent.
Signed-off-by: Patrick Mochel <mochel@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This change removes the old, deprecated interface from the maestro driver,
including the pm_{,un}register() calls, the local storage of the pmdev object
and the reference to the old header files. This change is done to assist in
eradicating the users of the legacy interface so as to help facilitate the
removal of the interface itself.
The check_suspend() function and associated logic was not removed, even though
it is now unnecessary.
Note that this driver has been obsoleted by an ALSA equivalent.
Acked-by: Zach Brown <zab@zabbo.net>
Signed-off-by: Patrick Mochel <mochel@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This change removes the old, deprecated interface from the cs46xx driver,
including the pm_{,un}register() calls, the local storage of the pmdev object
and the reference to the old header files. This change is done to assist in
eradicating the users of the legacy interface so as to help facilitate the
removal of the interface itself.
Note this driver has PCI PM hooks which are set properly. It also has the
ability to trigger suspend/resume from an ioctl. This functionality was not
touched, though it could use a serious review if this driver continues to
persist in the mainline tree..
Note that this driver has been obsoleted by an ALSA equivalent.
Signed-off-by: Patrick Mochel <mochel@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This change removes the old, deprecated interface from the cs4281 driver,
including the pm_{,un}register() calls, the local storage of the pmdev object
and the reference to the old header files. This change is done to assist in
eradicating the users of the legacy interface so as to help facilitate the
removal of the interface itself.
Note that this driver has been obsoleted by an ALSA equivalent.
Note that this driver has hooks for PCI power management, but does not
implement the ->suspend()/->resume() methods.
Signed-off-by: Patrick Mochel <mochel@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This change removes the old, deprecated interface from the ad1848 driver,
including the pm_{,un}register() calls, the local storage of the pmdev object
and the reference to the old header files. This change is done to assist in
eradicating the users of the legacy interface so as to help facilitate the
removal of the interface itself.
Signed-off-by: Patrick Mochel <mochel@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Now that i2c_add_driver() doesn't need the module owner to be set by
hand, we can delete it from the drivers. This patch catches all of the
drivers that I found in the current tree (if a driver sets the .owner by
hand, it's not a problem, just not needed.)
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Jean Delvare <khali@linux-fr.org>
We should use the i2c_driver.driver's .name and .owner fields
instead of the i2c_driver's ones.
This patch updates the drivers for ppc arch.
Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
We should use the i2c_driver.driver's .name and .owner fields
instead of the i2c_driver's ones.
This patch updates the OSS drivers.
Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Just about every i2c chip driver sets the I2C_DF_NOTIFY flag, so we
can simply make it the default and drop the flag. If any driver really
doesn't want to be notified when i2c adapters are added, that driver
can simply omit to set .attach_adapter. This approach is also more
robust as it prevents accidental NULL pointer dereferences.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Update the PCMCIA sound drivers to handle the recent changes to the PCMCIA
core. A part of this merge was done by Takashi Iwai <tiwai@suse.de>.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Modules: ALSA Core
Revert the nested-device patch to keep the compatibility with the
current HAL configuration.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
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>
Modules: ARM PXA2XX driver
The SDONE and CDONE interrupt on the PXA27x might become unusable in
some conditions. Let's use an hybrid approach (interrupt with timeout)
to have the best possible behavior in all conditions.
Also let's not care about CAR_CAIP anymore. This is useless.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ALSA sequencer
Reduce the maximum possible number of global clients to 16 to make
more numbers available for card clients, and allow dynamically allocated
card client numbers to share the same range as application client
numbers to make sure that all 32 cards can be used at the same time.
Signed-off-by: Clemens Ladisch <clemens@ladisch.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: ALSA sequencer
None of the fields of struct snd_seq_kernel_client was actually used, so
remove them.
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: PPC PMAC driver
The last addition of 17' powerbook support seems buggy
(it's not Toonie indeed). Removed again.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
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: SPARC DBRI driver
Don't return errors if the proc file can't be created (for the case
without CONFIG_PROC_FS).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ALSA<-OSS emulation,ALSA sequencer,ALSA<-OSS sequencer
Optimize the code when compiled without CONFIG_PROC_FS (in seq and oss
emulation parts).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: PPC PMAC driver
The audio chip in my Spring 2005 17' PowerBook was incorrectly
recognized as an AWACS chip. This adds the chip ID to the
snd_powermac driver such that it is recognized as a Toonie (I don't
know if that's correct, but it's the only one that makes it work at
all). and sorts the ID lists numerically. NOTE: This chip is only
minimally supported at this point; it has system beep support and
very low volume speaker output, and that's about it.
Signed-off-by: Kyle Moffett <mrmacman_g4@mac.com>
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: Sound Core,Generic 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.
Fixed for the latest ALSA tree by Takashi Iwai <tiwai@suse.de>.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
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: USB generic driver
Somebody at Edirol fucked up and released a new revision of the UA-20
without class-specific descriptors, so now we have to hard-code the
sample format.
Signed-off-by: Clemens Ladisch <clemens@ladisch.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: RawMidi Midlevel
When the output buffer size is changed, runtime->avail must be
adjusted to the new size; otherwise, draining of a bigger buffer would
appear to fail because avail does not reach buffer_size.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: ALSA Core,Memalloc module,ALSA sequencer
With dynamic minor numbers, we can increase the number of sound cards.
This requires that the sequencer client numbers of some kernel drivers
are allocated dynamically, too.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: ALSA sequencer,Generic drivers
To allow increasing the maximum number of sound cards, we have to limit
the number of sequencer clients per card because client numbers are
still allocated statically.
Reducing the number of clients to four limits the number of sequencer
MIDI ports to 1024 per card.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: ALSA Core,ALSA Minor Numbers
Add an option to allocate device file minor numbers dynamically.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Instead of storing the pointers to the device-specific structures in an
array, put them into the struct snd_minor, and look them up dynamically.
This makes the device type modules independent of the minor number
encoding.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: ALSA Core
Store the snd_minor structure pointers in one array instead of using a
separate list for each card. This simplifies the mapping from device
files to minor struct by removing the need to know about the encoding
of the card number in the minor number.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Instead of a comment string, store the device type in the snd_minor
structure. This makes snd_minor more flexible, and has the nice side
effect that we don't need anymore to create a separate snd_minor
template for registering a device but can pass the file_operations
directly to snd_register_device().
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: RawMidi Midlevel
In snd_rawmidi_info_select(), check that the device identified by the
passed device number actually exists.
Signed-off-by: Clemens Ladisch <clemens@ladisch.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: PPC,PPC PMAC driver,PPC PowerMac driver
Rewrite the probe/remove with platform_device.
Move the PM support to platform_device's callbacks.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: SB16/AWE driver
Rewrite the probe/remove with platform_device.
Add PM support using PnP suspend/resume callbacks.
Signed-off-by: Takashi Iwai <tiwai@suse.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: PCM Midlevel
Add NULL check in snd_pcm_suspend*() so that the caller doesn't have to do it
by itself.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: ALSA Core,Control Midlevel,/oss/Makefile
Remove the centralized PM control in the sound core.
Each driver is responsible to get callbacks from bus/driver now.
SND_GENERIC_DRIVER is removed together with this action.
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: Common EMU synth
Pass the proper functions instead of cast of function pointers, which
can be dangerous with compiler optimizations.
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: Generic drivers
Clean up snd-dummy driver code.
- Make common PCM callbacks
- Simplify open callback
- Remove unnecessary irqsave in control callbacks
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>
Introduce a Kconfig symbol SPARC that is defined on both the sparc and
sparc64 architectures.
This symbol makes some dependencies more readable.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
We have found some issues with Au1550 AC'97 OSS driver in 2.6
(sound/oss/au1550_ac97.c), though it also should concern 2.4 driver
(drivers/sound/au1550_psc.c).
start_dac() grabs a spinlock already held by its caller, au1550_write().
This doesn't show up with the standard UP spinlock impelmentation but when
the different one (mutex based) is in use, a lockup happens.
And the interrupt handlers also didn't grab the spinlock -- that's OK in
the usual kernel but not when the IRQ handlers are threaded. So, they're
grabbing the spinlock now (as every correct interrupt handler should do).
Signed-off-by: Konstantin Baidarov <kbaidarov@ru.mvista.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Earlier I unifdefed PageCompound, so that snd_pcm_mmap_control_nopage and
others can give out a 0-order component of a higher-order page, which won't
be mistakenly freed when zap_pte_range unmaps it. But many Bad page states
reported a PG_reserved was freed after all: I had missed that we need to
say __GFP_COMP to get compound page behaviour.
Some of these higher-order pages are allocated by snd_malloc_pages, some by
snd_malloc_dev_pages; or if SBUS, by sbus_alloc_consistent - but that has
no gfp arg, so add __GFP_COMP into its sparc32/64 implementations.
I'm still rather puzzled that DRM seems not to need a similar change.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Something noticed when studying use of VM_RESERVED in different drivers:
snd_usX2Y_hwdep_pcm_vm_nopage omitted to get_page: fixed.
And how did this work before? Aargh! That nopage is returning a page from
within a buffer allocated by snd_malloc_pages, which allocates a high-order
page, then does SetPageReserved on each 0-order page within.
That would have worked in 2.6.14, because when the area was unmapped,
PageReserved inhibited put_page. 2.6.15-rc1 removed that inhibition (while
leaving ineffective PageReserveds around for now), but it hasn't caused
trouble because.. we've not been freeing from VM_RESERVED at all.
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
ever since suspend to disk works I had the problem that headphone
(un)plugging doesn't get detected properly anymore after the first
resume.
Reloading the module worked around this ever since, however the real
cause of the problem was that after a resume the driver only got
interrupts on "unplug" not on "plug". Reactivating the headphone status
interrupt in tumbler_resume fixes this. This shouldn't cause
any trouble with software suspend, but it would be nice if somebody
could confirm this:
Signed-off-by: Guido Guenther <agx@sigxcpu.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Since few people need the support anymore, this moves the legacy
pm_xxx functions to CONFIG_PM_LEGACY, and include/linux/pm_legacy.h.
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
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>
This allows us to eliminate the casts in the drivers, and eventually
remove the use of the device_driver function pointer methods for
platform device drivers.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
This patch removes almost all inclusions of linux/version.h. The 3
#defines are unused in most of the touched files.
A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
unfortunatly in linux/version.h.
There are also lots of #ifdef for long obsolete kernels, this was not
touched. In a few places, the linux/version.h include was move to where
the LINUX_VERSION_CODE was used.
quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`
search pattern:
/UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h
Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This patch schedules obsolete OSS drivers (with ALSA drivers that support
the same hardware) for removal.
Scheduling the via82cxxx driver for removal was ACK'ed by Jeff Garzik.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
sound/drivers/vx/vx_hwdep.c: In function `free_fw':
sound/drivers/vx/vx_hwdep.c:144: error: implicit declaration of function `vfree'
sound/drivers/vx/vx_hwdep.c: In function `vx_hwdep_dsp_load':
sound/drivers/vx/vx_hwdep.c:163: error: implicit declaration of function `vmalloc'
Cc: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
From: Georg Chini <georg.chini@triaton-webhosting.com>
Introduce some sbus_dma routines similar to the
ebus_dma stuff to make the code look nearly the same
for both cases.
Thanks to Christopher for testing.
Signed-off-by: David S. Miller <davem@davemloft.net>
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: USB generic driver
If we submit all our URBs when a playback stream is started, the first
hwptr_done update for each URB happens at the same time. This results
in an underrun when there isn't enough PCM data available at this
point for all URBs.
To avoid this, we begin submitting our URBs earlier (when the stream
is prepared), with empy packets. When the stream is started, the
prepare_playback_urb() call for each URB will be run only when the
respective URB has completed previously, so the first hwptr_done
updates will be done nicely staggered.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: MIPS AU1x00 driver
AMD Au1x00 ALSA driver fails compilation with the alternate spinlock
implementation because it doesn't do locking/unlocking correctly in some
places (passes spinlock by value).
Signed-off-by: Konstantin Baydarov <kbaidarov@ru.mvista.com>
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
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: HWDEP Midlevel,PCM Midlevel,RawMidi Midlevel,ALSA Core
Replace usage of CONFIG_SND_MAJOR with snd_major, where appropriate.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: ALSA Core,ALSA Minor Numbers
Remove the unused and undefined symbols SNDRV_DEVICE_TYPE_{MIXER,
PCM_PLOOP,PCM_CLOOP}, and introduce a new symbol SNDRV_MINOR_GLOBAL
for non-card-specific devices like the sequencer or the timer.
Signed-off-by: Clemens Ladisch <clemens@ladisch.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: ALSA sequencer
When no default timer frequency has been set, initialize_timer() just
uses the maximum frequency supported by the timer, which is ridiculously
high on 96 kHz timers.
This patch introduces a default frequency of 1000 Hz for this case, and
makes sure that a frequency set by the user isn't too high.
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: USB generic driver
Remove the usb_reset_configuration() call from the probe callback
because it isn't needed and it may interfere with other drivers
already loaded for the device.
Signed-off-by: Clemens Ladisch <clemens@ladisch.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: Documentation,MIPS AU1x00 driver,PPC Beep,SPARC DBRI driver
Removed the use of chip_t, which was obsoleted.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Timer Midlevel
Split or rewrite lines that are longer than 80 characters, and remove
whitespaces at the end of lines.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: Timer Midlevel
The return value of list_entry() already has the type from the second
argument, so we don't need to typecase it again.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: RTC timer driver,Timer Midlevel
Add a module pointer to the timer structure and use it for refcounting
instead of the card's module pointer to prevent the global timer
modules (rtctimer and hpetimer) from being removed while in use.
Signed-off-by: Clemens Ladisch <clemens@ladisch.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>
Modules: ALSA Core,ALSA<-OSS emulation
Remove a global function snd_task_name(), and move it local
to snd-pcm-oss module.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: Documentation,PCM Midlevel,Timer Midlevel,ALSA Core
Use the standard getnstimeofday() function instead of ALSA's own one.
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>
This patch cleans last ac97 audio/modem codec interception in
initialization procedures (ac97_mixer_new()) and removes obsolete
SHARED_TYPE 'locking' which prevents from AMC codecs to function
correctly.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: YMFPCI driver
This patch adds a new mixer control called 'IEC958 Loop' which makes
it possible to loop digital signals from S/PDIF-in to S/PDIF-out.
Signed-off-by: Glen Masgai <mimosius@gmx.de>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: ALSA sequencer
Remove the last parameter of snd_seq_timer_set_tick_resolution()
because it is always one.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: RTC timer driver
The check whether rtctimer_freq is a power of two can be done easier
with a simple bit operation.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: RTC timer driver
The rtc_inc variable is never used outside the interrupt handler, and
is always one where it matters, so we can just remove it.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: USB generic driver
Move the usb_complete_callback() compatibility wrapper out of the
kernel tree.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: USB generic driver
Move the usb_pipe_needs_resubmit() compatibility wrapper out of the
kernel tree.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: USB generic driver
Add more comments about other device modes and unsupported devices to
the Roland part of the quirks table.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: USB generic driver
Add a quirk entry for the Hercules DJ Console to ignore timeouts on
some mixer control transfers.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: USB generic driver
Simplify the handling of MIDI quirks by treating an interface without
quirks as a QUIRK_MIDI_STANDARD_INTERFACE.
This also fixes the bug where a MIDI_STANDARD quirk would not be
recognized.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: CMIPCI driver
If possible, use ports in the card's PCI port address range instead of
the legacy ports.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Modules: HDA Intel driver
This patch is to make the Intel HDA code work for NVIDIA azalia controller.
Modified by Takashi Iwai <tiwai@suse.de>
Signed-off-by: Vinod G. <vinodg@nvidia.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Modules: EMU10K1/EMU10K2 driver
Adds left and right front channel outputs using fxbus 8 and 9 and 'Front'
playback and capture volume controls.
Signed-off-by: Mikael Magnusson <mikma@users.sourceforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This adds the magic IO wakeup code for the CardBus version of the
Creative Labs Audigy 2 to the snd-emu10k1 driver.
Without the magic IO enable sequence, reading from the IO region of the
card will fail spectacularly, and the machine will hang.
My next task will be getting the driver to actually play sound without
distortion.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
[ This is a work-in-progress, but since it avoids a total lockup
if the emu10k module is loaded on a machine with the cardbus
card inserted, we're better off with it than without it, even
if sound quality is bad right now ]
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
I recently picked up my older work to remove unnecessary #includes of
sched.h, starting from a patch by Dave Jones to not include sched.h
from module.h. This reduces the number of indirect includes of sched.h
by ~300. Another ~400 pointless direct includes can be removed after
this disentangling (patch to follow later).
However, quite a few indirect includes need to be fixed up for this.
In order to feed the patches through -mm with as little disturbance as
possible, I've split out the fixes I accumulated up to now (complete for
i386 and x86_64, more archs to follow later) and post them before the real
patch. This way this large part of the patch is kept simple with only
adding #includes, and all hunks are independent of each other. So if any
hunk rejects or gets in the way of other patches, just drop it. My scripts
will pick it up again in the next round.
Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Typo fix: dots appearing after a newline in printk strings.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Removed some more references to check_region().
I checked these changes into the 'checkreg' branch of
rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git
The only valid references remaining are in:
drivers/scsi/advansys.c
drivers/scsi/BusLogic.c
drivers/cdrom/sbpcd.c
sound/oss/pss.c
Remove last vestiges of ide_check_region()
drivers/char/specialix: trim trailing whitespace
drivers/char/specialix: eliminate use of check_region()
Remove outdated and unused references to check_region()
[sound oss] remove check_region() usage from cs4232, wavfront
[netdrvr eepro] trim trailing whitespace
[netdrvr eepro] remove check_region() usage
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Remove PageReserved() calls from core code by tightening VM_RESERVED
handling in mm/ to cover PageReserved functionality.
PageReserved special casing is removed from get_page and put_page.
All setting and clearing of PageReserved is retained, and it is now flagged
in the page_alloc checks to help ensure we don't introduce any refcount
based freeing of Reserved pages.
MAP_PRIVATE, PROT_WRITE of VM_RESERVED regions is tentatively being
deprecated. We never completely handled it correctly anyway, and is be
reintroduced in future if required (Hugh has a proof of concept).
Once PageReserved() calls are removed from kernel/power/swsusp.c, and all
arch/ and driver code, the Set and Clear calls, and the PG_reserved bit can
be trivially removed.
Last real user of PageReserved is swsusp, which uses PageReserved to
determine whether a struct page points to valid memory or not. This still
needs to be addressed (a generic page_is_ram() should work).
A last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and
thus mapcounted and count towards shared rss). These writes to the struct
page could cause excessive cacheline bouncing on big systems. There are a
number of ways this could be addressed if it is an issue.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Refcount bug fix for filemap_xip.c
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Convert everyone who uses platform_bus_type to include
linux/platform_device.h.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
In PM v1, all devices were called at SUSPEND_DISABLE level. Then
all devices were called at SUSPEND_SAVE_STATE level, and finally
SUSPEND_POWER_DOWN level. However, with PM v2, to maintain
compatibility for platform devices, I arranged for the PM v2
suspend/resume callbacks to call the old PM v1 suspend/resume
callbacks three times with each level in order so that existing
drivers continued to work.
Since this is obsolete infrastructure which is no longer necessary,
we can remove it. Here's an (untested) patch to do exactly that.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The previous patch adding the ability to nest struct class_device
changed the paramaters to the call class_device_create(). This patch
fixes up all in-kernel users of the function.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The patch fixes Oops from sound drivers using generic platform device
but have no suspend/resume callbacks.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
o Added a control for the input source (which can be either
"line" or "mic")
o Mute the speaker/line-out/headphone outputs by default.
o Increased the buffer size from 10 pages to 16.
Signed-off-by: Stuart Brady <sdb@parisc-linux.org>
ALSA Harmony was resetting the capture position when
preparing the capture substream, which it shouldn't do.
This should fix the problem.
Signed-off-by: Stuart Brady <sdb@parisc-linux.org>
ALSA Harmony should no longer play junk (left in the buffers
from a previous stream) at the start of a new stream.
Implement the monitor mixer channel for ALSA Harmony.
Also prevent snd_harmony_volume_get from returning negative values.
Signed-off-by: Stuart Brady <sdb@parisc-linux.org>
Use the graveyard/silence buffers in ALSA Harmony.
Signed-off-by: Stuart Brady <sdb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
Convert pa_dev->hpa from an unsigned long to a struct resource.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Fix up users of ->hpa to use ->hpa.start instead.
Signed-off-by: Matthew Wilcox <willy@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
- added typedef unsigned int __nocast gfp_t;
- replaced __nocast uses for gfp flags with gfp_t - it gives exactly
the same warnings as far as sparse is concerned, doesn't change
generated code (from gcc point of view we replaced unsigned int with
typedef) and documents what's going on far better.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
USB generic driver
Add a quirk entry for the external MIDI ports of the
Windows Edition of the Hercules DJ Console.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add a mixer quirk entry for the Hercules DJ Console (Windows Edition)
that uses a different USB product ID.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
EMU10K1/EMU10K2 driver
Fixed the handling of ac97_chip=2 capability type.
The error occurs in snd_ac97_mixer(), not in snd_ac97_bus().
Also, release the unnecessary ac97_bus object in the error path.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
EMU10K1/EMU10K2 driver
Fixed the error at loading SBLive Game board (and possible other models).
The PCI SSIDs of this board conflicts with SB Live 5.1 Platinum, which has
no AC97 chip.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Codec driver
Mark the ALC882 'LFE Playback Switch' as an input, like the other
playback switch settings.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Codec driver
Fix a typo (cut & paste) in the alc880_test_mixer structure.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Codec driver
The ALC260 'Mono Playback Switch' is marked as an output in
patch_realtek.c. It actually does not work unless it is marked as an
input. Go figure... This was tested and confirmed on an HP xw4300.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
USB generic driver
Increase the maximum PCM buffer size to 1 MB. The USB driver doesn't
have any inherent buffer size limit, and big multichannel interfaces
may benefit from this.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
There is another revision of the PHASE26 with a different product ID;
add a quirk entry for that, too.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add a quirk entry for the Roland RD-700SX.
This should work for the RD-300SX, too.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
AC97 Codec
A single call to the driver suspend/resume method for each device is
enough. The level and SUSPEND_*/RESUME_* arguments are deprecated and
said to be removed eventually anyway (no other subsystem are using them
anymore except platform devices).
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
AC97 Codec
Don't use dev.platform_data to store a reference to the containing
ac97_t structure. Such assignment is redundent since we can deduce the
ac97_t structure location from the contained device structure. This
sets platform_data free for other purposes.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
AC97 Codec
The bus_id is initialized with a generic identifier string which is not
really useful for proper driver matching. Let the driver decide what it
needs via its probe method instead.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
USB generic driver
Add a quirk entry for the Hercules DJ Console to ignore timeouts on
some mixer control transfers.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
HDA Intel driver
Disable the auto-correction of DMA position temporarily.
It doesn't work as expected yet...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
AC97 Codec
No index is templated for si3036 modem controls.
Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
From: Christopher Zimmermann <madroach@zakweb.de>
This patch enables SBus support for the cs4231 sound driver.
It is tested on an Ultra2. Capture and playback both work.
I experienced lags and crashes using certain threaded
players like ogg123 and mp3blaster, while the former is
lagging far more. This behavior may be specific to SMP
systems. It is reproducable using the dummy sound card
driver. Sox works flawlessly.
Setting up the calculation of ptr in snd_cs4231_playback_pointer
was a bit strange. I got it to work by not incrementing the
[pc]_periods_sent counter when starting DMA the first time
in cs4231_dma_trigger. Therefore this dummy thing.
[ I did some minor cleanups -DaveM ]
Signed-off-by: David S. Miller <davem@davemloft.net>
Fix up some pm_message_t types
Signed-Off-By: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
While doing an allyesconfig build, I noticed that the commit
commit 8cdfd2519c
Author: Takashi Iwai <tiwai@suse.de>
Date: Wed Sep 7 14:08:11 2005 +0200
[ALSA] Remove superfluous PCI ID definitions
broke the RME32 and RME96 drivers, since the PCI IDs they use seem to have
changed names. Here's a patch to fix this -- compile tested only, since I
have no idea what the hardware even is.
Fix the build of the RME32 and RME96 drivers by having them use the
PCI_DEVICE_ID_RME_xxx names defined in <linux/pci_ids.h> instead of the
PCI_DEVICE_ID_xxx names that they used to define themselves.
Also fix the typo in the id PCI_DEVICE_IDRME__DIGI96_8_PAD_OR_PST so the
name is PCI_DEVICE_ID_RME_DIGI96_8_PAD_OR_PST.
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
SPARC DBRI driver
This patch contains the following fixes to the Alsa DBRI driver:
- Remove 2.6.13 build warning on the prom_getproperty() call.
- Rework command synchronization: send a sequence number with D_WAIT,
and check it in the completion interrupt.
Move synchronization delays from _cmdsend() to _cmdlock() allowing the
CPU to do other usefull things while the DBRI is processing the
commands.
- Fix first argument of printk() calls.
- Enable burst transfers for DBRI. Original 2.4 patch from Krzysztof
Helt
- Make dbri_debug module parameter writable from sysfs. Remove obsolete
write access to the /proc debug file.
- Replace udelay() with msleep_interruptible() where possible.
- Update documentation comments.
Signed-off-by: Martin Habets <errandir_news@mph.eclipse.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Documentation,Intel8x0 driver
Added buggy_semaphore module option to snd-intel8x0 driver
for a workaround for hardwards with buggy codec semaphores.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Codec driver,HDA Intel driver,HDA generic driver
Assign audio PCMs first before modem PCMs.
The modem stream is assigned up to device #6, to be consistent over
different models.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
PPC PMAC driver
Here is a patch to correct detection of the soundcard on my iBook model
(bought really recently).
Without that fix, there were only andui in the headphone, and the mixer
was totaly non functional.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ALSA Core,ALSA sequencer
Add an option to make the RTC timer the default sequencer timer. This
becomes necessary for precise MIDI timing when the system timer runs at
less than 1000 Hz.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
ALSA Core
A new function snd_card_set_generic_dev() is introduced to add the
'generic device' support for devices without proper bus on sysfs.
It's a last resort, and should be removed in future when they have
a proper bus, instead.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Intel driver
Check the validity of the current DMA position when position_fix=0 (auto)
is set. If the DMA position overcomes the threshold, the driver changes
the fix behavior automatically to use POSBUF.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ARM AACI PL041 driver,PARISC Harmony driver
Added snd_card_set_dev() calls to register the device pointer for the card.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
HDA Codec driver
Add the subsystem PCI devid to the list (on top of 2.6.13).
Signed-off-by: Davide Libenzi <davidel@xmailserver.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Opti9xx drivers
When clearing some bits in a register, don't bother with the bits that
won't be changed anyway.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
ALSA Core,RawMidi Midlevel,ALSA<-OSS emulation,ALSA sequencer
RME32 driver,RME96 driver,EMU10K1/EMU10K2 driver,NM256 driver
Add sparse annotations where we do strange this with __iomem/__user
pointers.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
USB generic driver
Add the SNDRV_PCM_INFO_BATCH flag to the PCM hardware information to
indicate that the driver uses double buffering.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
CA0106 driver,EMU10K1/EMU10K2 driver
A thread appeared on the LKML. This patch implements the fix.
Question:
in sysfs, /sys/bus/*/drivers lists the driver names, with their exported .name (eg. '.name = 'EMU10K1_Audigy'' in the module code, from now on 'driver name'). In /sys/modules, the kernel modules are listed with their module name, eg. snd_emu10k1. However, it seems to me that in sysfs, there is no way in particular to tell, which module has which .name. That is, that snd_emu10k1 is EMU10K1_Audigy and vice versa.
I wonder whether it wouldn't be possible to add a symlink to the particular module from the driver, and/or from the module to the driver, so the list of devices handled by the module and the module name would be accessible. This way, I would know which driver name corresponds to which module name and vice versa.
Answer:
For PCI drivers, just add the line:
.owner = THIS_MODULE,
to their struct pci_driver definition and you will get the symlink
created for you.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
AC97 Codec
Fix the internal speaker problem (e.g. Targa Traveller 826)
with ALC658D codec. The info is taken from Cyberlink/realtek-modified code.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
RME HDSP driver
When using the kernel firmware loader, initialize the card shortname
before registering the card with ALSA to prevent it from using a
default card ID.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
PCI drivers,AD1889 driver
move the AD1889 driver to the kernel tree
Acked-by: Thibaut Varene <varenet@parisc-linux.org>
Acked-by: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
CA0106 driver
Playback volume controls were appearing in both the playback and capture
displays of alsamixer. Now those playback controls only appear in the
playback display.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>