Commit Graph

547 Commits

Author SHA1 Message Date
Clemens Ladisch
b55bbf06e8 [ALSA] usb-audio: start submitting URBs in the prepared state
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>
2005-11-04 13:25:06 +01:00
Takashi Iwai
091e95ee7f [ALSA] ac97 - Fix confliction of DRA and surround slots
Modules: AC97 Codec

Fixed the confliction of DRA and surround slots 7/8.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:20:34 +01:00
Takashi Iwai
beef08a545 [ALSA] intel8x0 - Fix irq handler registration
Modules: Intel8x0 driver

- Request irq handler after proper initialization
- Don't override always buggy_irq option for Nvidia

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:20:31 +01:00
Konstantin Baydarov
708f997169 [ALSA] AMD Au1x00 driver: buggy spinlocks
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>
2005-11-04 13:20:26 +01:00
Karoly Lorentey
6d6f915620 [ALSA] intel8x0 - Add ac97_quirk for Dell Inspiron 8600
Modules: Intel8x0 driver

Add AC97_TUNE_HP_ONLY quirk for Dell Inspiron 8600.

Signed-off-by: Karoly Lorentey <lorentey@elte.hu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:20:24 +01:00
Andreas Mohr
d91c64c827 [ALSA] AZT3328 driver update
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>
2005-11-04 13:20:18 +01:00
Tim
fc20773329 [ALSA] Fix emu10k1 synth problems.
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>
2005-11-04 13:20:13 +01:00
Takashi Iwai
aa92c4af15 [ALSA] Fix a typo in the last fix
Modules: ALSA Core

Fix a typo (bogus check) in the last patch to fix Oops with suspend/resume.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:20:11 +01:00
Clemens Ladisch
f190286016 [ALSA] fix improper CONFIG_SND_MAJOR usage
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>
2005-11-04 13:20:08 +01:00
Clemens Ladisch
c8a7e5c40d [ALSA] usb-audio: remove superfluous include
Modules: USB generic driver

Remove a superfluous include of the sound/minors.h header.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-11-04 13:20:03 +01:00
Clemens Ladisch
3939e7142d [ALSA] clean up device types symbols
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>
2005-11-04 13:19:58 +01:00
Jesper Juhl
fc58422ad9 [ALSA] Big kfree NULL check cleanup - sound
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>
2005-11-04 13:19:55 +01:00
Nishanth Aravamudan
8433a509c0 [ALSA] Fix schedule_timeout usage
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>
2005-11-04 13:19:49 +01:00
Wei Ni
d78bec210f [ALSA] intel8x0 - fix capture for M1563
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>
2005-11-04 13:19:41 +01:00
James Courtier-Dutton
7b4260f2cc [ALSA] ca0106: Added copyright messages.
Modules: CA0106 driver

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-11-04 13:19:39 +01:00
James Courtier-Dutton
7cf4783b31 [ALSA] ca0106: Cosmetic changes.
Modules: CA0106 driver

Just tidying up the code. Making more functions static.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-11-04 13:19:37 +01:00
Takashi Iwai
d3d579f84e [ALSA] Add missing KERN_* prefix
Modules: ALSA<-OSS emulation,USB generic driver,USB USX2Y

Added missing KERN_* prefix to printk.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:19:32 +01:00
James Courtier-Dutton
8a5afd29dc [ALSA] snd-ca0106: Add midi support.
Modules: PCI drivers,CA0106 driver

Author: Tilman Kranz <tilde@tk-sls.de>

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-11-04 13:19:26 +01:00
Takashi Iwai
b0b9811956 [ALSA] hdsp - Code clean up
Modules: RME HDSP driver

- Add missing KERN_* suffix to printk.
- Clean up parentheses.
- clean up the firmware check code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:19:24 +01:00
Takashi Iwai
99b359ba10 [ALSA] Add missing KERN_* suffix to printk
Add missing KERN_* suffix to printk.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:19:23 +01:00
Takashi Iwai
8a3fb4d0ce [ALSA] Remove multi-card support for ali5451 and nm256
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>
2005-11-04 13:19:17 +01:00
Takashi Iwai
698444f317 [ALSA] Fix the type of enable module option
Fix the type of enable module option to bool.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:19:16 +01:00
John W. Linville
47530cf44c [ALSA] nm256: reset workaround for Latitude CSx
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>
2005-11-04 13:19:10 +01:00
Clemens Ladisch
d44c39acaf [ALSA] ymfpci: change timer resolution to 48 kHz
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>
2005-11-04 13:19:09 +01:00
Clemens Ladisch
87ef7779be [ALSA] seq-timer: restrict timer frequencies
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>
2005-11-04 13:19:07 +01:00
Charles R. Anderson
051b516533 [ALSA] Fix maestro3 hang after cold boot
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>
2005-11-04 13:19:06 +01:00
Takashi Iwai
c829b052de [ALSA] intel8x0 - Fix handling of module parameters
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>
2005-11-04 13:19:02 +01:00
Karsten Wiese
4f550df58f [ALSA] Reduce interrupt latency in sound/pci/via82xx.c
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>
2005-11-04 13:19:00 +01:00
Clemens Ladisch
f0597a416d [ALSA] usb-audio: don't call usb_reset_configuration() when probing
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>
2005-11-04 13:18:58 +01:00
Honza Maly
00f226d400 [ALSA] Enable DXS controls for VIA VT82xx
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>
2005-11-04 13:18:53 +01:00
Takashi Iwai
063859c854 [ALSA] Remove obsolete chip_t
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>
2005-11-04 13:18:51 +01:00
Clemens Ladisch
6b172a8538 [ALSA] timer: formatting changes
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>
2005-11-04 13:18:47 +01:00
Clemens Ladisch
9dfba38012 [ALSA] timer: remove list_entry() type casts
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>
2005-11-04 13:18:45 +01:00
Clemens Ladisch
de24214d0c [ALSA] timers: add module refcounting for global timers
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>
2005-11-04 13:18:43 +01:00
Clemens Ladisch
2fd43d1159 [ALSA] timer: fix timer instance memory allocation checks
Modules: Timer Midlevel

Add checks to return -ENOMEM in case snd_timer_instance_new() fails.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-11-04 13:18:38 +01:00
Takashi Iwai
2dfbeca9e9 [ALSA] Add support of high-rate SPDIF output
Modules: ICE1724 driver

Add support of SPDIF output with sample rates higher than 48kHz.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:18:37 +01:00
Takashi Iwai
86284e458b [ALSA] hda-codec - Get subsystem ID from AFG/MFG
Modules: HDA Codec driver

Get subsytem ID from AFG/MFG if not obtained from the root node.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:18:29 +01:00
Takashi Iwai
93b9f42637 [ALSA] es1938 - Clean up and fix trigger in PM
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>
2005-11-04 13:18:23 +01:00
Rudolf Marek
c913f69b0d [ALSA] es1938 - Fix resume
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>
2005-11-04 13:18:18 +01:00
Takashi Iwai
94651a5bf5 [ALSA] via82xx - Add DXS entry for Clevo D470
Modules: VIA82xx driver

Added the DXS entry for Clevo D470 laptop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:18:13 +01:00
Takashi Iwai
e38e0cfa48 [ALSA] Remove kmalloc wrappers
Modules: ALSA Core

Remove kmalloc wrappers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:18:08 +01:00
Takashi Iwai
b1d5776d86 [ALSA] Remove vmalloc wrapper, kfree_nocheck()
- 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>
2005-11-04 13:18:00 +01:00
Takashi Iwai
93f2e37840 [ALSA] Make snd_task_name() module local
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>
2005-11-04 13:17:54 +01:00
Takashi Iwai
07799e756c [ALSA] Use getnstimeofday()
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>
2005-11-04 13:17:47 +01:00
Takashi Iwai
7c22f1aaa2 [ALSA] Remove snd_runtime_check() macro
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>
2005-11-04 13:17:42 +01:00
Sasha Khapyorsky
f01cc521a2 [ALSA] Sasha Khapyorsky: My email address is changed, there is update.
Modules: Intel8x0-modem driver,VIA82xx-modem driver,HDA Codec driver

Signed-off-by: Sasha Khapyorsky <sashakh@alsa-project.org>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-11-04 13:17:40 +01:00
Dick Streefland
72c8986caf [ALSA] intel8x0 - enable ac97_quirk hp_only for Acer Aspire 3003LCi
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>
2005-11-04 13:17:35 +01:00
Takashi Iwai
c168143c45 [ALSA] Allow 8-44khz sample rates on Revolution 7.1
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>
2005-11-04 13:17:32 +01:00
Takashi Iwai
2b3e584b92 [ALSA] Add dummy obsoleted module options for backward compatibility
Added dummay obsoleted module options for backward compatibility
(to reduce possible bugzilla entries :)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:17:28 +01:00
Takashi Iwai
79ba34b941 [ALSA] intel8x0 - Suppress the codec warnings during probing
Modules: Intel8x0 driver

Suppress the codec warnings during probing of codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:17:26 +01:00