OSDN Git Service

uclinux-h8/linux.git
12 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 1 Dec 2011 12:51:18 +0000 (13:51 +0100)]
Merge branch 'fix/hda' into topic/hda

12 years agoALSA: hda - Fix S3/S4 problem on machines with VREF-pin mute-LED
Charles Chin [Thu, 1 Dec 2011 10:21:00 +0000 (11:21 +0100)]
ALSA: hda - Fix S3/S4 problem on machines with VREF-pin mute-LED

The verb command in stac92xx_post_suspend caused the audio to stop
working after resuming from S3 mode on HP laptops with the VREF-pin
mute-LED control.  Removing relevant post_suspend registering.

Although removing D3 on AFG is no optimal solution, the impact should
be small in comparison with the broken S3/S4.

Signed-off-by: Charles Chin <Charles.Chin@idt.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda_intel - revert a quirk that affect VIA chipsets
Marc Vertes [Tue, 29 Nov 2011 11:21:17 +0000 (12:21 +0100)]
ALSA: hda_intel - revert a quirk that affect VIA chipsets

This quirk sould be reverted. It has the following probems:

1) The quirk was intended to "ASUS MV2-MX SE" motherboards only, but the
ID used matches a much broader range, potentially all boards containing a
VIA chipset model in the family of vendor VIA 0x1106 and audio device ID
0x3288, which encompasses VIA-VT82xx, VIA-VT1xx and VIA-VT20xx chipsets.

2) VIA chipsets rely on azx_via_get_position() to handle correctly dma
transfers during capture. Using POS_FIX_LPIB instead of POS_FIX_VIACOMBO
leads to partially corrupted input buffers during capture. The effects
of this bug are not immediately visible, it took strong DSP expertise,
some expensive signal generator and a spectrum analyzer to identify it
and verify correct behaviour using original default.

3) It's almost certain that the quirk did not fix the real problem,
if there was one. Refer to original submission:
http://mailman.alsa-project.org/pipermail/alsa-devel/2010-February/025109.html

Signed-of-by: Marc Vertes <mvertes@sigfox.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - Avoid touching mute-VREF pin for IDT codecs
Takashi Iwai [Tue, 29 Nov 2011 12:01:30 +0000 (13:01 +0100)]
ALSA: hda - Avoid touching mute-VREF pin for IDT codecs

Some HP laptops use a pin VREF for controlling the mute LED, and such a
pin shouldn't be powered off.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: usb-audio - Support for Roland GAIA SH-01 Synthesizer
John F Leach [Tue, 29 Nov 2011 00:41:27 +0000 (19:41 -0500)]
ALSA: usb-audio - Support for Roland GAIA SH-01 Synthesizer

Added table quirks entry for Roland GAIA SH-01 Synthesizer based upon
Roland SH-201 table entry as template.  USB MIDI and audio was tested
with Muse and Audacity.

Signed-off-by: John F Leach <jfleach@jfleach.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoMerge branch 'fix/hda' into for-linus
Takashi Iwai [Sun, 27 Nov 2011 16:59:07 +0000 (17:59 +0100)]
Merge branch 'fix/hda' into for-linus

12 years agoALSA: hda - Fix jack-detection control of VT1708
Takashi Iwai [Thu, 24 Nov 2011 15:33:09 +0000 (16:33 +0100)]
ALSA: hda - Fix jack-detection control of VT1708

VT1708 has no support for unsolicited events per jack-plug, the driver
implements the workq for polling the jack-detection.  The mixer element
"Jack Detect" was supposed to control this behavior on/off, but this
doesn't work properly as is now.  The workq is always started and the
HP automute is always enabled.

This patch fixes the jack-detect control behavior by triggering / stopping
the work appropriately at the state change.  Also the work checks the
internal state to continue scheduling or not.

Cc: <stable@kernel.org> [v3.1]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - cut and paste typo in cs420x_models[]
Dan Carpenter [Thu, 24 Nov 2011 11:48:24 +0000 (14:48 +0300)]
ALSA: hda - cut and paste typo in cs420x_models[]

The CS420X_IMAC27 was copied from the line before but CS420X_APPLE
was clearly intented.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - Increase the max number of coverters/pins in patch_hdmi.c
Takashi Iwai [Thu, 24 Nov 2011 13:44:19 +0000 (14:44 +0100)]
ALSA: hda - Increase the max number of coverters/pins in patch_hdmi.c

The new hardware tends to have more and more.  As a temporary fix, just
increase the number for now.

For a long-term solution, we should assign the cvts/pins dynamically.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - Supports more audio streams
Takashi Iwai [Thu, 24 Nov 2011 13:31:46 +0000 (14:31 +0100)]
ALSA: hda - Supports more audio streams

So far, the driver supports up to 10 streams.  This is a restriction in
hda_intel.c and hda_codec.c: in the former, the fixed array size limits
the amount, and in the latter, the fixed device-number assignment table
(in get_empty_pcm_device()) limits the possibility.

This patch reduces the restriction by
- using linked list for managing PCM instances in hda_intel.c, and
- assigning non-fixed device numbers for the extra devices

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 23 Nov 2011 16:08:42 +0000 (17:08 +0100)]
Merge branch 'fix/hda' into topic/hda

Conflicts:
sound/pci/hda/patch_realtek.c

12 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Wed, 23 Nov 2011 16:07:16 +0000 (17:07 +0100)]
Merge branch 'fix/asoc' into for-linus

12 years agoALSA: hda/realtek - Minor cleanup
Takashi Iwai [Wed, 23 Nov 2011 06:52:15 +0000 (07:52 +0100)]
ALSA: hda/realtek - Minor cleanup

Use an inline function for the common pattern for assigning a capsrc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Fix missing inits of item indices for auto-mic
Takashi Iwai [Wed, 23 Nov 2011 06:38:59 +0000 (07:38 +0100)]
ALSA: hda/realtek - Fix missing inits of item indices for auto-mic

When the imux entries are rebuilt in alc_rebuild_imux_for_auto_mic(),
the initialization of index field is missing.  It may work without it
casually when the original imux was created by the auto-parser, but
it's definitely broken in the case of static configs where no imux was
parsed beforehand.  Because of this, the auto-mic switching doesn't
work properly on some model options.

This patch adds the missing initialization of index field.

Reported-by: Dmitry Nezhevenko <dion@inhex.net>
Cc: <stable@kernel.org> [v3.1]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - Fix invalid pin and GPIO for Apple laptops with CS codecs
Takashi Iwai [Tue, 22 Nov 2011 19:00:31 +0000 (20:00 +0100)]
ALSA: hda - Fix invalid pin and GPIO for Apple laptops with CS codecs

The PCI SSID 8086:7270 is commonly used for multiple Apple machines,
thus we can't use it as identifier for a unique model.  Because of this
conflict, some machines show weird behavior.  For example, MacBook Air
shows Front and Surround speakers although only Surround works due to
the wrongly overridden pin-configuration for imac27.

This patch fixes two things:
- Stop the wrong pin-config override of imac27 by removing PCI SSID
  entry for avoiding the wrong mappings,
- Add the generic GPIO setup for Apple machines by checking the codec
  SSID vendor bits

Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Tested-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - Check subdevice mask in snd_hda_check_board_codec_sid_config()
Takashi Iwai [Tue, 22 Nov 2011 18:58:56 +0000 (19:58 +0100)]
ALSA: hda - Check subdevice mask in snd_hda_check_board_codec_sid_config()

In snd_hda_check_board_codec_sid_config(), not only comparing with the
exact value but allow the bit-mask comparison for vendor-only, etc.

Tested-by: Linus Torvalds <torvalds@linux-foundation.org>
Tested-by: Dirk Hohndel <hohndel@infradead.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - fail ELD reading early
Wu Fengguang [Tue, 22 Nov 2011 08:46:23 +0000 (16:46 +0800)]
ALSA: hda - fail ELD reading early

With the ELD repoll mechanism, we can (and should) fail the ELD reading
immediately when find something obviously wrong and let the caller retry
after some delay.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: lx6464es - fix device communication via command bus
Tim Blechmann [Tue, 22 Nov 2011 10:15:45 +0000 (11:15 +0100)]
ALSA: lx6464es - fix device communication via command bus

commit 6175ddf06b6172046a329e3abfd9c901a43efd2e optimized the mem*io
functions that have been used to send commands to the device. these
optimizations somehow corrupted the communication with the lx6464es,
that resulted the device to be unusable with kernels after 2.6.33.

this patch emulates the memcpy_*_io functions via a loop to avoid these
problems.

Signed-off-by: Tim Blechmann <tim@klingt.org>
LKML-Reference: <4ECB5257.4040600@ladisch.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: lx6464es - command buffer API cleanup
Tim Blechmann [Tue, 22 Nov 2011 10:15:44 +0000 (11:15 +0100)]
ALSA: lx6464es - command buffer API cleanup

the command buffer is only accessed from one file, so we can declare the
specific functions as static in that file

Signed-off-by: Tim Blechmann <tim@klingt.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - repoll ELD content for multiple times
Wu Fengguang [Fri, 18 Nov 2011 22:59:32 +0000 (16:59 -0600)]
ALSA: hda - repoll ELD content for multiple times

Improve the one-shot ELD repoll to up to 6 retries.

Up to now the 300ms looks sufficient for the test boxes. However
I'm a bit worried about how well it can fit the wider user base.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hdspm - Fix PCI ID for PCIe RME MADI cards
Adrian Knoth [Mon, 21 Nov 2011 15:15:36 +0000 (16:15 +0100)]
ALSA: hdspm - Fix PCI ID for PCIe RME MADI cards

Commit c09403dcc5698abf214329fbbf3cf8dbb5558bea has introduced a
regression: PCIe versions of RME MADI were no longer detected, because
the MADIface ID (0xd5) was used instead of the correct 0xd2.

This commit fixes the problem.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoASoC: Ensure WM8731 register cache is synced when resuming from disabled
Mark Brown [Mon, 21 Nov 2011 11:55:41 +0000 (11:55 +0000)]
ASoC: Ensure WM8731 register cache is synced when resuming from disabled

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
12 years agoMerge branch 'DB_RANGE-size-fixes' of git://git.alsa-project.org/alsa-kprivate into...
Mark Brown [Mon, 21 Nov 2011 11:28:11 +0000 (11:28 +0000)]
Merge branch 'DB_RANGE-size-fixes' of git://git.alsa-project.org/alsa-kprivate into for-3.2

12 years agoALSA: cs5535 - Fix an endianness conversion
Dan Carpenter [Sun, 20 Nov 2011 20:57:49 +0000 (23:57 +0300)]
ALSA: cs5535 - Fix an endianness conversion

desc->size is supposed to be a le16 type.  On a big endian system the
current code will set ->size to zero.  We fixed a similar bug
on the next line but missed this one.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoASoC: cs4271: Fix wrong mask parameter in some snd_soc_update_bits calls
Axel Lin [Sat, 19 Nov 2011 06:41:07 +0000 (14:41 +0800)]
ASoC: cs4271: Fix wrong mask parameter in some snd_soc_update_bits calls

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Alexander Sverdlin <subaparts@yandex.ru>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm_hubs: fix DB_RANGE size
Clemens Ladisch [Sun, 20 Nov 2011 14:15:31 +0000 (15:15 +0100)]
ASoC: wm_hubs: fix DB_RANGE size

Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
12 years agoASoC: wm9090: fix DB_RANGE size
Clemens Ladisch [Sun, 20 Nov 2011 14:14:55 +0000 (15:14 +0100)]
ASoC: wm9090: fix DB_RANGE size

Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the arrays.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
12 years agoASoC: wm8993: fix DB_RANGE size
Clemens Ladisch [Sun, 20 Nov 2011 14:14:11 +0000 (15:14 +0100)]
ASoC: wm8993: fix DB_RANGE size

Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
12 years agoASoC: wm8962: fix DB_RANGE size
Clemens Ladisch [Sun, 20 Nov 2011 14:13:27 +0000 (15:13 +0100)]
ASoC: wm8962: fix DB_RANGE size

Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the arrays.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
12 years agoASoC: sgtl5000: fix DB_RANGE size
Clemens Ladisch [Sun, 20 Nov 2011 14:12:26 +0000 (15:12 +0100)]
ASoC: sgtl5000: fix DB_RANGE size

Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
12 years agoASoC: rt5631: fix DB_RANGE size
Clemens Ladisch [Sun, 20 Nov 2011 14:11:54 +0000 (15:11 +0100)]
ASoC: rt5631: fix DB_RANGE size

Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
the last entry from being omitted.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
12 years agoASoC: adau1373: fix DB_RANGE size
Clemens Ladisch [Sun, 20 Nov 2011 14:10:27 +0000 (15:10 +0100)]
ASoC: adau1373: fix DB_RANGE size

Give the correct number of entries to TLV_DB_RANGE_HEAD to prevent
reading more data than actually is in the array.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
12 years agoALSA: hda - Add pin fix for Alienware M17x R3
Takashi Iwai [Sat, 19 Nov 2011 10:41:30 +0000 (11:41 +0100)]
ALSA: hda - Add pin fix for Alienware M17x R3

Reported-by: Albert Pool <albertpool@solcon.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoASoC: wm8753: Skip noop reconfiguration of DAI mode
Timo Juhani Lindfors [Thu, 17 Nov 2011 00:52:50 +0000 (02:52 +0200)]
ASoC: wm8753: Skip noop reconfiguration of DAI mode

This patch makes it possible to set DAI mode to its currently applied
value even if codec is active. This is necessary to allow

aplay -t raw -r 44100 -f S16_LE -c 2 < /dev/urandom &
alsactl store -f backup.state
alsactl restore -f backup.state

to work without returning errors. This patch is based on a patch sent
by Klaus Kurzmann <mok@fluxnetz.de>.

Signed-off-by: Timo Juhani Lindfors <timo.lindfors@iki.fi>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
12 years agoALSA: hda - Fix the connection selection of ADCs on Cirrus codecs
Takashi Iwai [Wed, 16 Nov 2011 17:05:11 +0000 (18:05 +0100)]
ALSA: hda - Fix the connection selection of ADCs on Cirrus codecs

spec->cur_adc isn't set until cs_capture_pcm_prepare() is called although
the driver tries to select the connection at init time and at auto-mic
switch.  This results in the access to the widget NID 0, which is
obviously invalid, also a wrong capture source.

This patch fixes the issue by issuing the connect-select verb conditionally
at appropriate places.

Reported-and-tested-by: Dylan Reid <dgreid@chromium.org>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 16 Nov 2011 10:05:55 +0000 (11:05 +0100)]
Merge branch 'fix/hda' into topic/hda

12 years agoALSA: hda - Update URLs in document
Takashi Iwai [Wed, 16 Nov 2011 09:52:01 +0000 (10:52 +0100)]
ALSA: hda - Update URLs in document

Some stuff was moved from kernel.org to other places.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()
Wu Fengguang [Wed, 16 Nov 2011 08:29:48 +0000 (16:29 +0800)]
ALSA: hda - move eld->spk_alloc fixup to hdmi_update_eld()

It looks more natural and saves two lines of code.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - delayed ELD repoll
Wu Fengguang [Wed, 16 Nov 2011 08:29:47 +0000 (16:29 +0800)]
ALSA: hda - delayed ELD repoll

The Intel HDMI chips (ironlake at least) are found to have ~250ms delay
between the ELD_Valid=1 hotplug event is send and the ELD buffer becomes
actually readable. During the time the ELD buffer is mysteriously all 0.

Fix it by scheduling a delayed work to re-read ELD buffer after 300ms.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - fix ELD memory leak
Wu Fengguang [Wed, 16 Nov 2011 08:29:46 +0000 (16:29 +0800)]
ALSA: hda - fix ELD memory leak

memset(eld) clears eld->proc_entry which will leak the struct
snd_info_entry when unloading module.

Fix it by
- memset only the fields before eld->eld_buffer
- set eld->eld_valid to true _after_ all eld fields have been filled

Cc: <stable@kernel.org>
Cc: Pierre-louis Bossart <pierre-louis.bossart@intel.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Move ALC880 model=lg-lw to auto-parser
Takashi Iwai [Tue, 15 Nov 2011 13:46:25 +0000 (14:46 +0100)]
ALSA: hda/realtek - Move ALC880 model=lg-lw to auto-parser

ALC880 model=lg-lw works fine with the auto-parser as is.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Move ALC880 model=medion-rim to auto-parser
Takashi Iwai [Tue, 15 Nov 2011 13:26:54 +0000 (14:26 +0100)]
ALSA: hda/realtek - Move ALC880 model=medion-rim to auto-parser

Translate ALC880 medion-rim static configs to the auto-parser with the
additional GPIO2 verb and COEF setup.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoASoC: fsl_ssi: properly initialize the sysfs attribute object
Timur Tabi [Mon, 14 Nov 2011 22:35:26 +0000 (16:35 -0600)]
ASoC: fsl_ssi: properly initialize the sysfs attribute object

Commit 6992f533 ("sysfs: Use one lockdep class per sysfs attribute")
requires 'struct attribute' objects to be initialized with sysfs_attr_init().

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
12 years agoASoC: sta32x: preserve coefficient RAM
Johannes Stezenbach [Mon, 14 Nov 2011 16:23:16 +0000 (17:23 +0100)]
ASoC: sta32x: preserve coefficient RAM

The coefficient RAM must be saved in a shadow so it can
be restored when the codec is powered on using
regulator_bulk_enable().

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
12 years agoALSA: hda/realtek - Move ALC885 macpro and imac24 models to auto-parser
Takashi Iwai [Mon, 14 Nov 2011 16:42:11 +0000 (17:42 +0100)]
ALSA: hda/realtek - Move ALC885 macpro and imac24 models to auto-parser

The ALC882 macpro and imac24 static configs can be transferred to the
auto-parser with the additional GPIO setup.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Re-add the model string selection for ALC88x
Takashi Iwai [Mon, 14 Nov 2011 16:32:17 +0000 (17:32 +0100)]
ALSA: hda/realtek - Re-add the model string selection for ALC88x

In the commit [c3e837bb: ALSA: hda/realtek - Rewrite ALC882 acer-aspire-*
models with the auto-parser], the check of the model option got removed
mistakenly.  Re-added the board_config check again.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Remove left-over chunks in alc882_quirks.c
Takashi Iwai [Mon, 14 Nov 2011 16:20:49 +0000 (17:20 +0100)]
ALSA: hda/realtek - Remove left-over chunks in alc882_quirks.c

Remove unused variables.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Create mono volume controls for mono-outputs
Takashi Iwai [Mon, 14 Nov 2011 16:13:23 +0000 (17:13 +0100)]
ALSA: hda/realtek - Create mono volume controls for mono-outputs

When the pin or the DAC doesn't support the stereo, create a mono
control instead of creating a stereo control blindly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek: remove redundant semicolon
Jesper Juhl [Sun, 13 Nov 2011 22:11:50 +0000 (23:11 +0100)]
ALSA: hda/realtek: remove redundant semicolon

Having just one semicolon after a break statement is enough.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - pwr_nids cleanup for IDT codecs
Charles Chin [Fri, 11 Nov 2011 07:05:28 +0000 (08:05 +0100)]
ALSA: hda - pwr_nids cleanup for IDT codecs

Clean up and fix pwr_nids for 92HD71 / 73 / 83 family codecs; remove
pwr_mapping which was incorrect.

The original pwr_nids support of 92HD83xxx was incorrect and never
actually worked before.  Now we should have things working correctly
without having to hack by DID anymore.

It is also not necessary to explicitly turn on all the pins near the
beginning of patch_stac92hd83xxx() now, the pins will go though
initialization properly.

Tested on 92HD66 / 71 / 73 / 75 / 83 / 89 / 91 demo boards.

Signed-off-by: Charles Chin <Charles.Chin@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoMerge branch 'fix/misc' into for-linus
Takashi Iwai [Thu, 10 Nov 2011 18:52:08 +0000 (19:52 +0100)]
Merge branch 'fix/misc' into for-linus

12 years agoALSA: usb-audio: Use kmemdup rather than duplicating its implementation
Thomas Meyer [Thu, 10 Nov 2011 18:38:43 +0000 (19:38 +0100)]
ALSA: usb-audio: Use kmemdup rather than duplicating its implementation

Use kmemdup rather than duplicating its implementation

The semantic patch that makes this change is available
in scripts/coccinelle/api/memdup.cocci.

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parser
Takashi Iwai [Thu, 10 Nov 2011 15:01:47 +0000 (16:01 +0100)]
ALSA: hda/realtek - Rewrite ALC882 acer-aspire-* models with the auto-parser

Now we can move the big acer-aspire-* static quirks to the auto-paresr
with some additional pin-configs and verbs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Create multi-io jacks more aggresively
Takashi Iwai [Thu, 10 Nov 2011 14:42:54 +0000 (15:42 +0100)]
ALSA: hda/realtek - Create multi-io jacks more aggresively

So far the driver creates the multi-io jacks only when a single output
jack, i.e. no multiple speakers are assigned.  This patch adds the
similar multi-io detection even with multiple speakers are assigned
primarily, so that 5.1-speakers + HP/mic/LI combination can work.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoMAINTAINERS: Drop inactive Samsung ASoC maintainer
Jassi Brar [Thu, 10 Nov 2011 11:49:07 +0000 (17:19 +0530)]
MAINTAINERS: Drop inactive Samsung ASoC maintainer

Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 10 Nov 2011 11:41:37 +0000 (12:41 +0100)]
Merge branch 'fix/hda' into topic/hda

12 years agoALSA: hda - Re-enable the check NO_PRESENCE misc bit
Takashi Iwai [Thu, 10 Nov 2011 11:36:46 +0000 (12:36 +0100)]
ALSA: hda - Re-enable the check NO_PRESENCE misc bit

We disabled the check of NO_PRESENCE bit of the default pin-config
in commit f4419172 temporarily.  One problem was that the first
implementation was wrong -- the bit after the shift must be checked.
However, this would still give many regressions on machines with broken
BIOS.  They set this bit wrongly even on active pins.

A workaround is to check whether all pins contain this bit.  As far as
I've checked, broken BIOSen set this bit on all pins, no matter whether
active or not.  In such a case, the driver should ignore this bit check.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: vmaster - Free slave-links when freeing the master element
Takashi Iwai [Thu, 10 Nov 2011 11:34:24 +0000 (12:34 +0100)]
ALSA: vmaster - Free slave-links when freeing the master element

When freeing the vmaster master element, we should release slave-links
properly, not only assumig that slaves will be freed soon later.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - Don't add elements of other codecs to vmaster slave
Takashi Iwai [Thu, 10 Nov 2011 11:28:38 +0000 (12:28 +0100)]
ALSA: hda - Don't add elements of other codecs to vmaster slave

When a virtual mater control is created, the driver looks for slave
elements from the assigned card instance.  But this may include the
elements of other codecs when multiple codecs are on the same HD-audio
bus.  This works at the first time, but it'll give Oops when it's once
freed and re-created via reconfig sysfs.

This patch changes the element-look-up strategy to limit only to the
mixer elements of the same codec.

Reported-by: David Henningsson <david.henningsson@canonical.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: intel8x0: improve virtual environment detection
Konstantin Ozerkov [Wed, 9 Nov 2011 15:28:55 +0000 (19:28 +0400)]
ALSA: intel8x0: improve virtual environment detection

Detection code improved by PCI SSID usage. VM optimization
now enabled only for known devcices (skip host devices forwarded
to VM by VT-d or same kind of technology).
For debug/troubleshooting purposes optimization can be
forced (on/off) by module parameter: "inside_vm" (boolean).

Known devices (PCI SSID):
1af4:1100: Reserved for KVM devices. Note this is not yet
           implemented for KVM's ICH/AC'97 emulation.
1ab8:xxxx: Parallels ICH/AC'97 emulated sound.

[ fixed a minor coding-style issue by tiwai]

Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: intel8x0: move virtual environment detection code into one place
Konstantin Ozerkov [Wed, 9 Nov 2011 15:28:54 +0000 (19:28 +0400)]
ALSA: intel8x0: move virtual environment detection code into one place

This is refactoring patch: preparation for add improved detection code.
Now all detection code placed in one place.

Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com>
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 desktop model quirks
Takashi Iwai [Wed, 9 Nov 2011 17:24:44 +0000 (18:24 +0100)]
ALSA: hda/realtek - Drop ALC882 desktop model quirks

Now we're touching the desktop static configs for ALC88x codecs.
These are mostly OK with the auto-parser, but some models need careful
handling; ALC889 intel mobo requires the COEF setup, and W2JC needs
GPIO1 and COEF.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Remove ALC882 targa-* models
Takashi Iwai [Wed, 9 Nov 2011 17:03:07 +0000 (18:03 +0100)]
ALSA: hda/realtek - Remove ALC882 targa-* models

All ALC882 targa-* models can be replaced with the auto-parser just
with the additional GPIO3 setup.  And it's generically applied to all
MSI boards unless other quirks are present.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Reorder alc882_fixup_tbl[]
Takashi Iwai [Wed, 9 Nov 2011 16:45:55 +0000 (17:45 +0100)]
ALSA: hda/realtek - Reorder alc882_fixup_tbl[]

No, I'm not Mr. Monk, but can't resist...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Move ALC882 model=acer-aspire to auto-parser
Takashi Iwai [Wed, 9 Nov 2011 16:39:15 +0000 (17:39 +0100)]
ALSA: hda/realtek - Move ALC882 model=acer-aspire to auto-parser

The ALC882 model=acer-aspire requires the additional COEF setup.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 model=acer quirk
Takashi Iwai [Wed, 9 Nov 2011 16:33:27 +0000 (17:33 +0100)]
ALSA: hda/realtek - Drop ALC882 model=acer quirk

This quirk is anyway not used any more, so no problem to remove.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 model=clevo-m720 quirk
Takashi Iwai [Wed, 9 Nov 2011 16:32:39 +0000 (17:32 +0100)]
ALSA: hda/realtek - Drop ALC882 model=clevo-m720 quirk

This works well without any special handling with the auto-parser.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 3stack-hp, 6stack-dell and clevo-m540r models
Takashi Iwai [Wed, 9 Nov 2011 16:28:27 +0000 (17:28 +0100)]
ALSA: hda/realtek - Drop ALC882 3stack-hp, 6stack-dell and clevo-m540r models

These static configs are no longer needed by replacement with the
auto-parser.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Replace ALC882 arima, medion and laptop-eapd quirks
Takashi Iwai [Wed, 9 Nov 2011 14:22:01 +0000 (15:22 +0100)]
ALSA: hda/realtek - Replace ALC882 arima, medion and laptop-eapd quirks

Move these quitks to the auto-parser.  They just need some EAPD setups
in addition.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 mitac and fujitsu-xa3530 static configs
Takashi Iwai [Wed, 9 Nov 2011 13:56:13 +0000 (14:56 +0100)]
ALSA: hda/realtek - Drop ALC882 mitac and fujitsu-xa3530 static configs

These are working well with the auto-parser although they have
relatively complex setup.  Let's go forward.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 lenovo and haier-w66 static configs
Takashi Iwai [Wed, 9 Nov 2011 13:32:38 +0000 (14:32 +0100)]
ALSA: hda/realtek - Drop ALC882 lenovo and haier-w66 static configs

Remove all ALC882 static configurations for all Lenovo and Haier-w66
quirks.  They work fine with the auto-parser now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop lenovo-sky, asus-m90v, fujitsu-pi2515 quirks
Takashi Iwai [Wed, 9 Nov 2011 12:06:37 +0000 (13:06 +0100)]
ALSA: hda/realtek - Drop lenovo-sky, asus-m90v, fujitsu-pi2515 quirks

These machines are working well with the auto-parser without static
configurations.  More diet.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 asus-a7j and asus-a7m models
Takashi Iwai [Wed, 9 Nov 2011 11:55:18 +0000 (12:55 +0100)]
ALSA: hda/realtek - Drop ALC882 asus-a7j and asus-a7m models

These models work fine with the auto-parser with the additional COEF
setup.  The iMac 7,1 (106b:3200) also uses the same quirk, so remove it
too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Look through codec SSID for fix-up lists
Takashi Iwai [Wed, 9 Nov 2011 14:06:45 +0000 (15:06 +0100)]
ALSA: hda/realtek - Look through codec SSID for fix-up lists

Not only PCI SSIDs but also look through codec SSIDs for fix-up table
entries.  MacBook tend to give the same PCI SSID but unique codec SSIDs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Move ALC888 ASUS EEE1601 config to auto-parser
Takashi Iwai [Wed, 9 Nov 2011 11:42:48 +0000 (12:42 +0100)]
ALSA: hda/realtek - Move ALC888 ASUS EEE1601 config to auto-parser

The ASUS EEE1601 works almost fine with the auto-parser but the static
configuration has a certain specific COEF verb.  Add this to the fix-up
list so that we can drop the whole EEE1601 static config from
alc882_quirks.c.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC882 model=asus-p5q static config
Takashi Iwai [Wed, 9 Nov 2011 11:32:50 +0000 (12:32 +0100)]
ALSA: hda/realtek - Drop ALC882 model=asus-p5q static config

It works well with the auto-parser and the default BIOS setup.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Wed, 9 Nov 2011 11:28:12 +0000 (12:28 +0100)]
Merge branch 'fix/hda' into topic/hda

12 years agoALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384
Alexey Fisher [Wed, 9 Nov 2011 10:39:24 +0000 (11:39 +0100)]
ALSA: snd_usb_audio: add Logitech HD Webcam c510 to quirk-384

Logitech HD Webcam c510 provide wrong mixer resolution.
Add it to "res = 384" quirk.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - fix internal mic on Dell Vostro 3500 laptop
Julian Wollrath [Wed, 9 Nov 2011 09:02:40 +0000 (10:02 +0100)]
ALSA: hda - fix internal mic on Dell Vostro 3500 laptop

Fix the not working internal mic on Dell Vostro 3500 laptop by introducing the
new model dell-vostro-3500.

Signed-off-by: Julian Wollrath <jwollrath@web.de>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoMerge branch 'fix/asoc' into for-linus
Takashi Iwai [Wed, 9 Nov 2011 07:52:22 +0000 (08:52 +0100)]
Merge branch 'fix/asoc' into for-linus

12 years agoALSA: HDA: Remove quirk for Toshiba T110
David Henningsson [Tue, 8 Nov 2011 19:37:26 +0000 (20:37 +0100)]
ALSA: HDA: Remove quirk for Toshiba T110

According to the bug reporter, model=auto is needed to make the
internal microphone work.

BugLink: https://bugs.launchpad.net/bugs/819699
Reported-by: Andrej (agno01)
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: usb-audio - Fix the missing volume quirks at delayed init
Takashi Iwai [Tue, 8 Nov 2011 16:50:27 +0000 (17:50 +0100)]
ALSA: usb-audio - Fix the missing volume quirks at delayed init

In the recent usb-audio driver, the initialization of volume ranges
may be delayed when the device doesn't respond well at the probing time.
But the volume quirks for certain devices are applied only in
mixer_ctl_feature_info() thus only at the very first probe and will be
missing when the volume range is initialized later.

This patch moves the volume quirk code to be always called from the
volume-range extraction (get_min_max()), so that the quirks are properly
applied in the later init time.

Reported-and-tested-by: Alexey Fisher <bug-track@fisher-privat.net>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoASoC: wm9081: Don't write WM9081_BIAS_ENA bit to WM9081_VMID_CONTROL register
Axel Lin [Sat, 5 Nov 2011 06:49:21 +0000 (14:49 +0800)]
ASoC: wm9081: Don't write WM9081_BIAS_ENA bit to WM9081_VMID_CONTROL register

WM9081_BIAS_ENA is the bit[1] of WM9081_BIAS_CONTROL_1 register (05h).
Current code incorrectly write it to WM9081_VMID_CONTROL(04h) register.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoASoC: wm9081: Fix reading wrong register for setting VMID 2*240k
Axel Lin [Sat, 5 Nov 2011 06:47:19 +0000 (14:47 +0800)]
ASoC: wm9081: Fix reading wrong register for setting VMID 2*240k

VMID Divider Enable and Select is controlled by BIT[2:1] of WM9081_VMID_CONTROL
register (04h).
Current code reads wrong register (WM9081_BIAS_CONTROL_1) for setting
VMID 2*240k.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
12 years agoMerge branch 'for-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound...
Mark Brown [Tue, 8 Nov 2011 10:37:41 +0000 (10:37 +0000)]
Merge branch 'for-3.2' of git://git./linux/kernel/git/broonie/sound into for-3.2

12 years agoALSA: hda/realtek - Rewrite ALC882 model=vaio-tt with auto-parser
Takashi Iwai [Mon, 7 Nov 2011 16:59:13 +0000 (17:59 +0100)]
ALSA: hda/realtek - Rewrite ALC882 model=vaio-tt with auto-parser

Providing a pincfg fix for VAIO-TT with ALC889 codec to work with the
auto-parser, and drop the static configuration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Remove all ALC262-quirk codes
Takashi Iwai [Mon, 7 Nov 2011 16:18:44 +0000 (17:18 +0100)]
ALSA: hda/realtek - Remove all ALC262-quirk codes

Now that model=ultra is supported well by the auto-parser, we can get rid
of the whole alc262_quirks.c and its related codes.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Add the support of shared HP/Mic
Takashi Iwai [Mon, 7 Nov 2011 16:13:39 +0000 (17:13 +0100)]
ALSA: hda/realtek - Add the support of shared HP/Mic

A machine like Q1-ultra which has only a single HP but no mic-jack, we
can re-task the headhpone as an external mic jack.  This was done formerly
in ALC262 model=ultra quirk, and now the auto-parser supports this mode.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC262 model=basic static configs
Takashi Iwai [Mon, 7 Nov 2011 14:24:17 +0000 (15:24 +0100)]
ALSA: hda/realtek - Drop ALC262 model=basic static configs

Now most of ALC262 stuff has been moved to the auto-parser, and no longer
need for keeping model=basic.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC262 model=hippo static quirks
Takashi Iwai [Mon, 7 Nov 2011 14:18:21 +0000 (15:18 +0100)]
ALSA: hda/realtek - Drop ALC262 model=hippo static quirks

Both entries for ALC262 model=hippo work well with the auto-parser and
the default BIOS setup.  No static configs are needed, so drop them.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC262 model=hippo static quirks
Takashi Iwai [Mon, 7 Nov 2011 14:04:23 +0000 (15:04 +0100)]
ALSA: hda/realtek - Drop ALC262 model=hippo static quirks

This model (actually BenQ Joybook) works fine with the default auto-parser
and the BIOS setup.  Just drop the static quirks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Convert ALC262 model=fujitsu to auto-parser
Takashi Iwai [Mon, 7 Nov 2011 13:59:40 +0000 (14:59 +0100)]
ALSA: hda/realtek - Convert ALC262 model=fujitsu to auto-parser

It works well with the auto-parse and the default BIOS setup when an
additional COEF setup (for benq) is used.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Convert ALC262 benq and benq-t31 to fixup-lists
Takashi Iwai [Mon, 7 Nov 2011 13:41:01 +0000 (14:41 +0100)]
ALSA: hda/realtek - Convert ALC262 benq and benq-t31 to fixup-lists

The conversion from ALC262 model=benq and model=benq-t31 static configs
to auto-parser requires the manual COEF setups for corresponding models.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Convert ALC262 lenovo-3000 quirks to fixup-list
Takashi Iwai [Mon, 7 Nov 2011 13:20:07 +0000 (14:20 +0100)]
ALSA: hda/realtek - Convert ALC262 lenovo-3000 quirks to fixup-list

The static quirks for ALC262 Lenovo 3000 can be covered by the auto-
parser with a fixup of the mic-pin to VREF50 and the additional COEF
verb.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC262 model=nec quirk
Takashi Iwai [Mon, 7 Nov 2011 11:57:16 +0000 (12:57 +0100)]
ALSA: hda/realtek - Drop ALC262 model=nec quirk

This laptop works also fine with the auto-parser and the BIOS setup.
A good boy.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Drop ALC262 model=toshiba-s06
Takashi Iwai [Mon, 7 Nov 2011 11:50:01 +0000 (12:50 +0100)]
ALSA: hda/realtek - Drop ALC262 model=toshiba-s06

This laptop works fine with the current auto-parser and the BIOS setup,
so let's drop the static configuration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Convert ALC262 model=toshiba-rx1 to a fixup-list
Takashi Iwai [Mon, 7 Nov 2011 11:45:24 +0000 (12:45 +0100)]
ALSA: hda/realtek - Convert ALC262 model=toshiba-rx1 to a fixup-list

Use the auto-parser for ALC262 model=toshiba-rx1 with the fixed pin-
configs.  The BIOS table seems incorrect, so many pin entries are
overwritten to match with the former quirk.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda/realtek - Convert alc262 model=tyan to a fixup-list
Takashi Iwai [Mon, 7 Nov 2011 11:23:55 +0000 (12:23 +0100)]
ALSA: hda/realtek - Convert alc262 model=tyan to a fixup-list

Use the auto-parser for ALC262 model=tyan with a pin-config fix-up and
drop the static configuration.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: hda - Mute unused capture sources for Realtek codecs
Takashi Iwai [Tue, 8 Nov 2011 06:52:19 +0000 (07:52 +0100)]
ALSA: hda - Mute unused capture sources for Realtek codecs

When a Realtek codec has a matrix-style capture-source selection, we
need to scan all connections instead of only imux items.  Otherwise some
input might be kept unmuted.  Although the corresponding input must be
dead so there should be no input from it, it's still safer to mute the
route completely.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
12 years agoALSA: intel8x0: Improve comments for VM optimization
Denis V. Lunev [Mon, 7 Nov 2011 16:33:25 +0000 (20:33 +0400)]
ALSA: intel8x0: Improve comments for VM optimization

The recently merged 228cf79376f1 looks a bit hackish while it is not.
The change was quite simple. In a virtualized environment the
patch unhacks old kludge introduced for old broken AC97 hardware.

This patch adds proper comment to "unkludge" code.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: Konstantin Ozerkov <kozerkov@parallels.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>