2008-07-14 09:09:28

by Jaroslav Kysela

[permalink] [raw]
Subject: [ALSA PATCH] alsa-git merge request


Linus, please pull from:

git pull git://git.alsa-project.org/alsa-kernel.git for-linus

gitweb interface:

http://git.alsa-project.org/?p=alsa-kernel.git;a=shortlog;h=for-linus

The GNU patch is available at:

ftp://ftp.alsa-project.org/pub/kernel-patches/alsa-git-for-linus-2008-07-14.patch.gz

The following files will be updated:

Documentation/sound/alsa/ALSA-Configuration.txt | 17 +-
.../sound/alsa/DocBook/writing-an-alsa-driver.tmpl | 4 +-
include/asm-mips/mach-au1x00/au1xxx_psc.h | 8 +
include/sound/ad1843.h | 46 +
include/sound/control.h | 3 -
include/sound/core.h | 8 +-
include/sound/cs4231-regs.h | 8 +
include/sound/cs4231.h | 3 +
include/sound/emu10k1.h | 1 +
include/sound/seq_kernel.h | 2 +-
include/sound/soc-dapm.h | 42 +-
include/sound/soc.h | 175 ++-
include/sound/uda1341.h | 2 -
include/sound/version.h | 4 +-
sound/Kconfig | 34 +-
sound/aoa/Kconfig | 11 +-
sound/aoa/codecs/Kconfig | 4 -
sound/aoa/fabrics/Kconfig | 1 -
sound/aoa/soundbus/Kconfig | 1 -
sound/arm/Kconfig | 21 +-
sound/arm/sa11xx-uda1341.c | 2 -
sound/core/Kconfig | 29 +-
sound/core/control.c | 7 +-
sound/core/init.c | 67 +-
sound/core/memalloc.c | 62 -
sound/core/seq/seq_clientmgr.c | 2 +-
sound/core/seq/seq_device.c | 6 +-
sound/core/sound.c | 8 +-
sound/core/timer.c | 6 +-
sound/drivers/Kconfig | 91 +-
sound/drivers/vx/vx_hwdep.c | 2 +-
sound/i2c/cs8427.c | 6 +-
sound/i2c/l3/uda1341.c | 2 -
sound/isa/Kconfig | 61 +-
sound/isa/cs423x/cs4231_lib.c | 118 ++-
sound/isa/opti9xx/opti92x-ad1848.c | 1126 +-------------
sound/isa/sb/Makefile | 2 -
sound/isa/wavefront/wavefront_synth.c | 2 +-
sound/mips/Kconfig | 27 +-
sound/mips/Makefile | 4 +
sound/mips/ad1843.c | 561 +++++++
sound/mips/hal2.c | 947 ++++++++++++
sound/mips/hal2.h | 245 +++
sound/mips/sgio2audio.c | 1006 ++++++++++++
sound/oss/Kconfig | 49 +-
sound/oss/dmasound/dmasound_core.c | 7 +-
sound/oss/dmasound/dmasound_paula.c | 2 +-
sound/oss/dmasound/dmasound_q40.c | 2 +-
sound/oss/msnd.c | 2 -
sound/oss/msnd.h | 2 -
sound/oss/msnd_classic.h | 2 -
sound/oss/msnd_pinnacle.c | 5 -
sound/oss/msnd_pinnacle.h | 2 -
sound/parisc/Kconfig | 13 +-
sound/pci/Kconfig | 104 +--
sound/pci/Makefile | 2 +-
sound/pci/ac97/Makefile | 12 +-
sound/pci/ac97/ac97_codec.c | 11 +-
sound/pci/ac97/ac97_patch.c | 81 +-
sound/pci/{ac97 => }/ak4531_codec.c | 34 +-
sound/pci/au88x0/au88x0_game.c | 2 -
sound/pci/azt3328.c | 1235 ++++++++++-----
sound/pci/azt3328.h | 207 +++-
sound/pci/ca0106/ca0106_main.c | 5 +
sound/pci/emu10k1/emu10k1_main.c | 1 +
sound/pci/emu10k1/emumixer.c | 13 +-
sound/pci/emu10k1/memory.c | 69 +-
sound/pci/hda/hda_codec.c | 2 +-
sound/pci/hda/hda_codec.h | 2 +-
sound/pci/hda/hda_hwdep.c | 2 +-
sound/pci/hda/hda_intel.c | 306 +++-
sound/pci/hda/hda_proc.c | 5 +-
sound/pci/hda/patch_analog.c | 38 +-
sound/pci/hda/patch_conexant.c | 33 +-
sound/pci/hda/patch_realtek.c | 548 +++++++-
sound/pci/hda/patch_sigmatel.c | 71 +-
sound/pci/ice1712/envy24ht.h | 10 +-
sound/pci/ice1712/ice1712.h | 2 +
sound/pci/ice1712/ice1724.c | 213 ++-
sound/pci/maestro3.c | 42 +-
sound/pci/nm256/nm256.c | 4 +-
sound/pci/oxygen/hifier.c | 33 +-
sound/pci/oxygen/oxygen.c | 76 +-
sound/pci/oxygen/oxygen.h | 14 +
sound/pci/oxygen/oxygen_io.c | 22 +-
sound/pci/oxygen/oxygen_lib.c | 106 ++-
sound/pci/oxygen/oxygen_pcm.c | 53 +-
sound/pci/oxygen/virtuoso.c | 252 ++--
sound/pci/pcxhr/pcxhr.c | 4 +-
sound/pci/pcxhr/pcxhr_core.c | 18 +-
sound/pci/trident/trident_main.c | 5 +-
sound/pci/trident/trident_memory.c | 178 ---
sound/pci/via82xx.c | 6 +
sound/pci/ymfpci/ymfpci_main.c | 2 +
sound/pcmcia/Kconfig | 15 +-
sound/pcmcia/vx/vxp_ops.c | 2 +-
sound/ppc/Kconfig | 26 +-
sound/ppc/daca.c | 2 -
sound/ppc/tumbler.c | 2 -
sound/sh/Kconfig | 16 +-
sound/soc/Kconfig | 19 +-
sound/soc/Makefile | 3 +-
sound/soc/at32/Kconfig | 34 +
sound/soc/at32/Makefile | 11 +
sound/soc/at32/at32-pcm.c | 491 ++++++
sound/soc/at32/at32-pcm.h | 79 +
sound/soc/at32/at32-ssc.c | 849 ++++++++++
sound/soc/at32/at32-ssc.h | 59 +
sound/soc/at32/playpaq_wm8510.c | 522 +++++++
sound/soc/at91/Kconfig | 2 +-
sound/soc/at91/at91-pcm.c | 6 +-
sound/soc/at91/at91-ssc.c | 12 +-
sound/soc/at91/at91-ssc.h | 2 +-
sound/soc/at91/eti_b1_wm8731.c | 53 +-
sound/soc/au1x/Kconfig | 32 +
sound/soc/au1x/Makefile | 13 +
sound/soc/au1x/dbdma2.c | 421 +++++
sound/soc/au1x/psc-ac97.c | 387 +++++
sound/soc/au1x/psc-i2s.c | 414 +++++
sound/soc/au1x/psc.h | 53 +
sound/soc/au1x/sample-ac97.c | 144 ++
sound/soc/codecs/Kconfig | 22 +-
sound/soc/codecs/Makefile | 8 +
sound/soc/codecs/ac97.c | 31 +-
sound/soc/codecs/ac97.h | 2 +-
sound/soc/codecs/ak4535.c | 696 +++++++++
sound/soc/codecs/ak4535.h | 46 +
sound/soc/codecs/cs4270.c | 8 +-
sound/soc/codecs/cs4270.h | 2 +-
sound/soc/codecs/tlv320aic3x.c | 384 +++--
sound/soc/codecs/tlv320aic3x.h | 55 +-
sound/soc/codecs/uda1380.c | 852 ++++++++++
sound/soc/codecs/uda1380.h | 89 ++
sound/soc/codecs/wm8510.c | 817 ++++++++++
sound/soc/codecs/wm8510.h | 103 ++
sound/soc/codecs/wm8731.c | 79 +-
sound/soc/codecs/wm8731.h | 2 +-
sound/soc/codecs/wm8750.c | 87 +-
sound/soc/codecs/wm8750.h | 2 +-
sound/soc/codecs/wm8753.c | 183 ++--
sound/soc/codecs/wm8753.h | 2 +-
sound/soc/codecs/wm8990.c | 1626 ++++++++++++++++++++
sound/soc/codecs/wm8990.h | 832 ++++++++++
sound/soc/codecs/wm9712.c | 53 +-
sound/soc/codecs/wm9712.h | 2 +-
sound/soc/codecs/wm9713.c | 79 +-
sound/soc/codecs/wm9713.h | 2 +-
sound/soc/davinci/Kconfig | 2 +-
sound/soc/davinci/davinci-evm.c | 40 +-
sound/soc/davinci/davinci-i2s.c | 16 +-
sound/soc/davinci/davinci-i2s.h | 2 +-
sound/soc/davinci/davinci-pcm.c | 2 +-
sound/soc/fsl/Kconfig | 6 +-
sound/soc/fsl/fsl_dma.c | 2 +-
sound/soc/fsl/fsl_dma.h | 2 +-
sound/soc/fsl/fsl_ssi.c | 24 +-
sound/soc/fsl/fsl_ssi.h | 4 +-
sound/soc/fsl/mpc8610_hpcd.c | 72 +-
sound/soc/omap/Kconfig | 4 -
sound/soc/omap/n810.c | 106 +-
sound/soc/omap/omap-mcbsp.c | 16 +-
sound/soc/omap/omap-mcbsp.h | 2 +-
sound/soc/omap/omap-pcm.c | 2 +-
sound/soc/pxa/Kconfig | 11 +-
sound/soc/pxa/Makefile | 3 +-
sound/soc/pxa/corgi.c | 70 +-
sound/soc/pxa/em-x270.c | 102 ++
sound/soc/pxa/poodle.c | 50 +-
sound/soc/pxa/pxa2xx-ac97.c | 18 +-
sound/soc/pxa/pxa2xx-ac97.h | 2 +-
sound/soc/pxa/pxa2xx-i2s.c | 17 +-
sound/soc/pxa/pxa2xx-i2s.h | 2 +-
sound/soc/pxa/pxa2xx-pcm.c | 2 +-
sound/soc/pxa/spitz.c | 91 +-
sound/soc/pxa/tosa.c | 47 +-
sound/soc/s3c24xx/Kconfig | 4 +-
sound/soc/s3c24xx/neo1973_wm8753.c | 237 ++--
sound/soc/s3c24xx/s3c2412-i2s.c | 15 +-
sound/soc/s3c24xx/s3c2412-i2s.h | 2 +-
sound/soc/s3c24xx/s3c2443-ac97.c | 15 +-
sound/soc/s3c24xx/s3c24xx-ac97.h | 2 +-
sound/soc/s3c24xx/s3c24xx-i2s.c | 25 +-
sound/soc/s3c24xx/s3c24xx-i2s.h | 2 +-
sound/soc/s3c24xx/s3c24xx-pcm.c | 6 +-
sound/soc/s3c24xx/smdk2443_wm9710.c | 3 -
sound/soc/sh/Kconfig | 5 +-
sound/soc/sh/dma-sh7760.c | 2 +-
sound/soc/sh/hac.c | 2 +-
sound/soc/sh/sh7760-ac97.c | 4 +-
sound/soc/sh/ssi.c | 8 +-
sound/soc/soc-core.c | 443 ++++--
sound/soc/soc-dapm.c | 344 ++++-
sound/sparc/Kconfig | 17 +-
sound/sparc/dbri.c | 2 +-
sound/spi/Kconfig | 13 +-
sound/usb/Kconfig | 16 +-
sound/usb/caiaq/caiaq-audio.c | 1 +
sound/usb/caiaq/caiaq-device.c | 12 +-
sound/usb/caiaq/caiaq-device.h | 1 +
sound/usb/usbaudio.c | 4 -
sound/usb/usbquirks.h | 38 +
201 files changed, 16473 insertions(+), 3893 deletions(-)
rename sound/pci/{ac97 => }/ak4531_codec.c (96%)

Adrian Bunk (6):
[ALSA] remove CVS keywords
sound: sound/oss/: remove CVS keywords
[ALSA] remove SND_GUS_SYNTH
[ALSA] usbaudio.c: remove #ifndef CONFIG_USB_EHCI_SPLIT_ISO code
ALSA: make sparc/dbri.c:snd_dbri_proc() static
sound: sound/oss/dmasound/: cleanups

Akio Idehara (1):
[ALSA] hda - Add Toshiba dynabook SS RX1 support

Andreas Mohr (2):
[ALSA] PCI168 snd-azt3328 Linux driver: another huge update
ALSA: PCI168 snd-azt3328: some more fixups

Andy Green (1):
ALSA: ASoC: Don't block system resume

Chris Mennie (1):
[ALSA] usb-audio - Support for Roland SonicCell sound module

Clemens Ladisch (12):
[ALSA] oxygen: fix version in MODULE_LICENSE
[ALSA] oxygen: add symbol for I/O space size
[ALSA] oxygen: save register writes
[ALSA] oxygen: simplify DAC volume initialization
[ALSA] oxygen: separate out hardware initialization code
[ALSA] virtuoso: add xonar_enable_output()
[ALSA] oxygen: add PM support
[ALSA] oxygen: add symbols for buffer/period size constraints
[ALSA] virtuoso: restrict period time to less than 10 s
[ALSA] ice1724: fix MIDI
ALSA: usb-audio: fix Yamaha KX quirk
ALSA: usb-audio: add some Yamaha USB MIDI quirks

Daniel Jacobowitz (1):
[ALSA] ac97 - Add virtual master control to VT1616/VT1617A codec.

Daniel Mack (3):
[ALSA] soc - tlv320aic3x - revisit clock setup
[ALSA] soc - tlv320aic3x - add GPIO support
[ALSA] snd_usb_caiaq: add support for 'Session I/O' interface

David Howells (2):
ALSA: Fix a const pointer usage warning in the Digigram VX soundcard driver
ALSA: Fix a const to non-const assignment in the Digigram VXpocket sound driver

Dmitry Baryshkov (2):
ALSA: tosa: fix compilation with new DAPM API
ALSA: ASoC: pxa2xx-ac97: fix warning due to missing argument in fuction declaration

Geoffrey Wossum (1):
[ALSA] Revised AT32 ASoC Patch

Graeme Gregory (1):
[ALSA] soc - DAPM - add hook to read state of DAPM widget

Harvey Harrison (2):
[ALSA] i2c: cs8427.c use put_unaligned helper
alsa: add annotations to bitwise type snd_pcm_hw_param_t

Jarkko Nikula (8):
[ALSA] ASoC: Convert N810 machine driver to use gpiolib
ALSA: ASoC: Cover also Nokia N810 WiMAX Edition in N810 machine driver
ALSA: ASoC: Add support for generic DAPM register modifier widget
ALSA: ASoC: TLV320AIC3X: Use register modifier widget for mic bias
ALSA: ASoC: TLV320AIC3X: Modify only interface related bits in aic3x_set_dai_fmt
ALSA: ASoC: TLV320AIC3X: Add support for digital microphone input
ALSA: ASoC: Add digital mic configuration to N810 machine driver
ALSA: ASoC: TLV320AIC3X: Add mixer control for ADC highpass filter

Jaroslav Kysela (8):
ALSA: Release v1.0.17rc1
ALSA: Release 1.0.17rc2
ALSA: Remove duplicate MODULE_AUTHOR/DESCRIPTION/LICENCE from snd-ens1370.ko
ALSA: emu10k1 - fix possible memory leak in memory allocation routines
[ALSA] Revert "alsa: add annotations to bitwise type snd_pcm_hw_param_t"
ALSA: Release v1.0.17rc3
ALSA: HDA - HP dc7600 with pci sub IDs 0x103c/0x3011 belongs to hp-3013 model
ALSA: Release v1.0.17

Jiang zhe (1):
[ALSA] hda - support intel DG33 motherboards

Johannes Berg (1):
ALSA: remove CONFIG_KMOD from sound

Juergen Beisert (1):
[ALSA] ac97: add support for wm9711 master left inv switch

Kailang Yang (6):
[ALSA] hda - Add support of Teradici controller
[ALSA] hda - Add ICH9 controller support (8086:2911)
[ALSA] hda - Add ALC663 support
[ALSA] hda - Fix vref pincap check in alc882 auto-detection
[ALSA] hda - show correct codec chip in PCM stream names
[ALSA] hda - Fix EAPD and COEF setups for realtek codecs

Krzysztof Helt (3):
[ALSA] opti93x: fix sound ouput for Opti930
ALSA: opti93x: add support for Opti93x codec in cs4231-lib
ALSA: opti93x: use cs4231 lib

Liam Girdwood (16):
ALSA: asoc: core - refactored DAPM pin control API.
ALSA: asoc: core - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: at32 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: at91 - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: davinci - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: codecs - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: fsl - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: omap - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: pxa - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: s3c24xx - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: sh - merge structs snd_soc_codec_dai and snd_soc_cpu_dai.
ALSA: asoc: core - add Digital Audio Interface (DAI) control functions.
ALSA: asoc: machines - add Digital Audio Interface (DAI) control functions.
ALSA: asoc: n810 - fix build error.
ALSA: asoc: at32 - DAI struct merge and enable_pin() change.
ALSA: asoc: kbuild - only show menus for the current ASoC CPU platform.

Manuel Lauss (2):
ALSA: ASoC: AC97 codec PM
ALSA: ASoC: Au12x0/Au1550 PSC Audio support

Mark Brown (30):
[ALSA] soc - DAPM - Add bulk control registration
[ALSA] soc - DAPM - Bulk route registration
[ALSA] soc - tlv320aic3x - Convert to use bulk registration APIs
[ALSA] soc - Zaurus - Convert to bulk DAPM registration APIs
[ALSA] soc - eti_b1_wm8731 - Convert to use bulk DAPM control registration
[ALSA] soc - neo1973_wm8753 - Convert to bulk DAPM registration APIs
[ALSA] soc - davinci-evm - Update for bulk DAPM registration APIs
[ALSA] soc - n810 - Update for bulk DAPM registration APIs
[ALSA] ASoC: Remove in-code changelogs
[ALSA] ASoC: Make CPU and codec DAI operations have same type
[ALSA] ASoC: Clarify API for bias configuration
[ALSA] ASoC: core checkpatch cleanups
[ALSA] soc - Convert Wolfson codec drivers to use bulk DAPM registration
[ALSA] ASoC: Add SOC_DOUBLE_S8_TLV control type
[ALSA] ASoC: Add WM8510 driver
[ALSA] ASoC: Add WM8990 driver
[ALSA] ASoC: Fix default mono mixer configuration for WM8510
ALSA: ASoC: Fix register cache sizes for Wolfson codecs
ALSA: ASoC: Fix register cache size for UDA1380
ALSA: ASoC: Tweak tlv320aicx reg_cache_size
ALSA: ASoC: Add missing includes
ALSA: ASoC: Pass the DAI being configured into CPU DAI probe and remove
ALSA: ASoC: Fix WM9713 voice PCM slave mode configuration
ALSA: ASoC: Check for exact register match in wm97xx_reset()
ALSA: ASoC: Replace custom debug macros with pr_ equivalents
ALSA: ASoC: Advertise 16000Hz rate for WM9713 PCM interface
ALSA: ASoC: Make pop/click debug wait times dynamically configurable
ALSA: ASoC: Fix warning from strict_strtoul()
ALSA: ASoC: Switch DAPM to use of standard DEBUG macro
ALSA: ASoC: Dump DAPM state for non-stream changes

Matthew Ranostay (3):
ALSA: hda: Add support for 92HD73xxx codecs
ALSA: hda - removed redundant gpio_mask
ALSA: hda: 92hd71bxx PC Beep

Mike Montour (3):
ALSA: ASoC: Add TLV information to remaining WM8753 controls
ALSA: ASoC: Add SOC_SINGLE_EXT_TLV control type
ALSA: ASoC: Add TLV information to the LM4857 controls on the GTA01

Mike Rapoport (2):
[ALSA] Add EM-X270 ASoC driver
ALSA: ac97 - fix patch_ucb1400 for proper resume

Milton Miller (1):
ALSA: correct kcalloc usage

Philipp Zabel (1):
[ALSA] ASoC: Add UDA1380 driver

Pierre Ossman (1):
ALSA: trident - pause s/pdif output

Randy Dunlap (1):
ALSA: ASoC: fix PM=n build

Richard Chan (1):
ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.h

Richard Purdie (1):
ALSA: ASoC: Add AK4535 driver

Stephen Rothwell (1):
[ALSA] sound: fix export symbol typo

Takashi Iwai (44):
[ALSA] Remove unneeded ugly hack for i386 in memalloc.c
[ALSA] hda - Fix DMA position inaccuracy
sound: Convert to menuconfig
[ALSA] Fix AC97 kconfig items
[ALSA] Replace CONFIG_SND_DEBUG_DETECT with CONFIG_SND_DEBUG_VERBOSE
[ALSA] Improve the slots option handling
[ALSA] Clean up sound/pci/ac97/Makefile
[ALSA] Make ak4531 local to ens1370 driver
[ALSA] trident - clean up obsolete synth codes
sound: Clean up sound/oss/Kconfig
[ALSA] trivial clean up of sound/isa/sb/Makefile
[ALSA] emu10k1 - simplify page allocation for synth
[ALSA] emu10k1 - Fix inverted Analog/Digital mixer switch on Audigy2
[ALSA] hda - Fix PLL gating control on Realtek codecs
[ALSA] hda - increase max_codecs of ICH to 4
[ALSA] ac97 - Fix power_save option value as time-out
ALSA: emu10k1 - Fix page allocation with GFP_DMA
ALSA: hda - Add bdl_pos_adj option
ALSA: hda - remove position_fix=3
ALSA: hda - bdl_pos_adj option to each instance
ALSA: hda - Fix bdl_pos_adj value for ATI SB chipsets
ALSA: hda - Add description of bdl_pos_adj option
ALSA: hda - Add a warning if pending IRQ is found
ALSA: hda - Fix stac9205_cfg_tbl
ALSA: hda - Remove unused mutex
ALSA: make snd_ctl_elem_read() and snd_ctl_elem_write() static
ALSA: hda - bdl_pos_adj=32 as default
ALSA: hda - use upper_32_bits()
ALSA: emu10k1 - simplify the last fix
ALSA: hda - Fix wrong volumes in AD1988 auto-probe mode
ALSA: ca0106 - Add entry for another MSI K8N Diamond MB
ALSA: hda - Fix digital converter proc output
ALSA: hda - Add MacBook 3.1 support
ALSA: ymfpci - fix initial volume for 44.1kHz output
ALSA: hda - disable amp override on non-HP machines
ALSA: Fix AC97 power down
ALSA: ALSA: hda - Fix ALC883 medion model
ALSA: hda - Add missing Thinkpad Z60m support
ALSA: ALSA: hda - Fix speaker output on Toshiba P105
ALSA: hda - Add support for Lenovo 3000 N200
ALSA: wavefront - add const
ALSA: hda - Fix internal mic vref pin setup
ALSA: hda - Fix missing init for unsol events on micsense model
ALSA: hda - Fix FSC V5505 model

Thomas Bogendoerfer (2):
ALSA: ALSA driver for SGI HAL2 audio device
ALSA: ALSA driver for SGI O2 audio board

Tim Niemeyer (1):
[ALSA] soc - Patch to add debug messages to the neo1973_wm8753 (GTA01) sound driver

Timur Tabi (1):
ALSA: Fix register programming in Freescale MPC8610 HPCD sound driver

Travis Place (2):
ALSA: hda - Added model selection for iMac 24"
ALSA: hda - Added SSID for 'Fujitsu Siemens Amilo M1451G' laptop

Ville Syrj?l? (1):
[ALSA] maestro3: Fix hw volume on HP OmniBook

Walter Sheets (1):
ALSA: via82xx - Add VIA audio device #1841 to ac97_quirk list

Werner Almesberger (1):
[ALSA] soc - Fix s3c24xx-i2s LR sync while timer ticks are disabled

-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.


2008-07-17 17:07:26

by Ingo Molnar

[permalink] [raw]
Subject: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"


hi Jaroslav, et al,

* Jaroslav Kysela <[email protected]> wrote:

> ALSA: opti93x: use cs4231 lib

-tip testing found the following bootup crash on latest -git:

[ 44.827459] calling alsa_card_opti9xx_init+0x0/0x20
[ 44.830435] bus: 'isa': add driver opti93x
[ 44.833503] device: 'opti93x.0': device_add
[ 44.837804] bus: 'isa': add device opti93x.0
[ 44.841820] bus: 'isa': driver_probe_device: matched device opti93x.0 with driver opti93x
[ 44.845327] bus: 'isa': really_probe: probing driver opti93x with device opti93x.0
[ 44.851601] BUG: unable to handle kernel NULL pointer dereference at 00000010
[ 44.855329] IP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40
[ 44.859370] *pde = 00000000
[ 44.862651] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
[ 44.862651]
[ 44.862651] Pid: 1, comm: swapper Not tainted (2.6.26-00085-g9f240a5-dirty #20182)
[ 44.862651] EIP: 0060:[<786c0782>] EFLAGS: 00010286 CPU: 0
[ 44.862651] EIP is at snd_card_opti9xx_free+0x12/0x40
[ 44.862651] EAX: 96892000 EBX: 00000000 ECX: 96892140 EDX: 786c0770
[ 44.862651] ESI: 9689229c EDI: 9689229c EBP: 9782fe10 ESP: 9782fe08
[ 44.862651] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 44.862651] Process swapper (pid: 1, ti=9782f000 task=97848000 task.ti=9782f000)
[ 44.862651] Stack: 96892000 00000286 9782fe1c 786a2b5b 96892000 9782fe48 786a349d 00000000
[ 44.862651] 00000286 78b34028 9688a100 00000286 9689229c fffff000 00000286 9689229c
[ 44.862651] 9782fe84 787f4b18 968922c0 9689229f 9688dc00 96892000 00000004 00000000
[ 44.862651] Call Trace:
[ 44.862651] [<786a2b5b>] ? snd_card_do_free+0x4b/0x120
[ 44.862651] [<786a349d>] ? snd_card_free+0x7d/0x90
[ 44.862651] [<787f4b18>] ? snd_opti9xx_isa_probe+0x158/0xa30
[ 44.862651] [<787f49c0>] ? snd_opti9xx_isa_probe+0x0/0xa30
[ 44.862651] [<7832580d>] ? isa_bus_probe+0x1d/0x30
[ 44.862651] [<783229c0>] ? driver_probe_device+0xa0/0x1c0
[ 44.862651] [<78322b58>] ? __device_attach+0x8/0x10
[ 44.862651] [<78321d60>] ? bus_for_each_drv+0x40/0x80
[ 44.862651] [<78322c04>] ? device_attach+0x84/0xa0
[ 44.862651] [<78322b50>] ? __device_attach+0x0/0x10
[ 44.862651] [<78321b97>] ? bus_attach_device+0x47/0x50
[ 44.862651] [<78320877>] ? device_add+0x3a7/0x500
[ 44.862651] [<783209e2>] ? device_register+0x12/0x20
[ 44.862651] [<783259c2>] ? isa_register_driver+0xa2/0x120
[ 44.862651] [<78153631>] ? ktime_get+0x11/0x30
[ 44.862651] [<78b78852>] ? alsa_card_opti9xx_init+0x12/0x20
[ 44.862651] [<78b3d679>] ? kernel_init+0x1d9/0x300
[ 44.862651] [<78b78840>] ? alsa_card_opti9xx_init+0x0/0x20
[ 44.862651] [<781192ce>] ? syscall_exit+0x8/0x28
[ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300
[ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300
[ 44.862651] [<7811a4e7>] ? kernel_thread_helper+0x7/0x10
[ 44.862651] =======================
[ 44.862651] Code: e8 8b 03 e8 11 e5 a9 ff 8b 03 5b 5d c3 b8 ff ff ff ff 5b 5d c3 8d 74 26 00 55 89 e5 56 53 8b b0 38 01 00 00 85 f6 74 21 8b 5e 1c <8b> 43 10 85 c0 7e 0f e8 32 5a aa ff 8b 43 10 89 da e8 68 5a aa
[ 44.862651] EIP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40 SS:ESP 0068:9782fe08
[ 44.866056] Kernel panic - not syncing: Fatal exception

i've bisected it down to:

| 9f240a558f94bea839e14c46c8fccf93bdd35ef6 is first bad commit
| commit 9f240a558f94bea839e14c46c8fccf93bdd35ef6
| Author: Krzysztof Helt <[email protected]>
| Date: Wed Jun 11 12:26:32 2008 +0200
|
| ALSA: opti93x: use cs4231 lib

The bisection log is:

# bad : [a3cf859f] Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
# good: [bce7f795] Linux 2.6.26
# bad : [d1794f2a] Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6
# good: [e30a44f3] x86: merge put_user.
# bad : [6c118e4c] Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
# bad : [fe0a3fed] ALSA: Release v1.0.17
# bad : [dbac7cbe] ALSA: ASoC: Add missing includes
# good: [f2690025] [ALSA] hda - Add support of Teradici controller
# good: [f10485eb] [ALSA] ASoC: Add WM8990 driver
# good: [0a1b42d5] sound: sound/oss/dmasound/: cleanups
# good: [a6a950a4] ALSA: hda - Add a warning if pending IRQ is found
# bad : [d751b231] ALSA: ASoC: Fix register cache sizes for Wolfson codecs
# bad : [9f240a56] ALSA: opti93x: use cs4231 lib
# good: [abf1f5af] ALSA: opti93x: add support for Opti93x codec in cs4231-lib

the patch below is a temporary workaround to keep my tests running.

Can send more info about the system in question - it has ISA (it's an
old Pentium-3-Coppermine based laptop) but otherwise it doesnt have
opti93x hw so the crash should be reproducible elsewhere as well.

Thanks,

Ingo

---
sound/isa/Kconfig | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig
index 5769a13..a63df4f 100644
--- a/sound/isa/Kconfig
+++ b/sound/isa/Kconfig
@@ -305,6 +305,12 @@ config SND_OPTI93X
select SND_OPL3_LIB
select SND_MPU401_UART
select SND_CS4231_LIB
+ #
+ # Crashes on bootup with this config:
+ #
+ # http://redhat.com/~mingo/misc/config-Thu_Jul_17_17_54_09_CEST_2008.bad
+ #
+ depends on 0
help
Say Y here to include support for soundcards based on Opti
82C93x chips.

2008-07-17 18:40:46

by Takashi Iwai

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

At Thu, 17 Jul 2008 19:06:57 +0200,
Ingo Molnar wrote:
>
>
> hi Jaroslav, et al,
>
> * Jaroslav Kysela <[email protected]> wrote:
>
> > ALSA: opti93x: use cs4231 lib
>
> -tip testing found the following bootup crash on latest -git:
>
> [ 44.827459] calling alsa_card_opti9xx_init+0x0/0x20
> [ 44.830435] bus: 'isa': add driver opti93x
> [ 44.833503] device: 'opti93x.0': device_add
> [ 44.837804] bus: 'isa': add device opti93x.0
> [ 44.841820] bus: 'isa': driver_probe_device: matched device opti93x.0 with driver opti93x
> [ 44.845327] bus: 'isa': really_probe: probing driver opti93x with device opti93x.0
> [ 44.851601] BUG: unable to handle kernel NULL pointer dereference at 00000010
> [ 44.855329] IP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40
> [ 44.859370] *pde = 00000000
> [ 44.862651] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC
> [ 44.862651]
> [ 44.862651] Pid: 1, comm: swapper Not tainted (2.6.26-00085-g9f240a5-dirty #20182)
> [ 44.862651] EIP: 0060:[<786c0782>] EFLAGS: 00010286 CPU: 0
> [ 44.862651] EIP is at snd_card_opti9xx_free+0x12/0x40
> [ 44.862651] EAX: 96892000 EBX: 00000000 ECX: 96892140 EDX: 786c0770
> [ 44.862651] ESI: 9689229c EDI: 9689229c EBP: 9782fe10 ESP: 9782fe08
> [ 44.862651] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
> [ 44.862651] Process swapper (pid: 1, ti=9782f000 task=97848000 task.ti=9782f000)
> [ 44.862651] Stack: 96892000 00000286 9782fe1c 786a2b5b 96892000 9782fe48 786a349d 00000000
> [ 44.862651] 00000286 78b34028 9688a100 00000286 9689229c fffff000 00000286 9689229c
> [ 44.862651] 9782fe84 787f4b18 968922c0 9689229f 9688dc00 96892000 00000004 00000000
> [ 44.862651] Call Trace:
> [ 44.862651] [<786a2b5b>] ? snd_card_do_free+0x4b/0x120
> [ 44.862651] [<786a349d>] ? snd_card_free+0x7d/0x90
> [ 44.862651] [<787f4b18>] ? snd_opti9xx_isa_probe+0x158/0xa30
> [ 44.862651] [<787f49c0>] ? snd_opti9xx_isa_probe+0x0/0xa30
> [ 44.862651] [<7832580d>] ? isa_bus_probe+0x1d/0x30
> [ 44.862651] [<783229c0>] ? driver_probe_device+0xa0/0x1c0
> [ 44.862651] [<78322b58>] ? __device_attach+0x8/0x10
> [ 44.862651] [<78321d60>] ? bus_for_each_drv+0x40/0x80
> [ 44.862651] [<78322c04>] ? device_attach+0x84/0xa0
> [ 44.862651] [<78322b50>] ? __device_attach+0x0/0x10
> [ 44.862651] [<78321b97>] ? bus_attach_device+0x47/0x50
> [ 44.862651] [<78320877>] ? device_add+0x3a7/0x500
> [ 44.862651] [<783209e2>] ? device_register+0x12/0x20
> [ 44.862651] [<783259c2>] ? isa_register_driver+0xa2/0x120
> [ 44.862651] [<78153631>] ? ktime_get+0x11/0x30
> [ 44.862651] [<78b78852>] ? alsa_card_opti9xx_init+0x12/0x20
> [ 44.862651] [<78b3d679>] ? kernel_init+0x1d9/0x300
> [ 44.862651] [<78b78840>] ? alsa_card_opti9xx_init+0x0/0x20
> [ 44.862651] [<781192ce>] ? syscall_exit+0x8/0x28
> [ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300
> [ 44.862651] [<78b3d4a0>] ? kernel_init+0x0/0x300
> [ 44.862651] [<7811a4e7>] ? kernel_thread_helper+0x7/0x10
> [ 44.862651] =======================
> [ 44.862651] Code: e8 8b 03 e8 11 e5 a9 ff 8b 03 5b 5d c3 b8 ff ff ff ff 5b 5d c3 8d 74 26 00 55 89 e5 56 53 8b b0 38 01 00 00 85 f6 74 21 8b 5e 1c <8b> 43 10 85 c0 7e 0f e8 32 5a aa ff 8b 43 10 89 da e8 68 5a aa
> [ 44.862651] EIP: [<786c0782>] snd_card_opti9xx_free+0x12/0x40 SS:ESP 0068:9782fe08
> [ 44.866056] Kernel panic - not syncing: Fatal exception
>
> i've bisected it down to:
>
> | 9f240a558f94bea839e14c46c8fccf93bdd35ef6 is first bad commit
> | commit 9f240a558f94bea839e14c46c8fccf93bdd35ef6
> | Author: Krzysztof Helt <[email protected]>
> | Date: Wed Jun 11 12:26:32 2008 +0200
> |
> | ALSA: opti93x: use cs4231 lib
>
> The bisection log is:
>
> # bad : [a3cf859f] Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
> # good: [bce7f795] Linux 2.6.26
> # bad : [d1794f2a] Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6
> # good: [e30a44f3] x86: merge put_user.
> # bad : [6c118e4c] Merge git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
> # bad : [fe0a3fed] ALSA: Release v1.0.17
> # bad : [dbac7cbe] ALSA: ASoC: Add missing includes
> # good: [f2690025] [ALSA] hda - Add support of Teradici controller
> # good: [f10485eb] [ALSA] ASoC: Add WM8990 driver
> # good: [0a1b42d5] sound: sound/oss/dmasound/: cleanups
> # good: [a6a950a4] ALSA: hda - Add a warning if pending IRQ is found
> # bad : [d751b231] ALSA: ASoC: Fix register cache sizes for Wolfson codecs
> # bad : [9f240a56] ALSA: opti93x: use cs4231 lib
> # good: [abf1f5af] ALSA: opti93x: add support for Opti93x codec in cs4231-lib
>
> the patch below is a temporary workaround to keep my tests running.
>
> Can send more info about the system in question - it has ISA (it's an
> old Pentium-3-Coppermine based laptop) but otherwise it doesnt have
> opti93x hw so the crash should be reproducible elsewhere as well.

Could you try the patch below?


thanks,

Takashi

---
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index 41c047e..d20abb2 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -688,7 +688,7 @@ static void snd_card_opti9xx_free(struct snd_card *card)
if (chip) {
#ifdef OPTi93X
struct snd_cs4231 *codec = chip->codec;
- if (codec->irq > 0) {
+ if (codec && codec->irq > 0) {
disable_irq(codec->irq);
free_irq(codec->irq, codec);
}

2008-07-17 19:19:32

by Rene Herman

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

On 17-07-08 20:40, Takashi Iwai wrote:

> Could you try the patch below?

No, please hang on, it's much simpler. Above commit isn't actually
itself guilty. Have a patch ready, but am testing a bit.

Rene.

2008-07-17 19:37:43

by Rene Herman

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

On 17-07-08 21:20, Rene Herman wrote:

> On 17-07-08 20:40, Takashi Iwai wrote:
>
>> Could you try the patch below?
>
> No, please hang on, it's much simpler. Above commit isn't actually
> itself guilty. Have a patch ready, but am testing a bit.

I retract that. Your patch should fix things.

I would like to place something on top to make the init isa/pnp choice
look more generic but I'll submit that tomorrow.

Rene.


2008-07-18 08:45:15

by Ingo Molnar

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"


* Takashi Iwai <[email protected]> wrote:

> > Can send more info about the system in question - it has ISA (it's
> > an old Pentium-3-Coppermine based laptop) but otherwise it doesnt
> > have opti93x hw so the crash should be reproducible elsewhere as
> > well.
>
> Could you try the patch below?

yeah, looks like it should fix the issue. Please consider this bug:

Tested-by: Ingo Molnar <[email protected]>
Acked-by: Ingo Molnar <[email protected]>

unless i mail about a new crash in the next 24 hours. I've queued up
your fix for testing. (and have removed the revert from the test setup)

Ingo

2008-07-18 09:17:29

by Rene Herman

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

>From fc64af262b44d41cd45fbe96be301e4662ba1c1a Mon Sep 17 00:00:00 2001
From: Rene Herman <[email protected]>
Date: Fri, 18 Jul 2008 11:15:12 +0200
Subject: [PATCH] ALSA: opti9xx: no isapnp param for !CONFIG_PNP

"isapnp" needs CONFIG_PNP to be useful.

Signed-off-by: Rene Herman <[email protected]>
---
sound/isa/opti9xx/opti92x-ad1848.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index e5d9028..5dfead9 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -68,7 +68,9 @@ MODULE_SUPPORTED_DEVICE("{{OPTi,82C924 (AD1848)},"
static int index = SNDRV_DEFAULT_IDX1; /* Index 0-MAX */
static char *id = SNDRV_DEFAULT_STR1; /* ID for this card */
//static int enable = SNDRV_DEFAULT_ENABLE1; /* Enable this card */
+#ifdef CONFIG_PNP
static int isapnp = 1; /* Enable ISA PnP detection */
+#endif
static long port = SNDRV_DEFAULT_PORT1; /* 0x530,0xe80,0xf40,0x604 */
static long mpu_port = SNDRV_DEFAULT_PORT1; /* 0x300,0x310,0x320,0x330 */
static long fm_port = SNDRV_DEFAULT_PORT1; /* 0x388 */
@@ -85,8 +87,10 @@ module_param(id, charp, 0444);
MODULE_PARM_DESC(id, "ID string for opti9xx based soundcard.");
//module_param(enable, bool, 0444);
//MODULE_PARM_DESC(enable, "Enable opti9xx soundcard.");
+#ifdef CONFIG_PNP
module_param(isapnp, bool, 0444);
MODULE_PARM_DESC(isapnp, "Enable ISA PnP detection for specified soundcard.");
+#endif
module_param(port, long, 0444);
MODULE_PARM_DESC(port, "WSS port # for opti9xx driver.");
module_param(mpu_port, long, 0444);
--
1.5.5


Attachments:
0001-ALSA-opti9xx-no-isapnp-param-for-CONFIG_PNP.patch (1.61 kB)

2008-07-18 12:24:44

by Krzysztof Helt

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

On Fri, 18 Jul 2008 11:19:19 +0200
Rene Herman <[email protected]> wrote:

> On 17-07-08 21:38, Rene Herman wrote:
>
> > On 17-07-08 21:20, Rene Herman wrote:
> >
> >> On 17-07-08 20:40, Takashi Iwai wrote:
> >>
> >>> Could you try the patch below?
> >>
>
> This bug was uncovered by !CONFIG_PNP and we had trouble in this driver
> due to that before so was rewriting the init to be a generic multi-card
> ALSA init but, actually, not much point.
>

The bug was introduced by the patch as it used (tried to free) the codec pointer
before it was assigned any value. It happened only if the card was missing and
I didn't test the driver on such a configuration. My mistake. The CONFIG_PNP
setting makes no difference.

>
> In fact, in the meantime I'll look at splitting 92x and 93x again. It's
> much better now that Krzysztof made it use the generic library code but
> I still hate this driver. It's also poking at ports without being told
> something is there by either system or user.
>

Please hold your axe until Monday. The last patch (not posted yet) from the
unification of the WSS library series removes some ifdefs in this driver.
This may (or may not) change your view on splitting the driver.

Regards,
Krzysztof

----------------------------------------------------------------------
Zobacz cala prawde o Lukaszu Podolskim!
kliknij >>> http://link.interia.pl/f1e57

2008-07-18 12:34:19

by Rene Herman

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

On 18-07-08 14:28, Krzysztof Helt wrote:

> On Fri, 18 Jul 2008 11:19:19 +0200
> Rene Herman <[email protected]> wrote:
>
>> On 17-07-08 21:38, Rene Herman wrote:
>>
>>> On 17-07-08 21:20, Rene Herman wrote:
>>>
>>>> On 17-07-08 20:40, Takashi Iwai wrote:
>>>>
>>>>> Could you try the patch below?
>> This bug was uncovered by !CONFIG_PNP and we had trouble in this driver
>> due to that before so was rewriting the init to be a generic multi-card
>> ALSA init but, actually, not much point.
>>
>
> The bug was introduced by the patch as it used (tried to free) the codec pointer
> before it was assigned any value. It happened only if the card was missing and
> I didn't test the driver on such a configuration. My mistake. The CONFIG_PNP
> setting makes no difference.

Yes it does. Note how the ISA match method fails due to "if (isapnp)"
with CONFIG_PNP and isapnp being initialized to 1. I did test without
the hardware but didn't see it fail due to that.

>> In fact, in the meantime I'll look at splitting 92x and 93x again. It's
>> much better now that Krzysztof made it use the generic library code but
>> I still hate this driver. It's also poking at ports without being told
>> something is there by either system or user.
>>
>
> Please hold your axe until Monday. The last patch (not posted yet) from the
> unification of the WSS library series removes some ifdefs in this driver.
> This may (or may not) change your view on splitting the driver.

Will do.

Rene.

2008-07-18 12:37:25

by Rene Herman

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"

On 18-07-08 14:36, Rene Herman wrote:

> On 18-07-08 14:28, Krzysztof Helt wrote:
>
>> On Fri, 18 Jul 2008 11:19:19 +0200
>> Rene Herman <[email protected]> wrote:
>>
>>> On 17-07-08 21:38, Rene Herman wrote:
>>>
>>>> On 17-07-08 21:20, Rene Herman wrote:
>>>>
>>>>> On 17-07-08 20:40, Takashi Iwai wrote:
>>>>>
>>>>>> Could you try the patch below?
>>> This bug was uncovered by !CONFIG_PNP and we had trouble in this
>>> driver due to that before so was rewriting the init to be a generic
>>> multi-card ALSA init but, actually, not much point.
>>>
>>
>> The bug was introduced by the patch as it used (tried to free) the
>> codec pointer
>> before it was assigned any value. It happened only if the card was
>> missing and
>> I didn't test the driver on such a configuration. My mistake. The
>> CONFIG_PNP
>> setting makes no difference.
>
> Yes it does. Note how the ISA match method fails due to "if (isapnp)"
> with CONFIG_PNP and isapnp being initialized to 1. I did test without
> the hardware but didn't see it fail due to that.

(but please note, yes, "uncovered", not "caused". the bug was indeed in
this commit and was fixed by Takashi).

Rene.

2008-07-18 20:16:24

by Ingo Molnar

[permalink] [raw]
Subject: Re: [boot crash, bisected] in 9f240a55 "ALSA: opti93x: use cs4231 lib"


* Rene Herman <[email protected]> wrote:

> On 17-07-08 21:38, Rene Herman wrote:
>
>> On 17-07-08 21:20, Rene Herman wrote:
>>
>>> On 17-07-08 20:40, Takashi Iwai wrote:
>>>
>>>> Could you try the patch below?
>>>
>>> No, please hang on, it's much simpler. Above commit isn't actually
>>> itself guilty. Have a patch ready, but am testing a bit.
>>
>> I retract that. Your patch should fix things.
>
> It does. Acked/Tested-by: Rene Herman <[email protected]>

box survived dozens of reboots so the fix from yesterday indeed did the
trick.

thanks,

Ingo

2008-08-25 05:50:57

by Takashi Iwai

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

At Sun, 24 Aug 2008 23:30:08 +0200,
Guillaume Chazarain wrote:
>
> On Mon, Jul 14, 2008 at 11:09 AM, Jaroslav Kysela <[email protected]> wrote:
> > ALSA: hda - Added model selection for iMac 24"
>
> This commit introduces a regression from 2.6.26 on my MacBookPro 3,1.
> I lose the "Front" mixer entry but this I don't mind.
> The actual regression is that when I plug headphones, the internal
> speakers are not muted anymore so I hear the sound from both outputs
> (headphones & internal). Reverting this commit fixes the problem for
> me.

OK, this must be a conflict of PCI SSID. Apple seems to assign the
same PCI SSID for completely different models.

I guess it's fixed as well by passing model=auto?

Anyway, please run alsa-info.sh with --no-upload option, and attach
the generated file. The script is found in
http://www.alsa-project.org/alsa-info.sh

thanks,

Takashi

2008-08-24 21:30:26

by Guillaume Chazarain

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Mon, Jul 14, 2008 at 11:09 AM, Jaroslav Kysela <[email protected]> wrote:
> ALSA: hda - Added model selection for iMac 24"

This commit introduces a regression from 2.6.26 on my MacBookPro 3,1.
I lose the "Front" mixer entry but this I don't mind.
The actual regression is that when I plug headphones, the internal
speakers are not muted anymore so I hear the sound from both outputs
(headphones & internal). Reverting this commit fixes the problem for
me.

Thanks.

commit 3e0e469fa216ec70c93b1593821b759d19ee2e6b
Author: Travis Place <[email protected]>
Date: Fri Jun 20 16:51:45 2008 +0200

ALSA: hda - Added model selection for iMac 24"

Added the SSID of a known iMac 24" to automatically use
ALC885_IMAC24 quirk.

Signed-off-by: Travis Place <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Jaroslav Kysela <[email protected]>

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 61f8c13..d96a876 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6192,6 +6192,7 @@ static struct snd_pci_quirk alc882_cfg_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG),
SND_PCI_QUIRK(0x1043, 0x81d8, "Asus P5WD", ALC882_6ST_DIG),
SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC882_6ST_DIG),
+ SND_PCI_QUIRK(0x106b, 0x00a0, "Apple iMac 24''", ALC885_IMAC24),
SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG),
SND_PCI_QUIRK(0x1462, 0x28fb, "Targa T8", ALC882_TARGA), /*
MSI-1049 T8 */
SND_PCI_QUIRK(0x1462, 0x6668, "MSI", ALC882_6ST_DIG),



--
Guillaume

2008-08-25 21:37:10

by Guillaume Chazarain

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Mon, Aug 25, 2008 at 7:50 AM, Takashi Iwai <[email protected]> wrote:
> I guess it's fixed as well by passing model=auto?

Indeed that works too.

> Anyway, please run alsa-info.sh with --no-upload option, and attach
> the generated file.

Here you go.

Thanks.

--
Guillaume


Attachments:
(No filename) (276.00 B)
alsa-info-bad.txt (22.16 kB)
alsa-info-good.txt (24.74 kB)
Download all attachments

2008-08-25 22:44:18

by Guillaume Chazarain

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Mon, Aug 25, 2008 at 11:36 PM, Guillaume Chazarain <[email protected]> wrote:
> On Mon, Aug 25, 2008 at 7:50 AM, Takashi Iwai <[email protected]> wrote:
>> I guess it's fixed as well by passing model=auto?
>
> Indeed that works too.

I spoke too soon, with model=auto I get back the "Front" mixer that I
used during the git bisection to find the culprit, but I get no sound
at all in the plugged in headphones or the internal speakers.

>> Anyway, please run alsa-info.sh with --no-upload option, and attach
>> the generated file.

alsa-info-good.txt actually contained the output of alsa-info.sh with
model=auto, so it's not good.
Here is the output with the commit reverted, so sound is working.
Looks like the revert brings back the "Speaker" switch which I need.

Sorry for the confusion.

--
Guillaume


Attachments:
(No filename) (807.00 B)
alsa-info.sounds_working.txt (25.94 kB)
Download all attachments

2008-08-26 05:59:39

by Takashi Iwai

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

At Tue, 26 Aug 2008 00:43:59 +0200,
Guillaume Chazarain wrote:
>
> On Mon, Aug 25, 2008 at 11:36 PM, Guillaume Chazarain <[email protected]> wrote:
> > On Mon, Aug 25, 2008 at 7:50 AM, Takashi Iwai <[email protected]> wrote:
> >> I guess it's fixed as well by passing model=auto?
> >
> > Indeed that works too.
>
> I spoke too soon, with model=auto I get back the "Front" mixer that I
> used during the git bisection to find the culprit, but I get no sound
> at all in the plugged in headphones or the internal speakers.

This is odd.
Are you sure both are the same kernel but just one commit reverted?


Takashi

2008-08-26 21:11:12

by Guillaume Chazarain

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

On Tue, Aug 26, 2008 at 7:59 AM, Takashi Iwai <[email protected]> wrote:
> Are you sure both are the same kernel but just one commit reverted?

I retested, yes.
With or without the revert, model=auto disables sound completely, and
I get this in dmesg:

HDA Intel 0000:00:1b.0: PCI INT A disabled
HDA Intel 0000:00:1b.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
HDA Intel 0000:00:1b.0: setting latency timer to 64
ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:2325: hda_codec:
model 'auto' is selected
ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3021: autoconfig:
line_outs=1 (0x14/0x0/0x0/0x0/0x0)
ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3025:
speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3029: hp_outs=1
(0x15/0x0/0x0/0x0/0x0)
ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3030: mono: mono_out=0x0
ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3038: inputs:
mic=0x18, fmic=0x0, line=0x1a, fline=0x0, cd=0x0, aux=0x0

I played with model=intel-mac-auto and model=intel-mac-v3 but it had
no effect, i.e. same as without the model= parameter.

So, without model=auto the problem is that I get the output on both
the internal speakers and the headphones, and this is fixed by
reverting the commit.

Thanks.

--
Guillaume

2008-08-27 06:02:21

by Takashi Iwai

[permalink] [raw]
Subject: Re: [ALSA PATCH] alsa-git merge request

At Tue, 26 Aug 2008 23:10:55 +0200,
Guillaume Chazarain wrote:
>
> On Tue, Aug 26, 2008 at 7:59 AM, Takashi Iwai <[email protected]> wrote:
> > Are you sure both are the same kernel but just one commit reverted?
>
> I retested, yes.

Thanks for confirmation!

> With or without the revert, model=auto disables sound completely, and
> I get this in dmesg:
>
> HDA Intel 0000:00:1b.0: PCI INT A disabled
> HDA Intel 0000:00:1b.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20
> HDA Intel 0000:00:1b.0: setting latency timer to 64
> ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:2325: hda_codec:
> model 'auto' is selected
> ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3021: autoconfig:
> line_outs=1 (0x14/0x0/0x0/0x0/0x0)
> ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3025:
> speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
> ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3029: hp_outs=1
> (0x15/0x0/0x0/0x0/0x0)
> ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3030: mono: mono_out=0x0
> ALSA /home/g/linux-2.6/sound/pci/hda/hda_codec.c:3038: inputs:
> mic=0x18, fmic=0x0, line=0x1a, fline=0x0, cd=0x0, aux=0x0
>
> I played with model=intel-mac-auto and model=intel-mac-v3 but it had
> no effect, i.e. same as without the model= parameter.
>
> So, without model=auto the problem is that I get the output on both
> the internal speakers and the headphones, and this is fixed by
> reverting the commit.

Then this is really a PCI SSID conflict, and reverting the patch is
the right fix (and possibly addition of check of codec SID).

I fixed it now on my tree, and will include it in the next pull
request.


thanks,

Takashi