Commit graph

2600 commits

Author SHA1 Message Date
Takashi Iwai
b995d76da0 [ALSA] hda-codec - Add missing eeepc-p701 model for ALC662
Added the missing model string 'eeepc-p701' for ALC662 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2008-01-31 17:29:06 +01:00
Thomas Gleixner
d7c8f21a8c x86: cpa: move flush to cpa
The set_memory_* and set_pages_* family of API's currently requires the
callers to do a global tlb flush after the function call; forgetting this is
a very nasty deathtrap. This patch moves the global tlb flush into
each of the callers

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:34:07 +01:00
Arjan van de Ven
6d238cc4dc x86: convert CPA users to the new set_page_ API
This patch converts various users of change_page_attr() to the new,
more intent driven set_page_*/set_memory_* API set.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-01-30 13:34:06 +01:00
Russell King
d0d42df2a4 Merge branches 'at91', 'ep93xx', 'iop', 'kprobes', 'ks8695', 'misc', 'msm', 's3c2410', 'sa1100' and 'vfp' into devel
* at91: (24 commits)
  [ARM] 4615/4: sam926[13]ek buttons updated
  [ARM] 4765/1: [AT91] AT91CAP9A-DK board support
  [ARM] 4764/1: [AT91] AT91CAP9 core support
  [ARM] 4738/1: at91sam9261: Remove udc pullup enabling in board initialisation
  [ARM] 4761/1: [AT91] Board-support for NEW_LEDs
  [ARM] 4760/1: [AT91] SPI CS0 errata on AT91RM9200
  [ARM] 4759/1: [AT91] Buttons on CSB300
  [ARM] 4758/1: [AT91] LEDs
  [ARM] 4757/1: [AT91] UART initialization
  [ARM] 4756/1: [AT91] Makefile cleanup
  [ARM] 4755/1: [AT91] NAND update
  [ARM] 4754/1: [AT91] SSC library support
  [ARM] 4753/1: [AT91] Use DMA_BIT_MASK
  [ARM] 4752/1: [AT91] RTT, RTC and WDT peripherals on SAM9
  [ARM] 4751/1: [AT91] ISI peripheral on SAM9263
  [ARM] 4750/1: [AT91] STN LCD displays on SAM9261
  [ARM] 4734/1: at91sam9263ek: include IRQ for Ethernet PHY
  [ARM] 4646/1: AT91: configurable HZ, default to 128
  [ARM] 4688/1: at91: speed-up irq processing
  [ARM] 4657/1: AT91: Header definition update
  ...

* ep93xx:
  [ARM] 4671/1: ep93xx: remove obsolete gpio_line_* operations
  [ARM] 4670/1: ep93xx: implement IRQT_BOTHEDGE gpio irq sense type
  [ARM] 4669/1: ep93xx: simplify GPIO code and cleanups
  [ARM] 4668/1: ep93xx: implement new GPIO API

* iop:
  [ARM] 4770/1: GLAN Tank: correct physmap_flash_data width field
  [ARM] 4732/1: GLAN Tank: register rtc-rs5c372 i2c device
  [ARM] 4708/1: iop: update defconfigs for 2.6.24

* kprobes:
  ARM kprobes: let's enable it
  ARM kprobes: special hook for the kprobes breakpoint handler
  ARM kprobes: prevent some functions involved with kprobes from being probed
  ARM kprobes: don't let a single-stepped stmdb corrupt the exception stack
  ARM kprobes: add the kprobes hook to the page fault handler
  ARM kprobes: core code
  ARM kprobes: instruction single-stepping support

* ks8695:
  [ARM] 4603/1: KS8695: debugfs interface to view pin state
  [ARM] 4601/1: KS8695: PCI support

* misc:
  [ARM] remove duplicate includes
  [ARM] CONFIG_DEBUG_STACK_USAGE
  [ARM] 4689/1: small comment wrap fix
  [ARM] 4687/1: Trivial arch/arm/kernel/entry-common.S comment fix
  [ARM] 4666/1: ixp4xx: fix sparse warnings in include/asm-arm/arch-ixp4xx/io.h
  [ARM] remove reference to non-existent MTD_OBSOLETE_CHIPS
  [SERIAL] 21285: Report baud rate back via termios
  [ARM] Remove pointless casts from void pointers,
  [ARM] Misc minor interrupt handler cleanups
  [ARM] Remove at91_lcdc.h
  [ARM] ARRAY_SIZE() cleanup
  [ARM] Update mach-types

* msm:
  [ARM] msm: dma support for MSM7X00A
  [ARM] msm: board file for MACH_HALIBUT (QCT MSM7200A)
  [ARM] msm: irq and timer support for ARCH_MSM7X00A
  [ARM] msm: core platform support for ARCH_MSM7X00A

* s3c2410: (33 commits)
  [ARM] 4795/1: S3C244X: Add armclk and setparent call
  [ARM] 4794/1: S3C24XX: Comonise S3C2440 and S3C2442 clock code
  [ARM] 4793/1: S3C24XX: Add IRQ->GPIO pin mapping function
  [ARM] 4792/1: S3C24XX: Remove warnings from debug-macro.S
  [ARM] 4791/1: S3C2412: Make fclk a parent of msysclk
  [ARM] 4790/1: S3C2412: Fix parent selection for msysclk.
  [ARM] 4789/1: S3C2412: Add missing CLKDIVN register values
  [ARM] 4788/1: S3C24XX: Fix paramet to s3c2410_dma_ctrl if S3C2410_DMAF_AUTOSTART used.
  [ARM] 4787/1: S3C24XX: s3c2410_dma_request() should return the allocated channel number
  [ARM] 4786/1: S3C2412: Add SPI FIFO controll constants
  [ARM] 4785/1: S3C24XX: Add _SHIFT definitions for S3C2410_BANKCON registers
  [ARM] 4784/1: S3C24XX: Fix GPIO restore glitches
  [ARM] 4783/1: S3C24XX: Add s3c2410_gpio_getpull()
  [ARM] 4782/1: S3C24XX: Define FIQ_START for any FIQ users
  [ARM] 4781/1: S3C24XX: DMA suspend and resume support
  [ARM] 4780/1: S3C2412: Allow for seperate DMA channels for TX and RX
  [ARM] 4779/1: S3C2412: Add s3c2412_gpio_set_sleepcfg() call
  [ARM] 4778/1: S3C2412: Add armclk and init from DVS state
  [ARM] 4777/1: S3C24XX: Ensure clk_set_rate() checks the set_rate method for the clk
  [ARM] 4775/1: s3c2410: fix compilation error if only s3c2442 cpu is selected
  ...

* sa1100:
  [ARM] sa1100: add clock source support

* vfp:
  [ARM] 4584/2: ARMv7: Add Advanced SIMD (NEON) extension support
  [ARM] 4583/1: ARMv7: Add VFPv3 support
  [ARM] 4582/2: Add support for the common VFP subarchitecture
2008-01-28 13:21:21 +00:00
Jean Delvare
05c7abaeb3 i2c: Kill rogue driver IDs
I2C driver IDs are optional, so if you don't need one, just omit it.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
2008-01-27 18:14:47 +01:00
Jean Delvare
2cdddeb8d7 i2c: normal_i2c can be made const (remaining drivers)
Signed-off-by: Jean Delvare <khali@linux-fr.org>
2008-01-27 18:14:47 +01:00
Jeff Garzik
2a7057e306 [ARM] Remove pointless casts from void pointers,
mostly in and around irq handlers.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-01-26 14:50:00 +00:00
Johann Felix Soden
889c94a14e Fix file references in documentation and Kconfig
Fix typo in arch/powerpc/boot/flatdevtree_env.h.
There is no Documentation/networking/ixgbe.txt.

README.cycladesZ is now in Documentation/.
wavelan.p.h is now in drivers/net/wireless/.
HFS.txt is now Documentation/filesystems/hfs.txt.
OSS-files are now in sound/oss/.

Signed-off-by: Johann Felix Soden <johfel@users.sourceforge.net>
Acked-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-01-22 10:43:36 -08:00
Adrian Bunk
ea8e1652c5 OSS msnd: fix array overflows
Fix array overflows in the OSS msnd driver spotted by the Coverity checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-01-14 08:52:23 -08:00
Jean Delvare
22a860a9e2 snd_mixer_oss_build_input(): fix for __you_cannot_kmalloc_that_much failure with gcc-3.2
Rework this functions so that gcc-3.2 can successfully perform
constant-folding.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-01-08 16:10:36 -08:00
Linus Torvalds
d238998fbf Revert "hda_intel suspend latency: shorten codec read"
This reverts commit 57a04513cb.

Harald Dunkel reports that it broke sound for him:
  "Alsa stopped working for me.  I still can access /dev/dsp, change the
   volume and so on, but the speakers are quiet."

Reverting it fixed things for him.

Reported-and-tested-by: Harald Dunkel <harald.dunkel@t-online.de>
Acked-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-01-08 11:46:37 -08:00
Ingo Molnar
57a04513cb hda_intel suspend latency: shorten codec read
not sleeping for every codec read/write but doing a short udelay and
a conditional reschedule has cut suspend+resume latency by about 1
second on my T60.

The patch also fixes the unexpected codec-connection errors that
happen more often in the new power-save mode:
    http://lkml.org/lkml/2007/11/8/255
    http://bugzilla.kernel.org/show_bug.cgi?id=9332

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-01-06 12:35:56 -08:00
Russell King
1265edb8fd Merge branch 'pxa-fixes' 2007-12-08 14:41:29 +00:00
Michael Brunner
03d14a5536 [ARM] 4690/1: PXA: fix CKEN corruption in PXA27x AC97 cold reset code
Fix CKEN register corruption in the PXA27x cold reset code
located in sound/arm/pxa27x-ac97.c. The problem has been
introduced with a pxa_set_cken() function change in linux 2.6.23.
This patch is based on patch 4527/1 that fixes the same problem in
the ASoC PXA-AC97 driver. Additionally a definition for the CKEN
index value is added and applied to both PXA AC97 drivers.

Signed-off-by: Michael Brunner <mibru@gmx.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-12-08 14:36:06 +00:00
Takashi Iwai
aa299d01f1 [ALSA] emu10k1 - Check value ranges in ctl callbacks
Check value ranges in ctl callbacks properly.  This fixes the unexpected
crash due to wrong value assignment.
Also, remove invalid comments in the last patch.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-20 20:03:39 +01:00
James Courtier-Dutton
74415a3676 [ALSA] emu10k1: Add mixer controls parameter checking.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-20 20:03:32 +01:00
Timur Tabi
4df20535ec [ALSA] fix private data pointer calculation in CS4270 driver
Fix the calculation of the private_data pointer in the CS4270 driver.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-20 19:52:37 +01:00
Takashi Iwai
3743544624 [ALSA] portman2x4 - Fix probe error
Reported by Ingo Molnar,
when booting an allyesconfig bzImage kernel the bootup hangs in the
portman2x4 driver (on a box that does not have this hardware), at:
 Pid: 1, comm:              swapper
 EIP: 0060:[<c02f763c>] CPU: 0
 EIP is at parport_pc_read_status+0x4/0x8
  EFLAGS: 00000202    Not tainted  (2.6.23-rc9 #904)
 EAX: f7e57a7f EBX: 00000010 ECX: c2b808c0 EDX: 00000379
 ESI: f7cb8230 EDI: 00000010 EBP: f7cb8230 DS: 007b ES: 007b FS: 0000
 CR0: 8005003b CR2: fff9c000 CR3: 007ec000 CR4: 00000690
 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
 DR6: ffff0ff0 DR7: 00000400
  [<c04613de>] portman_flush_input+0xde/0x12c
  [<c0461a24>] snd_portman_probe+0x368/0x484
  [<c02fbb8c>] __device_attach+0x0/0x8
  [<c02fce68>] platform_drv_probe+0xc/0x10
  [<c02fba6c>] driver_probe_device+0x74/0x194
  [<c0587174>] klist_next+0x38/0x70
  [<c02fbb8c>] __device_attach+0x0/0x8
  [<c02faea1>] bus_for_each_drv+0x35/0x68
  [<c02fbc22>] device_attach+0x72/0x78
the reason is due to an inconsistent error return code of 1 or 2, while
snd_portman_probe only realizes negative error codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-20 19:52:19 +01:00
Takashi Iwai
3371256028 [ALSA] ca0106 - Fix write proc assignment
The driver assigns the write proc callback to read wrongly.
Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-20 19:52:14 +01:00
Krzysztof Helt
1700139acb [ALSA] s3c2443-ac97: compilation fix
The Samsung S3C24xx uses new architecture file layout in the post 2.6.23
kernel.  This patch fixes include path for the s3c2443-ac97.c.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-20 19:52:05 +01:00
Takashi Iwai
6020c008df [ALSA] hda-codec - Revert volume knob controls in STAC codecs
Volume knob controls with STAC codecs seem to cause problems with some
devices.  Volumes change very slowly or silent suddenly.  It's likely
due to conflict between the software and the hardware volume knob
setup.
Since we'll have a virtual master control in future, it's safer to
remove this control completely right now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-20 19:52:00 +01:00
Takashi Iwai
5fe619f983 [ALSA] ca0106 - Check value range in ctl callbacks
Check the value ranges in ctl put callbacks properly.
Some callbacks may access a wrong pointer depending on the value passed.
Also, fixed the access to the wrong field for enum values, and fixed
some callbacks to return the proper error code.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-19 18:41:30 +01:00
Takashi Iwai
7eba5c9dc3 [ALSA] hda-codec - Check PINCAP only for PIN widgets
The recent addition of checking PINCAP for EAPD seems to break some
systems due to unexpected response from the codec chip.  We shouldn't
issue GET_PINCAP verb to non-PIN widgets.  Now checks the widget type
before checking EAPD bit.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-19 18:38:32 +01:00
Clemens Ladisch
60fac85fff [ALSA] mpu401: fix recursive locking in timer
When the output and input ports are used at the same time, the timer can
be interrupted by the hardware interrupt, so we have to disable
interrupts when we take a lock in the timer.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-19 18:38:32 +01:00
Clemens Ladisch
56c36ca3b2 [ALSA] cmipci: fix FLINKON/OFF bits
Fix the definitions of the CM_FLINKON/CM_FLINKOFF register bits that
were garbled in the last 'update register definitions' patch.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-19 18:38:32 +01:00
Takashi Iwai
d29240ce57 [ALSA] hda-codec - Disable shared stream on AD1986A
AD1986A has a hardware problem that it cannot share a stream with
multiple pins properly.  The problem occurs e.g. when a volume is changed
during playback.
So far, hda-intel driver unconditionally assigns the stream to multiple
output pins in copy-front mode, and this should be avoided for AD1986A
codec.
The original fix patch was by zhejiang <zhe.jiang@intel.com>.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-11-19 18:38:32 +01:00
Al Viro
ea45d15394 duplicate initializer in sound/pci/hda/patch_realtek.c
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-27 22:23:06 -07:00
Jeff Garzik
5712cb3d81 [PARPORT] Remove unused 'irq' argument from parport irq functions
None of the drivers with a struct pardevice's ->irq_func() hook ever
used the 'irq' argument passed to it, so remove it.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2007-10-23 19:53:16 -04:00
Takashi Iwai
41923e4413 [ALSA] hda-codec - Fix possible array overflow
dac_nids arrays in each codec support code may have up to 5 items
when assigned from the auto-configurator.  Some codec codes have
less numbers than the possible max.  This patch defines the constant
and fixes the array definitions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:07:55 +02:00
Borislav Petkov
7507e8da2f [ALSA] sound/core/control.c: hard-irq-safe -> hard-irq-unsafe lock warning
The lock grabbed in snd_ctl_empty_read_queue() is hardirq-unsafe but we hold
an hardirq-safe one already, so make the &ctl->read_lock also hard-irq-safe.

Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:07:55 +02:00
Dawid Wrobel
31127f2eb9 [ALSA] usb-audio: Another USB mic quirk for Logitech Communicator webcam
The patch adds the USB microphone quirk for Logitech Communicator
(046d:08f5 Logitech, Inc.) webcam.

Signed-off-by: Dawid Wrobel <dawid@klej.net>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:07:55 +02:00
Takashi Iwai
35a1e0cce6 [ALSA] hda-codec - Fix build without CONFIG_SND_HDA_GENERIC
Fixed the build error from patch_sigmatel.c when built without
CONFIG_SND_HDA_GENERIC by defining a dummy function to return error.
Also, clean up hda_codec.c by removing unneeded ifdefs (the compiler
will optimize out).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:35 +02:00
Takashi Iwai
c8229c38c6 [ALSA] hda-codec - Fix Conexant 5045 volumes
Fixed the init verbs and added the missing volume controls so that
the driver works again with Conexant 5045 codec chip.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:34 +02:00
Takashi Iwai
9a2a763e08 [ALSA] hda-codec - Fix conflict of Master volume in STAC92xx codec
The addition of volume knob as Master volume resulted in conflict with
the existing one by stac92xx_auto_create_hp_ctls().
This patch fixes the conflict, and still keeps the Master control for
codecs without volume knob as much as possible.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:34 +02:00
Trent Piepho
8e84c6413a [ALSA] snd-bt87x: Make the load_all option work correctly
If the load_all option was turned on all cards would be treated as unknown,
even those which are in the database.  Of course, if the card is in the
database there is no reason to use the load_all option.  It's there to force
loading when the card isn't in the database.  But there are out of date wikis
that say to do this and some distros might turn this option on by default.
So, we keep the load_all option from turning known cards into unknown cards.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:34 +02:00
Adrian McMenamin
44e0b6821d [ALSA] protect Dreamcast PCM driver (AICA) from G2 bus effects
The G2 bus on the SEGA Dreamcast connects both the maple peripheral
bus and the AICA sound memory. DMA requests on one can cause the other
to timeout on memory operations.
This patch prevents maple interrupts from causing hiccoughs in the
AICA sound (maple bus code will land in 2.6.24).
There are other cleanups for this (AICA) code - but this is in effect
a regression fix rather than a cleanup.

Signed-off-by: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:33 +02:00
Takashi Iwai
e5ab3a7c00 [ALSA] bt87x - Fix section mismatch
const and __devinit aren't a good pair, resulting in a section
mismatch error.  Let's remove const as a temporary solution.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:32 +02:00
Takashi Iwai
53eb1b8540 [ALSA] hda-codec - Fix AD1986A Lenovo auto-mute
The jack detection bit on AD1986A Lenovo N100 seems inverse from
the standard definition.  Now fixed the detection properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:30 +02:00
Krzysztof Helt
9823adf632 [ALSA] This simplifies and fixes waiting loops of the mce_down()
function after Trent Piepho's patch for AD1848.
It also makes busy_wait() function call not atomic.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-23 08:04:28 +02:00
Mauro Carvalho Chehab
22c4a4e98e V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field
struct video_device used to define a .hardware field. While
initialized on severl drivers, this field is never used inside V4L.
However, drivers using it need to include the old V4L1 header.

This seems to cause compilation troubles with some random configs.
Better just to remove it from all drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-10-22 12:01:24 -02:00
Robert P. J. Day
3a4fa0a25d Fix misspellings of "system", "controller", "interrupt" and "necessary".
Fix the various misspellings of "system", controller", "interrupt" and
"[un]necessary".

Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Adrian Bunk <bunk@kernel.org>
2007-10-19 23:10:43 +02:00
Jiri Slaby
7b19ada2ed get rid of input BIT* duplicate defines
get rid of input BIT* duplicate defines

use newly global defined macros for input layer. Also remove includes of
input.h from non-input sources only for BIT macro definiton. Define the
macro temporarily in local manner, all those local definitons will be
removed further in this patchset (to not break bisecting).
BIT macro will be globally defined (1<<x)

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: <dtor@mail.ru>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Cc: <lenb@kernel.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Cc: <perex@suse.cz>
Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: <vernux@us.ibm.com>
Cc: <malattia@linux.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-19 11:53:42 -07:00
Joe Perches
898eb71cb1 Add missing newlines to some uses of dev_<level> messages
Found these while looking at printk uses.

Add missing newlines to dev_<level> uses
Add missing KERN_<level> prefixes to multiline dev_<level>s
Fixed a wierd->weird spelling typo
Added a newline to a printk

Signed-off-by: Joe Perches <joe@perches.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Jens Axboe <jens.axboe@oracle.com>
Cc: Mark M. Hoffman <mhoffman@lightlink.com>
Cc: Roland Dreier <rolandd@cisco.com>
Cc: Tilman Schmidt <tilman@imap.cc>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Greg KH <greg@kroah.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: David Brownell <david-b@pacbell.net>
Cc: James Smart <James.Smart@Emulex.Com>
Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Jaroslav Kysela <perex@suse.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-18 14:37:28 -07:00
Adrian Bunk
fc37449f79 The next round of scheduled OSS code removal
This patch contains the next round of scheduled OSS code removal.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-18 14:37:26 -07:00
Takashi Iwai
b875d65052 [ALSA] Fix thinko in cs4231 mce down check
The last patches to replace with schedule_timeout() don't work as expected.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:52:12 +02:00
Krzysztof Helt
56f91585b4 [ALSA] sun-cs4231: improved waiting after MCE down
This patch sync sparc driver with x86 isa cs4231 driver patches.
It fixes wrong waiting for the auto calibration bit and makes
further waiting use much finer granularity.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:52:05 +02:00
Krzysztof Helt
7e52f3dac7 [ALSA] sun-cs4231: use cs4231-regs.h
This patch replaces cs4231 registers definitions with
common include.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:45 +02:00
Krzysztof Helt
f81b953d43 [ALSA] This patch adds support for a wavetable chip on
the BTC 1817DW board.
The QS1000 is connected through the digital input
to the Opti931 chip.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:28 +02:00
Krzysztof Helt
ca2df45a07 [ALSA] This patch removes open_mutex from the ad1848-lib as
open and close operations are called only from pcm layer
and mutexed there with pcm->open_mutex.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:26 +02:00
Ingo Molnar
c2cbdbb158 [ALSA] fix bootup crash in snd_gus_interrupt()
when simulating a storm of fake GUS interrupts (without actually owning
this venerable piece of ISA hardware) the driver falls over (crashes) in
two ways:
1) spinlocks being initialized too late:
INFO: trying to register non-static key.
the code is fine but needs lockdep annotation.
turning off the locking correctness validator.
 [<401058ca>] show_trace_log_lvl+0x1a/0x30
 [<401064b2>] show_trace+0x12/0x20
 [<401064d6>] dump_stack+0x16/0x20
 [<4014a72b>] __lock_acquire+0xcfb/0x1030
 [<4014aac0>] lock_acquire+0x60/0x80
 [<40721a68>] _spin_lock_irqsave+0x38/0x50
 [<4058fc12>] snd_gf1_i_look8+0x22/0x60
 [<405906fe>] snd_gus_interrupt+0x13e/0x270
 [<401548e8>] handle_IRQ_event+0x28/0x60
 [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
 [<40107238>] do_IRQ+0x48/0xa0
 [<401051fe>] common_interrupt+0x2e/0x40
 [<40156822>] register_handler_proc+0x92/0xf0
 [<401550c2>] setup_irq+0xe2/0x190
 [<40155224>] request_irq+0xb4/0xd0
 [<4058f524>] snd_gus_create+0x124/0x3c0
 [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
 [<403f5eff>] isa_bus_probe+0x1f/0x30
 [<403f1944>] driver_probe_device+0x84/0x190
 [<403f1a58>] __device_attach+0x8/0x10
 [<403f0e63>] bus_for_each_drv+0x53/0x80
 [<403f1b1b>] device_attach+0x8b/0x90
 [<403f0dd8>] bus_attach_device+0x48/0x80
 [<403efdbd>] device_add+0x45d/0x5a0
 [<403eff12>] device_register+0x12/0x20
 [<403f60c3>] isa_register_driver+0xb3/0x140
 [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
 [<40a665c3>] kernel_init+0x133/0x310
 [<401054a7>] kernel_thread_helper+0x7/0x10
 =======================
2) callback functions not being filled in yet:
BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
00000000
*pde = 00000000
Oops: 0000 [#1]
SMP DEBUG_PAGEALLOC
CPU:    0
EIP:    0060:[<00000000>]    Not tainted VLI
EFLAGS: 00010002   (2.6.23 #37)
EIP is at 0x0
eax: 7fe94000   ebx: 7fe94000   ecx: 00000000   edx: 00000226
esi: 00000000   edi: 00000005   ebp: 7ff87c28   esp: 7ff87bf4
ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
Process swapper (pid: 1, ti=7ff86000 task=7ff84000 task.ti=7ff86000)
Stack: 40590683 408424a9 408db87c 00000029 40787406 00000064 00000046 ff000000
       000000ff 00000001 7faefaf0 00000000 00000005 7ff87c40 401548e8 00000000
       40a52000 7faefaf0 00000005 7ff87c58 40155cc1 40a52030 00000005 00000000
Call Trace:
 [<401058ca>] show_trace_log_lvl+0x1a/0x30
 [<4010598b>] show_stack_log_lvl+0xab/0xd0
 [<40105b7c>] show_registers+0x1cc/0x2d0
 [<40105d96>] die+0x116/0x240
 [<4011d7bb>] do_page_fault+0x18b/0x670
 [<40721d22>] error_code+0x72/0x80
 [<401548e8>] handle_IRQ_event+0x28/0x60
 [<40155cc1>] handle_fasteoi_irq+0x71/0xe0
 [<40107238>] do_IRQ+0x48/0xa0
 [<401051fe>] common_interrupt+0x2e/0x40
 [<401a344e>] proc_create+0x3e/0x120
 [<401a3733>] proc_mkdir_mode+0x23/0x50
 [<401a376f>] proc_mkdir+0xf/0x20
 [<40156864>] register_handler_proc+0xd4/0xf0
 [<401550c2>] setup_irq+0xe2/0x190
 [<40155224>] request_irq+0xb4/0xd0
 [<4058f524>] snd_gus_create+0x124/0x3c0
 [<40aa4087>] snd_gusclassic_probe+0x2a7/0x4b0
 [<403f5eff>] isa_bus_probe+0x1f/0x30
 [<403f1944>] driver_probe_device+0x84/0x190
 [<403f1a58>] __device_attach+0x8/0x10
 [<403f0e63>] bus_for_each_drv+0x53/0x80
 [<403f1b1b>] device_attach+0x8b/0x90
 [<403f0dd8>] bus_attach_device+0x48/0x80
 [<403efdbd>] device_add+0x45d/0x5a0
 [<403eff12>] device_register+0x12/0x20
 [<403f60c3>] isa_register_driver+0xb3/0x140
 [<40aa3dd2>] alsa_card_gusclassic_init+0x12/0x20
 [<40a665c3>] kernel_init+0x133/0x310
 [<401054a7>] kernel_thread_helper+0x7/0x10
 =======================
Code:  Bad EIP value.
EIP: [<00000000>] 0x0 SS:ESP 0068:7ff87bf4
Kernel panic - not syncing: Fatal exception in interrupt
with these things fixed, i get the expected 'no such hardware' result
from the driver initialization:
 Calling initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20()
 ALSA sound/isa/gus/gusclassic.c:136: [0x220] check 1 failed - 0xff
 initcall 0x40aa3dc0: alsa_card_gusclassic_init+0x0/0x20() returned 0.
 initcall 0x40aa3dc0 ran for 133 msecs:
 alsa_card_gusclassic_init+0x0/0x20()

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:26 +02:00
Kailang Yang
c9b58006be [ALSA] hda-codec - Fix SKU ID function for realtek codecs
Fixed SKU ID function for realtek codecs.  It's used by the automatic
BIOS configuration mode.  Now it supports the correct jack-detection
mechanism, too.

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:25 +02:00
Kailang Yang
291702f017 [ALSA] Support ASUS P701 eeepc [0x1043 0x82a1] support
Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:24 +02:00
Takashi Iwai
f6e9852ad0 [ALSA] hda-codec - Add array terminator for dmic in STAC codec
Reported by Jan-Marek Glogowski.
The dmic array is passed to snd_hda_parse_pin_def_config() and
should be zero-terminated.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:23 +02:00
Takashi Iwai
2a3988f6d2 [ALSA] hdsp - Fix zero division
Fix zero-division bug in the calculation dds offset.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:22 +02:00
Takashi Iwai
ea045ee4d3 [ALSA] usb-audio - Fix double comment
Remove superfluous comment line (maybe a merge failure).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:21 +02:00
Takashi Iwai
9066f24431 [ALSA] hda-codec - Fix STAC922x volume knob control
Reported by zhejiang <zhe.jiang@intel.com>
'I found that STAC_VOLKNOB hardwired the KNOB nid to 0x24.
It is okay for stac9205 and stac927x.
But the VolumeKnob nid of stac9220-9221 is 0x16.'

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:20 +02:00
Jaroslav Kysela
c1017a4cdb [ALSA] Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2007-10-16 16:51:18 +02:00
Takashi Iwai
39d3ed3818 [ALSA] hda-codec - Fix for Fujitsu Lifebook C1410
Fixed ALC262 fujitsu model to support Fujitsu Lifebook C1410 properly.
It requires EAPD and has separate int/ext mic inputs (which was missing
in the current driver).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:15 +02:00
Clemens Ladisch
c1099fcb74 [ALSA] mpu-401: remove MPU401_INFO_UART_ONLY flag
Since the last patch made the ENTER_UART command optional, the
enter_uart option and its corresponding flag have become superfluous.
The uart_enter option remains for backward compatibility but just prints
a warning when used.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:14 +02:00
Clemens Ladisch
69d8d3eb4d [ALSA] mpu-401: do not require an ACK byte for the ENTER_UART command
The original MPU-401 does not send an ACK byte after processing the
ENTER_UART command, so we better do not try to wait for it.
Many clones get this wrong and do send an ACK, but when interpreting it
as MIDI, it is just a harmless Active Sensing message, and it is likely
to be read and discarded by the interrupt handler before the MIDI input
device is triggered.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:12 +02:00
Takashi Iwai
11be265f7f [ALSA] via82xx - Add DXS quirk for Shuttle AK31v2
Shuttle AK31v2 works well with dxs_support=5 (ALSA bug#2926).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:11 +02:00
Takashi Iwai
a3a2f429e5 [ALSA] hda-codec - Fix input_mux numbers for vaio stac92xx
My bad, I forgot to update the num_items field when added a new item
to vaio_mux items table, so the last item 'PCM' disappeared.
Now it has the right number 3.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:11 +02:00
Tim Gardner
5e915bb367 [ALSA] hda-codec - Re-add quirk support for Dell XPS 1330 and Inspiron 1420
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:10 +02:00
Takashi Iwai
e6382cf8b0 [ALSA] pcxhr - Fix dB level information
Some dB level information is wrong in pcxhr driver according to the
datasheet.  Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:09 +02:00
Takashi Iwai
1194b5b70a [ALSA] hda-codec - Fix Gateway laptops with STAC9200
Fix the output of Gateway laptops with STAC9200 codec chip.
They require the EAPD control for some pins.  These pins shouldn't be
powered down.
To enable EAPD control, a new model 'gateway' was added to STAC9200.
The known PCI SSIDs are included in the quirk list.
The fix was originally suggested by Brian Hinz, in ALSA bug#2948.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:08 +02:00
Takashi Iwai
5513b0c582 [ALSA] hda-codec - Add zero checks in input-mux helper functions
Added zero checks in input-mux helper functions to avoid Oops.
Some devices may have no input pins while the driver registers
control elements calling these functions.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:07 +02:00
Mariusz Kozlowski
2469049e72 [ALSA] sound: snd_register_device_for_dev fix
snd_register_device_for_dev() can oops when device_create() returns
ERR_PTR(err).
Scenario:
preg->dev = device_create(...); /* fails */
if (preg->dev) /* contains ERR_PTR(err) */
	dev_set_drvdata(preg->dev, private_data);
and dev_set_drvdata() looks like this:
static inline void
dev_set_drvdata (struct device *dev, void *data)
{
	dev->driver_data = data; <--- boom
}
This patch should prevent that.

Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:06 +02:00
James Courtier-Dutton
1e74190bc0 [ALSA] snd-usb-audio: Add basic support for E-Mu USB devices.
Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:06 +02:00
Andrew Morton
6eda7cf184 [ALSA] git-alsa kconfig fix
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:04 +02:00
Randy Dunlap
213e84ec71 [ALSA] sound/hda: fix help text
Fix hda help text typo.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:03 +02:00
Peer Chen
c107106767 [ALSA] alsa: Add the MCP79 support to hda_intel driver
Add the MCP79 support to hda driver.
The patch base on kernel 2.6.23-rc7

Signed-off-by: Peer Chen <peerchen@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:02 +02:00
Takashi Iwai
4eb4550ab3 [ALSA] Workaround for invalid signature read of CS8427
Reading the signature of CS8427 over SPI/I2C fails on some devices
by mysterious reason.  In most cases, however, it succeeds at the
sequential read.  So, let's give a second chance to check the signature
again.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:01 +02:00
Kailang Yang
ac8842a039 [ALSA] hda-codec - Missing support ASUS A7J
Added the missing support for ASUS A7J [0x1043 0x1243]

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:51:00 +02:00
Kailang Yang
b60dd394f8 [ALSA] hda-codec - Fix ALC662 codec support
* Fixed ALC662 init verbs (wrong NIDs)
* Fixed ALC662 auto model issue (wrong DAC index)

Signed-off-by: Kailang Yang <kailang@realtek.com.tw>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:59 +02:00
Trent Piepho
fe1b5e874d [ALSA] ad1848: simplify MCE down code
The polling loop to check for ACI to go down was more convoluted than it
needed to be.  New loop should be more efficient and it is a lot simpler.  The
old loop checked for a timeout before checking for ACI down, which could
result in an erroneous timeout.  It's only a failure if the timeout expires
_and_ ACI is still high.  There is nothing wrong with the timeout expiring
while the task is sleeping if ACI went low.
A polling loop to check for the device to leaving INIT mode is removed.  The
device must have already left init for the previous ACI loop to have finished.
Acked-by: Rene Herman <rene.herman@gmail.com>

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:59 +02:00
Trent Piepho
b438f817b1 [ALSA] ad1848: Fix msleep while atomic
Simplest fix.
Acked-by: Rene Herman <rene.herman@gmail.com>

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:58 +02:00
Keita Maehara
43115f58e2 [ALSA] ac97: YMF743 missing controls support (2/2)
These patches enable a few YMF743 controls (Tone/3D/IEC958) that won't
be detected with the current version of ALSA.
The second one contains following changes:
- A chip-specific SPDIF support for YMF743 (It doesn't have AC97
 standard SPDIF registers seen on YMF753).
- The implementation for 'IEC958 Playback Source' and 'IEC958 Mute'
 are identical to the ones for YMF753. But there is no 'IEC958 Output
 Pin' for YMF743.

Signed-off-by: Keita Maehara <maehara@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:57 +02:00
Keita Maehara
13043984e7 [ALSA] ac97: YMF743 missing controls support (1/2)
These patches enable some YMF743 controls (Tone/3D/IEC958) that won't
be detected with the current version of ALSA.
The first one contains only cosmetic changes to share a few
YMF753-specific symbols with YMF743.

Signed-off-by: Keita Maehara <maehara@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:56 +02:00
Rene Herman
c929e5ef4f [ALSA] schedule_timeout() fix for core/seq/seq_instr.c
Replace schedule_timeout() with schedule_timeout_uninterruptible()
to avoid signals in loop.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:55 +02:00
Rene Herman
d86d01935a [ALSA] alsa-kernel: schedule_timeout() fixes
Fix schedule_timeout() use in alsa-kernel. Mostly just
	schedule_timeout(1) --> schedule_timeout_uninterruptible(1)
The wavefront_synth one fixes the surrounding loop as well. In ymfpci_main,
delete a superfluous set_current_state() and in soc/soc-dapm.c replace an
_interruptible with _uninterruptible in some debug code; it's not waiting
for signals.

Signed-off-by: Rene Herman <rene.herman>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:54 +02:00
Matthew Ranostay
b44ef2f154 [ALSA] hda: More subsystem id BIOS changes
More laptop BIOS changes the subsystem id for STAC9205 cards if the
microphone is toggled on/off in the settings.
The patch removes the old STAC_9205_M43xx and use STAC_9205_DELL_M43.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:53 +02:00
Takashi Iwai
7a5a27cfae [ALSA] Add default values for power-saving as Kconfig options
Added CONFIG_SND_AC97_POWER_SAVE_DEFAULT and CONFIG_SND_HDA_POWER_SAVE_DEFAULT
Kconfig options as the default values for power-saving mode of AC97 and
HD-audio drivers, respectively.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:51 +02:00
Krzysztof Helt
ec1e794932 [ALSA] sscape: support for audio part of VIVO cards
This patch adds support for audio part of the Ensoniq
SoundScape VIVO cards. The MIDI part is not supported.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:51 +02:00
Takashi Iwai
1ea73412b2 [ALSA] opti9xx: adjust OPL3 FM resource value
The OPTi ISA-PnP chips advertise their OPL4 base at 0x380 (to 0x3f0) through
pnp and put their on-chip OPL3 at +8. The driver assumes the provided
value is the ALBase (OPL3 address) though and checks for an OPL4 at -8,
which means that simply adding 8 to the pnp provides value works to fix
detection of both OPL3 and OPL4.
Problem spotted on 931 and 933 by Krzysztof Helt and confirmed on 924 and
925 (together all OPTi ISA-PnP chips) by me.
Signed-off-by; Rene Herman <rene.herman@gmail.com>
Acked-by: Krzysztof Helt <krzysztof.h1@wp.pl>

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:49 +02:00
Krzysztof Helt
4996bca985 [ALSA] sscape: driver extension to 2nd DMA and WSS port
This patch adds second DMA channel and WSS port settings
to the sscape driver. Also, it adds internal card type setting.
The Ensoniq SoundScape VIVO PnP id is added but not handled
yet.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:47 +02:00
Daniel Mack
ad1e34b565 [ALSA] caiaq - support for Native Instrument's RigKontrol3
This patch adds support for Native Instrument's upcoming
RigKontrol3 sound interface.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:46 +02:00
Krzysztof Helt
1cf0bc7e73 [ALSA] sc6000: 2 minor fixes
This patch zeroes buffer for the card name and
fixes incorrect jump in the probe function.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:45 +02:00
Matthias Kaehlcke
c2d7051ed1 [ALSA] Routines for effect processor FX8010: Use list_for_each_entry
Routines for effect processor FX8010: Use list_for_each_entry instead
of list_for_each

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:44 +02:00
Matthias Kaehlcke
33206e862e [ALSA] Intel HD Audio: Use list_for_each_entry(_safe)
Intel HD Audio: Use list_for_each_entry(_safe) instead of
list_for_each(_safe)

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:42 +02:00
Matthias Kaehlcke
50f47ff1b9 [ALSA] ESS Maestro 1/2/2E Sound Card: Use list_for_each_entry
ESS Maestro 1/2/2E Sound Card: Use list_for_each_entry instead of
list_for_each

Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:41 +02:00
Krzysztof Helt
f79415207e [ALSA] ad1848_lib: waiting loops done after cs4231_lib
This patch fixes ad1848_lib waiting loops to be the same as in the cs4231_lib.
Acked-by: Rene Herman <rene.herman@gmail.com>

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:40 +02:00
Andrew Morton
3a5bdee5fa [ALSA] sc6000 build fix
sound/isa/sc6000.c: In function 'sc6000_dsp_reset':
sound/isa/sc6000.c:270: error: implicit declaration of function 'udelay'        sound/isa/sc6000.c: In function 'sc6000_init_mss':
sound/isa/sc6000.c:327: error: implicit declaration of function 'msleep'
{standard input}: Assembler messages:

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:39 +02:00
Giuliano Pochini
22d3a20030 [ALSA] echoaudio - Add barrier() to prevent compiler optimization
This patch adds a barrier() to prevent the compiler from
moving the read outside of the loop. It also fixes a comment.

Signed-off-by: Giuliano Pochini <pochini@shiny.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:38 +02:00
Tobin Davis
11370ee2c1 [ALSA] hda-codec: Add two new systems to ALC883
This patch adds support for the Asus M2A-VM HDMI and Abit IP35-PRO
motherboards.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:38 +02:00
Tobin Davis
b201131c43 [ALSA] hda-codec: Add 4 channel support for Realtek ALC883
I had a request for a 4 channel mode.  This should implement front
and surround outputs, leaving the 3rd plug for mic input.

Signed-off-by: Tobin Davis <tdavis@dsl-only.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:37 +02:00
Clemens Ladisch
c36fd8c3cd [ALSA] cmipci: fix distortion on rear channels
When playing multichannel data, the rear channels can get distorted if
the last sample of the last played stereo stream was not zero.  To avoid
this, add a hack to play a few silence samples after the stream is
stopped.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:36 +02:00
Clemens Ladisch
ebe9e289d8 [ALSA] cmipci: clean up struct cmipci_pcm
Remove some unused field from the struct cmipci_pcm, and change the type
of some others to save some space.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:35 +02:00
Clemens Ladisch
0f28eca32b [ALSA] cmipci: fix lookup of double rates
When using one of the double sampling rates, use half the sample rate to
look up in the rates[] table, otherwise we stumble over the BUG().

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:34 +02:00
Clemens Ladisch
8ffbc01e2c [ALSA] cmipci: reorganize set_dac_channels()
By reorganizing the code that sets the CHB3DxC bits we can not only
simplify this code but also fix the bug where the CHB3D8C bit was not
reset when playing a stereo stream after a 7.1 stream.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:33 +02:00
Clemens Ladisch
35add1c295 [ALSA] cmipci: remove 5.0 format
Disallow playback of five channels because the hardware does not support
it (or nobody knows how to do it).

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:32 +02:00
Clemens Ladisch
22a22f5aac [ALSA] cmipci: allow 96 kHz playback on non-multichannel rear
Move the code that enables 96 kHz out of the if() that checks for
availability of both DMA channels so that it is enabled even when
another stream is playing on the front channels.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:31 +02:00
Clemens Ladisch
4ee7271718 [ALSA] cmipci: initialize 0x90 registers
Initialize the registers at 0x90 and 0x91 with some undocumented values.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:30 +02:00
Clemens Ladisch
3042ef7520 [ALSA] cmipci: reset the chip when initializing
When the chip is initialized, reset it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:30 +02:00
Clemens Ladisch
54d030cc40 [ALSA] cmipci: show more registers in proc file
Show a dump of all registers in the 0x00-0x27 and 0x90-0x93 ranges in
the 'cmipci' proc file.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:29 +02:00
Clemens Ladisch
a839a33d85 [ALSA] cmipci: update register definitions
Update comments for many register symbols, add some new register
symbols, and rename a few ones.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:28 +02:00
Clemens Ladisch
6935e68877 [ALSA] cmipci: fix version 37 detection
Use the proper value for the bit that identifies chip version 37.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:27 +02:00
Clemens Ladisch
c818e0a152 [ALSA] bt87x: fix detection of generic boards
Add an 'unknown' board type so that it is possible to differentiate
between unknown and generic boards.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:26 +02:00
Clemens Ladisch
2ea547dcdd [ALSA] usb-audio: add Ozone Academic support
Add a quirk to detect the MIDI port on the M-Audio Ozone Academic.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:26 +02:00
Jaroslav Kysela
5683bc6e9e [ALSA] SC6000 driver - add HAS_IOPORT dependency
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:24 +02:00
Takashi Iwai
f189e14cc4 [ALSA] echoaudio - Remove superfluous volatile prefix
Remove superfluous volatile prefix in the communication struct definition.
This eventually fixes the compile warnings with the recent gcc, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:23 +02:00
Krzysztof Helt
e307258d5b [ALSA] Gallant SC-6000 driver
This is port of the Gallant SC-6000 driver from the OSS aedsp16 driver.
This card was also sold as AudioExcel DSP 16 and Zoltrix AV302 (Audio
Plus True 16).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:21 +02:00
Danny Tholen
e8a7f136f5 [ALSA] hda-intel - Improve HD-audio codec probing robustness
When modem is disabled in the BIOS, detection of the number of codecs
always fails after booting if STATESTS is not cleared first.
This patch fixes this problem and also adds an error check in a place
where a read error would lead to a very large number of pointless loops.

Signed-off-by: Danny Tholen <obiwan@mailmij.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:20 +02:00
Takashi Iwai
768d8c7df8 [ALSA] pcxhr - Fix trigger start with non-linked streams
The non-linked streams couldn't be started properly due to missing
setting of stream->status.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:50:18 +02:00
Timur Tabi
bfc4e86166 [ALSA] Fix CS4270 volume control and optimize I2C operations
The volume control for the CS4270 ASoC driver was inverted - raising the
volume level with alsamixer would decrease the actual volume.
This patch also improves the performance of the I2C code (used to change
register settings) by only performing an I2C write if the new value is
different from the value that's in the register cache.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:30 +02:00
Krzysztof Helt
23d4635ed3 [ALSA] cs4231-lib: improved waiting after mce_down
This patch replaces long msleeps in waiting loops
with schedule_timeout() calls.

Signed-off-by: Krzysztof Helt <krzysztof.h1 at wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:29 +02:00
Rene Herman
d44df2d0f2 [ALSA] ad1848/cs4231: replace commented out debug code with snd-printd{,d}
While I'm at it another 'while I'm there' -- replace commented out debug
code with snd-printd{,d}.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:26 +02:00
Rene Herman
bc962efa6c [ALSA] ad1848: replace HZ calculus with msecs_to_jiffies()
If I'm not mistaken, any (new) use of HZ these days is considered a bug so
while I'm there...

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:25 +02:00
Rene Herman
90cf9b8532 [ALSA] ad1838/cs4231 - fix MCE timeout upon initial load
When the ad1848/cs2431 is first being initialized, auto-calibration may not
be set causing a timeout waiting for it in snd_ad1848/cs4231_mce_down().
This has no dire consequences other than an alarming printk, but since what
we need to wait for is for the calibration to _finish_, let's just check for
that instead.
The early chips need a slight delay (as commented -- 5 sample periods) to be
sure that _if_ calibration is going to happen, it has started when we check
While the CS4231A datasheet implies it'll happen immediately on downing MCE,
some testing is showing that there's a window there as well, so just do the
delay everywhere.
Thanks to Krysztof Helt for pinpointing this problem.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:24 +02:00
Adrian Bunk
51c80cb65f [ALSA] au88x0_synth.c bugfix
This patch fixes the code in vortex_wt_SetFrequency() to what seems to
have been intended.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:23 +02:00
Matthew Ranostay
e45e459e88 [ALSA] hda: BIOS changing subsystem id
Some laptop BIOS change the subsystem id for STAC9205 cards if the
microphone isn't toggled on/off in the settings.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:20 +02:00
Adrian Bunk
9ecf60df45 [ALSA] unexport snd_ctl_elem_{read,write}
snd_ctl_elem_{read,write} no longer have any modular users

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:19 +02:00
Krzysztof Helt
9e9abb4f1e [ALSA] sun-cs4231: checkpatch fixes
This patch fixes white spaces and issues pointed by
the checkpatch.pl script.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:18 +02:00
Trent Piepho
950fb626dc [ALSA] snd-bt87x: Power down audio ADC when not in use
Sets a bit to power down the Bt87x's internal audio ADC when the ALSA device
isn't open, or when it is in 'digital mode' using an external ADC.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:15 +02:00
Clemens Ladisch
57bd68b8b1 [ALSA] cmipci: add msbits constraint for 24-bit format
Add a msbits constraint to the SPDIF output device to indicate that
S32_LE samples use only 24 bits for data.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:14 +02:00
Takashi Iwai
8e7f00f924 [ALSA] hda-codec - Add support for Toshiba A305
Added the proper model=toshiba for Toshiba A305 with ALC268 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:13 +02:00
Takashi Iwai
96fe7cc867 [ALSA] hda-codec - Add missing Mic Boost for some ALC882 models
Mic Boost mixer volume was missing in some ALC882 models.  Added now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:12 +02:00
Trent Piepho
dcfb414032 [ALSA] snd-bt87x: Improve support for different board types
Different cards have different audio configurations, but the driver didn't
support this.  The only setting it had was the digital rate.
This patch adds a board configuration list.  Currently, configurable items are
the digital rate and the digital data format (for cards with an external ADC),
a flag for the absence of an external ADC, and a flag for no connection to the
Bt87x internal ADC.
This allows cards that don't use the internal ADC to omit the ALSA 'Bt87x
analog' device and related controls.  Cards without an external ADC can omit
the 'Bt87x digital' device.
In order to support the CS5331A ADC used on the Osprey 440 and 2x0 cards, the
digital format needs to be different than the default.
Support could be added for defining:
  The connections or lack of them to the Bt87x's internal ADC mux
  Multiple sample rates for an external ADC (e.g. Osprey)
  Control of an external mux for an external ADC (e.g. Osprey)
The card definitions for cards other than the Ospreys are kept equivalent to
their old values.  This is likely inaccurate for most cards, as it is doubtful
that both an external and the internal ADC would be used.  Lacking information
on those cards, the behavior is left unchanged.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:11 +02:00
Krzysztof Helt
6c041b5eae [ALSA] cs4231-lib: replace common delay loop by function
This patch replaces a common delay loop by a function.
It also uses ARRAY_SIZE macro for the rates table.
Acked-by: Rene Herman <rene.herman@gmail.com>

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:10 +02:00
Krzysztof Helt
8e6a2c2ec9 [ALSA] ad1848_lib: replace common delay loop by function
This patch replaces a common delay loop by a function.
It also uses ARRAY_SIZE macro for the rates table.
Acked-by: Rene Herman <rene.herman@gmail.com>

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:09 +02:00
Krzysztof Helt
ef285fe6ef [ALSA] dbri - Use linux/of.h instead of asm/prom.h
The linux/of.h header should be used instead of asm/prom.h.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:08 +02:00
Takashi Iwai
b875bf3aaf [ALSA] hda-codec - Add quirk entry for Casper CPR2000
Added the quirk entry for Casper CPR2000 (model=acer) with ALC268 codec
(ALSA bug#3343).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:07 +02:00
Takashi Iwai
0438a00e64 [ALSA] hda-codec - Add missing model names for ALC882 codecs
Added the missing model option strings for ALC882 codecs.
Also added the corresponding description in ALSA-Configuration.txt.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:06 +02:00
Takashi Iwai
914759b79e [ALSA] hda-codec - Add support for ASUS A7M
Added the support for ASUS A7M with ALC882 codec.
It's slightly different from ASUS A7J.
The patch taken from ALSA bug#3000
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3000

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:05 +02:00
Takashi Iwai
8ab78c7424 [ALSA] hda-codec - Add laptop-automute model for AD1986A
Added a new model laptop-automute for AD1986A, which has the HP jack
detection and auto-muting of the speaker.  Currently, it's used for
Lenovo N100.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:04 +02:00
Takashi Iwai
af6c016ecf [ALSA] hda-codec - Fix wrong pin config order in STAC92xx dell models
The last patch to change/add Dell models have wrong pin config orders.
This patch fixes the pin positions.
Taken from ALSA bug#3319,
	https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3319

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:01 +02:00
Takashi Iwai
8da6470efb [ALSA] hda-codec - Add support for Acer Aspire 9303
Add the entry for Acer Aspire 9303 (model=acer-aspire) with ALC883 codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 16:49:00 +02:00
Krzysztof Helt
7b85b4f088 [ALSA] sun-cs4231: memory management fix
The chip structure is now allocated by snd_card_new()
and it must not be released by separate kfree().

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:58 +02:00
Krzysztof Helt
afeacfd5f7 [ALSA] dbri: conversion to OpenFirmware framework
This patch converts the dbri driver to use OF framework.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:57 +02:00
Krzysztof Helt
cf68d212d5 [ALSA] dbri: more cleanups
This patch:
- removes redundant constant suffices
- removes redundant parentheses
- removes redundant curly brackets
- removes check if a spinlock is locked inside method which is
  only called with the spinlock locked
- moves few functions to the __init section
- removes line which appears twice after the previous patch
- minor comments improvements

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:55 +02:00
Krzysztof Helt
c6c2d57b8c [ALSA] sun-cs4231: code improvements
This patch does some code improvements to make
driver (both code and binary) shorter.
It also make use of card->private_data pointer to
store chip information.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:55 +02:00
Andres Salomon
4ea2416398 [ALSA] cs5535audio: drop unused bus master stuff
We really only care about the first two bus masters (playback and capture).
There's no need to have unused BM code lying around, so let's get rid of it.
If for some reason we trigger an IRQ for some BM that we're not using.. well,
that warrants spitting out an error message (imo).

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:54 +02:00
Andres Salomon
506ea68cd9 [ALSA] cs5535audio: fix ACC_BM[x]_CMD register handling
According to 6.3.2.7 of the cs5535/cs5536 data sheets, the ACC_BM[x]_CMD
registers are only 8 bits wide.  This driver treats them as 32 bits wide,
and also has bits in the wrong place.  Simple fix to the definitions.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:53 +02:00
Andres Salomon
1caae3682e [ALSA] cs5535audio: update PCI device handling in suspend/resume
Save the PCI state before disabling the device, and add some error checking.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:53 +02:00
Andres Salomon
222fa0b0d2 [ALSA] cs5535audio: fix PRD register save/restore power management race
In the suspend path, we currently save the PRD registers and then disable DMA.
This is racy; the sound hardware might update the PRD register as it finishes
processing some DMA pages between when we've saved the PRD registers and
when DMA actually gets disabled.  Furthermore, we actively check whether or
not DMA is enabled before saving PRD registers; there's no reason to do that,
as the PRD registers should not update when we twiddle the ACC_BM[x]_CMD
register(s).  Worst case, we save the PRD registers twice; even powering
down the ACC shouldn't mess with the PRD registers (according to the 5536
data sheet, section 5.3.7.4, power-down procedure).  This patch reworks
all that to first disable DMA, and then save PRD registers.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:52 +02:00
Andres Salomon
7abcacb09a [ALSA] cs5535audio: correctly set dma->substream
We're never actually setting dma->substream to the current substream; that
means the dma->substream checks that we do in the suspend/resume path
are never satisfied, and the PRD registers are never correctly managed.  This
changes it so that we set the substream when constructing the specific
bus master DMA, and unsetting it when we tear down the BM's DMA.

Signed-off-by: Andres Salomon <dilinger@debian.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:51 +02:00
Maxim Levitsky
9e05b7a3d9 [ALSA] hda-codec - Fix support for sigmatel codecs that have 2 or more ADCs
1) Create seperate mixer controls for each ADC
2) Make number of substreams of capture PCM device be equal to
   number of ADCs

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:50 +02:00
Maxim Levitsky
6e6b88ffea [ALSA] hda-codec - make volume knob, the master volume for sigmatel codecs
VolumeKnob is present on most sigmatel codecs, it allows to decrease
volume of all DACs at once, it is a kind of post-procesing volume.
Note that all output amps of sigmatel only decrease volume, and all
input amps only increase volume.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:50 +02:00
Maxim Levitsky
5f10c4a9a0 [ALSA] hda-codec - add support for analog loopback to STAC9204/9205/922x/927x
The analog loopback routes the sound just before it enters ADC0
to output of DAC0.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:49 +02:00
Maxim Levitsky
0fb87bb474 [ALSA] hda-codec - add support for swapping center/LFE channels to STAC codecs
Center/LFE channels are located on same jack, so it can be usefull
to swap them.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:48 +02:00
Maxim Levitsky
d804ad9258 [ALSA] hda-intel - Fix resume logic, when dynamic power managment is on
Comment in hda_intel.c states that 'the explicit resume is needed only
when POWER_SAVE isn't set', but this is not true.
There is no code that will automaticly power up the codec on resume,
but only code that powers it up when user accesses it. So if user
leaves a sound playing, codec will not be powered
To fix that I check if there are any codecs that should be powered
codec->power_count, and if so I power them up together with main
controller.

Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2007-10-16 15:59:47 +02:00