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>