Commit Graph

274 Commits (4f550df58f4758ea023704b409830ad9c3b47771)

Author SHA1 Message Date
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
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 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 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 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
Clemens Ladisch b7fe462204 [ALSA] highlanderize motherboard AC97/HDA drivers
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>
2005-11-04 13:17:16 +01:00
Randy Dunlap 4b0940f811 [ALSA] sound: align device drivers menus
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>
2005-11-04 13:17:08 +01:00
Sasha Khapyorsky 2ba71978c0 [ALSA] Removing obsolete AC97_SHARED_TYPES
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>
2005-11-04 13:16:59 +01:00
Sasha Khapyorsky 6632d198c6 [ALSA] dev_class=SNDRV_PCM_CLASS_MODEM for modem PCMs
dev_class=SNDRV_PCM_CLASS_MODEM for all supported softmodem PCMs

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:16:56 +01:00
Glen Masgai d602c885a6 [ALSA] ymfpci: add S/PDIF-in > S/PDIF-out loop
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>
2005-11-04 13:16:52 +01:00
Sasha Khapyorsky f2b31737e5 [ALSA] au88x0: codec access procs for multiple AC97 codecs
Modules: au88x0 driver

This patch extends au88x0 AC97 codec access procedures to handle multiple
codecs properly.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:16:24 +01:00
Jonathan Woithe a9430dd8fc [ALSA] hda-codec - A new model for Fujitsu S7020
Modules: HDA Codec driver

Added a new model 'fujitsu' to ALC260 config for Fujitsu S7020.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:16:13 +01:00
Clemens Ladisch 5747e54042 [ALSA] cmipci: use FM/MIDI ports in PCI port space
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>
2005-11-04 13:15:46 +01:00
Vinod G da3fca2199 [ALSA] hda-intel - Add NVidia support
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>
2005-11-04 13:15:45 +01:00
Takashi Iwai eb9b4142b3 [ALSA] Fix a typo
Modules: AC97 Codec

Fix a typo in the last patch.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:15:42 +01:00
Takashi Iwai 4525c9f31f [ALSA] Fix surround control of CMI9761
Modules: AC97 Codec

- Fixed surround controls of CMI9761 (model 83) in update_jacks callback.
- Clean up ad1888 and ad1985 update_jacks callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-04 13:15:39 +01:00
Mikael Magnusson edf8e4565c [ALSA] emu10k1: Front channels via fxbus 8 and 9
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>
2005-11-04 13:15:36 +01:00
James Courtier-Dutton d83c671fb7 [PATCH] Creative Audigy 2 cardbus: Add IO window wakeup magic
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>
2005-10-31 16:09:39 -08:00
Grant Coady 4153812fc1 [PATCH] pci_ids: macros: replace partial with whole symbols
pci_ids cleanup: replace symbols built by macros with whole symbols to
aid grep searches.

Signed-off-by: Grant Coady <gcoady@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

 drivers/video/cirrusfb.c |   24 ++++++++++++------------
 sound/oss/ymfpci.c       |   17 +++++++++--------
 sound/pci/bt87x.c        |   11 +++++++----
 3 files changed, 28 insertions(+), 24 deletions(-)
2005-10-28 15:36:59 -07:00
Russell King 9480e307cd [PATCH] DRIVER MODEL: Get rid of the obsolete tri-level suspend/resume callbacks
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>
2005-10-28 09:52:56 -07:00
Takashi Iwai 4d060fd169 [ALSA] ali5451 - Don't build non-existing modem PCM
ALI5451 driver
Don't build the modem PCM if the corresponding codec isn't detected.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:36 +02:00
Takashi Iwai b150869369 [ALSA] emu10k1 - Fix handling of ac97_chip=2
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>
2005-10-07 14:46:34 +02:00
Clemens Ladisch 315e3bd717 [ALSA] korg1212: fix typo
KORG1212 driver
Add a missing comma that made the stateName array one entry too short.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-10-07 14:46:33 +02:00
Takashi Iwai f12aa40c9d [ALSA] emu10k1 - Fix loading of SBLive Game board
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>
2005-10-07 14:46:26 +02:00
Takashi Iwai c66186e1c9 [ALSA] via82xx - dxs_support entry for an ASUS mobo
VIA82xx driver
Addded a dxs_support entry for an ASUS mobo.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:25 +02:00
Takashi Iwai 35451088f4 [ALSA] Fix confliction of capture controls on ALC880 test model
HDA Codec driver
Fixed the confliction of capture controls on ALC880 'test' model.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:46:24 +02:00
John W. Linville 92447f3f1a [ALSA] fix HD audio ALC882 lfe (un)mute
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>
2005-10-07 14:46:19 +02:00
John W. Linville 1c1fa8b69e [ALSA] fix alc880_test_mixer typo
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>
2005-10-07 14:46:18 +02:00
John W. Linville a7175aab3f [ALSA] fix HD audio ALC260 mono (un)mute
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>
2005-10-07 14:46:12 +02:00
Takashi Iwai db99055f8d [ALSA] via82xx - Add a dxs whitelist entry
VIA82xx driver
Added a dxs whitelist entry for an ECS mobo.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:45:48 +02:00
Nicolas Pitre 90b66e8332 [ALSA] clean suspend/resume calls for ac97_bus_type
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>
2005-10-07 14:45:46 +02:00
Nicolas Pitre 72e75de2df [ALSA] remove redundent assignment to the ac97 device structure
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>
2005-10-07 14:45:44 +02:00
Nicolas Pitre 3a91e95969 [ALSA] remove bogus match method for ac97_bus
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>
2005-10-07 14:45:35 +02:00
Takashi Iwai e8dede5a13 [ALSA] hda-intel - Disable DMA position auto-correction
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>
2005-10-07 14:45:30 +02:00
Sasha Khapyorsky 84802f0df3 [ALSA] hda-codec - 'empty' generic mfg-only codec
HDA generic driver
This creates 'empty' hda generic for unknown MFG-only codecs.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:45:29 +02:00
Sasha Khapyorsky 27bcaa693c [ALSA] no templated index for si3036 modem controls
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>
2005-10-07 14:45:27 +02:00
Sasha Khapyorsky 0444e2aca9 [ALSA] no templated index for mc97 controls
AC97 Codec
No index is templated for mdoem controls.

Signed-off-by: Sasha Khapyorsky <sashak@smlink.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-10-07 14:45:25 +02:00
Chuck Ebbert 98b4f5929c [PATCH] atiixp_modem printk fixes
Correctly identify atiixp_modem in its error messages.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-09-22 22:17:35 -07:00
Roland Dreier 8b7fc4214b [PATCH] add PCI IDs so RME32 and RME96 drivers build
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>
2005-09-14 14:34:17 -07:00
Clemens Ladisch 3bcd4649bc [ALSA] set owner field in struct pci_driver
AD1889 driver,ALS4000 driver,ATIIXP driver,ATIIXP-modem driver
AZT3328 driver,BT87x driver,CMIPCI driver,CS4281 driver
ENS1370/1+ driver,ES1938 driver,ES1968 driver,FM801 driver
Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,RME32 driver
RME96 driver,SonicVibes driver,VIA82xx driver,VIA82xx-modem driver
ALI5451 driver,au88x0 driver,CS46xx driver,EMU10K1/EMU10K2 driver
HDA Intel driver,ICE1712 driver,ICE1724 driver,KORG1212 driver
MIXART driver,NM256 driver,RME HDSP driver,RME9652 driver
Trident driver,Digigram VX222 driver,YMFPCI driver
Set the module owner field in each driver's struct pci_driver to get
the driver symlink in the sysfs device directory.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-09-12 11:12:34 +02:00
James Courtier-Dutton afe0f1f668 [ALSA] snd-emu10k1: ALSA bug#1297: Fix a error recognising the SB Live Platinum.
EMU10K1/EMU10K2 driver
The card does not have an AC97 chip.
.subsystem = 0x80611102

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
2005-09-12 10:48:32 +02:00