25 Feb, 2013
5 commits
-
Commit 57e5c63007955838043e34c732d224b2cbbb128f "emu10k1: allow to
disable the SRC" force hardware use only one rate (48000 hz).
EMU 0404/1010/1616 have support two hardware sampling rates (44100 and
48000 hz). This patch add check if we have EMU 0404/1010/1616 and
choose correct sample rate to restrict.Signed-off-by: Mihail Zenkov
Signed-off-by: Takashi Iwai -
Reported-by: Harald Becker
Signed-off-by: Takashi Iwai -
This expands the regression fix from
d28215996b0c3a900411769039aa3c54cf7008ab.
The firmware also needs to be loaded when it was already cached.Signed-off-by: Florian Zeitz
Cc:
Signed-off-by: Takashi Iwai -
This patch fixes initialization of the AK4114 chip so spdif capture is working properly.
Worked out together with Pavel Hofman.Signed-off-by: Jonas Petersen
Signed-off-by: Takashi Iwai -
Along with a clean up commit [e9f66d9b9: ALSA: pci: clean up using
module_pci_driver()], bt87x driver lost the functionality of load_all
parameter. This patch does a partial revert of the commit only for
bt87x.c to recover it.Reported-by: Clemens Ladisch
Cc:
Signed-off-by: Takashi Iwai
22 Feb, 2013
2 commits
-
This patch fix regression in emu1010 firmware loading after
http://git.alsa-project.org/?p=alsa-kprivate.git;a=commitdiff;h=b209c4dfcd960ab176d4746ab7dc442a3edb4575I just revert small part of this commit. Tested on emu1212m pci.
Signed-off-by: Mihail Zenkov
Cc:
Signed-off-by: Takashi Iwai -
Just as for analog codecs, a jack that isn't suitable for detection
(in this case, NO_PRESENCE was set) should be a phantom Jack
instead of a normal one.Thanks to Raymond Yau for spotting.
Cc: stable@vger.kernel.org
BugLink: https://bugs.launchpad.net/bugs/961286
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=903869
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai
20 Feb, 2013
5 commits
-
ELD validity can change during the lifetime of a presence detect,
so we need to be able to listen for changes on the ELD control.Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
Because the eld buffer can be simultaneously accessed from both
workqueue context (updating) and process context (kcontrol read),
we need to protect it with a mutex to guarantee consistency.To avoid holding the mutex while reading the ELD info from the
codec, we introduce a temporary eld buffer.Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
For better readability, the information that is parsed out of the
ELD data is now put into a separate parsed_hdmi_eld struct.Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
Previously, it was possible to read the eld data of the previous
monitor connected. This should not be allowed.Also refactor the function slightly.
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
Currently, eld_valid is never set to false, except at kernel module
load time. This patch makes sure that eld is no longer valid when
the cable is (hot-)unplugged.Cc: stable@kernel.org
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai
19 Feb, 2013
1 commit
-
In the recent update, Fujitsu S7020 laptop with ALC260 codec lost the
speaker output, no matter how the amps and the pins are set. After a
long debugging session, we found out that the default codec init code
is harmful for this machine, and we have to reset it to
ALC_INIT_NONE.Reported-and-tested-by: Jonathan Woithe
Signed-off-by: Takashi Iwai
18 Feb, 2013
1 commit
-
These two machines have no mute LED string in BIOS.
BugLink: https://bugs.launchpad.net/bugs/1128934
Tested-by: Tammy Yang
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai
14 Feb, 2013
3 commits
-
Define channel map for playback, capture devices of au88x0
Signed-off-by: Raymond Yau
Signed-off-by: Takashi Iwai -
This chip needs the speaker pin to go to D3 to avoid clicks,
so default_power_filter does not work here.This was found on Thinkpad R61i/T61i but I guess it applies to
the entire chip. If not, quirks should be set for at least
PCI SSID 17aa:20ac.Thanks to c4pp4 for testing.
BugLink: https://bugs.launchpad.net/bugs/886975
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
We've got a regression report wrt the IRQ issue related with the
power-save on a Dell machine, and disabling runtime PM works around.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=53441
Cc: [v3.7+]
Signed-off-by: Takashi Iwai
13 Feb, 2013
2 commits
-
The current badness value used for the missing multi-io seems too
weak, and the multi-io tends to be skipped for desktop configurations
when no enough DACs are available. It's because the total badness of
the multi-io becomes often larger than the badness with assigning an
individual DAC to a headphone jack. This is good for one side, but it
seems that the surround outputs are more demanded by that.This patch increases the badness value for the missing multi-io
slightly so that the multi-io would be preferred than the individual
headphone DAC if they conflict. Through the tests with hda-emu,
mostly only desktop configurations with ALC662/663 and CMI codecs are
affected by this change, and all look reasonable.Reported-by: Raymond Yau
Signed-off-by: Takashi Iwai -
The commit [dcda58061: ALSA: hda - Add workaround for conflicting
IEC958 controls] introduced a workaround for cards that have both
SPDIF and HDMI devices for giving device=1 to SPDIF control elements.
It turned out, however, that this workaround doesn't work well -- The workaround checks only conflicts in a single codec, but SPDIF
and HDMI are provided by multiple codecs in many cases, and- ALSA mixer abstraction doesn't care about the device number in ctl
elements, thus you'll get errors from amixer such as
% amixer scontrols -c 0
ALSA lib simple_none.c:1551:(simple_add1) helem (MIXER,'IEC958
Playback Switch',0,1,0) appears twice or more
amixer: Mixer hw:0 load error: Invalid argumentThis patch fixes the previous broken workaround. Instead of changing
the device number of SPDIF ctl elements, shift the element indices of
such controls up to 16. Also, the conflict check is performed over
all codecs found on the bus.HDMI devices will be put to dev=0,index=0 as before. Only the
conflicting SPDIF device is moved to a different place. The new place
of SPDIF device is supposed by the updated alsa-lib HDA-Intel.conf,
respectively.Reported-by: Stephan Raue
Reported-by: Anssi Hannula
Cc: [v3.8]
Signed-off-by: Takashi Iwai
12 Feb, 2013
4 commits
-
Signed-off-by: Takashi Iwai
-
The chip address is 32bit long but INVALID_CHIP_ADDRESS is defined as
an unsigned long. This makes dsp_chip_to_dsp_addx() misbehaving on
64bit architectures. Fix the INVALID_CHIP_ADDRESS definition to be
32bit.Reported-by: Dan Carpenter
Signed-off-by: Takashi Iwai -
The problem addressed by this fixup is not specific to Vaio Z, affecting
some Vaio all-in-one desktop PCs too. Update the code comments accordingly.Signed-off-by: Fernando Luis Vazquez Cao
Signed-off-by: Takashi Iwai -
Some Vaio all-in-one desktop PCs (for example VGC-LN51JGB) are affected by
the same issue that caused Vaio Z laptops to become silent: the speaker pin
must be connected to the first DAC even though the codec itself advertises
flexible routing through any of the DACs.Use the no-primary-hp fixup for choosing the speaker pin as the primary so
that the right DAC is assigned on this device.Cc: stable@vger.kernel.org
Signed-off-by: Fernando Luis Vazquez Cao
Signed-off-by: Takashi Iwai
11 Feb, 2013
3 commits
-
snd_ali_pointer function is called with local
interrupts disabled. However it seems very strange to
reenable them in such way.Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Denis Efremov
Cc:
Signed-off-by: Takashi Iwai -
According to the other code in this driver and similar
code in rme96 it seems, that spin_lock_irq in
snd_rme32_capture_close function should be paired
with spin_unlock_irq.Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Denis Efremov
Cc:
Signed-off-by: Takashi Iwai -
This reduces the resultant binary size.
Signed-off-by: Takashi Iwai
10 Feb, 2013
3 commits
-
This patch fixes a few obvious bugs in DSP loader stuff:
- Fix possible memory leaks in the error path
- Avoid double-free calls in dma_reset()
- Properly set/unset WC bits for DMA buffers
- Add missing error status checksSigned-off-by: Takashi Iwai
-
Base the DSP firmware transfer and communication timeouts on jiffy values.
Signed-off-by: Ian Minett
Signed-off-by: Takashi Iwai -
This patch adds the HD Audio Device IDs for the Intel Wellsburg PCH
Signed-off-by: James Ralston
Signed-off-by: Takashi Iwai
08 Feb, 2013
5 commits
-
A Haswell test machine showed that the invalid connection list, but
this time it has only a single pin on the codec, thus the former fixup
code doesn't work as it assumes the three pins blindly.This patch splits the former fixup code to two parts:
- Enable eDP 1.2 for Haswell codec
- Fix the connection list of pins on Haswell codec;
the converter list is recorded dynamically in hdmi_add_cvt(), and
applied in hdmi_add_pin()Signed-off-by: Mengdong Lin
Signed-off-by: Takashi Iwai -
Some Haswell machines support more than one display outputs (HDMI or DP),
but its BIOS may not enable the codec's 2nd and 3rd pin and output cvt widgets.This patch implements a board-specific fixup for Intel Haswell Machines:
If the hidden pins are not enabled by BIOS, the driver will enable them
and call common code to update the codec tree.Signed-off-by: Mengdong Lin
Signed-off-by: Takashi Iwai -
A codec may allow software to hide some unused pin/cvt widgets.
Sometimes BIOS does not enable the hidden widgets properly although they are
needed for the board. Thus the driver need to enable them as a board-specific
fixup and the whole tree will change.This patch implements a common code for rereading codec widgets. So the fixup
code can call it after enabling the hidden widgets.Signed-off-by: Mengdong Lin
Signed-off-by: Takashi Iwai -
Currently we set the max number of connections to be 32, but there
seems codec that gives longer connection lists like AD1988, and we see
errors in proc output and else. (Though, in the case of AD1988, it's
a list of all codecs connected to a single vendor widget, so this must
be something fishy, but it's still valid from the h/w design POV.)This patch tries to remove this restriction. For efficiency, we still
use the fixed size array in the parser, but takes a dynamic array when
the size is reported to be greater than that.Now the fixed array size is found only in patch_hdmi.c, but it should
be fine, as the codec itself can't support so many pins.Reported-by: Raymond Yau
Signed-off-by: Takashi Iwai -
... looks like we need this for stable operations.
Signed-off-by: Takashi Iwai
07 Feb, 2013
6 commits
-
Fix these two compile errors on s390 which does not have HAS_IOPORT
nor GENERIC_HARDIRQS:sound/pci/lx6464es/lx6464es.c: In function ‘snd_lx6464es_free’:
sound/pci/lx6464es/lx6464es.c:565:2: error: implicit declaration of function ‘ioport_unmap’sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’:
sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’Signed-off-by: Heiko Carstens
Signed-off-by: Takashi Iwai -
sound/pci/hda/patch_ca0132.c: In function ‘ca0132_is_vnode_effective’:
sound/pci/hda/patch_ca0132.c:3331:15: warning: ‘nid’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sound/pci/hda/patch_ca0132.c:4345:13: warning: ‘ca0132_download_dsp’ defined but not used [-Wunused-function]Signed-off-by: Takashi Iwai
-
Signed-off-by: Takashi Iwai
-
The loopback list is referred by the VIA codec driver no matter
whether CONFIG_PM is set or not, thus we need to enable it always.
Otherwise it gets compile errors.Reported-by: Randy Dunlap
Signed-off-by: Takashi Iwai -
The wm->regs[] array has WM8766_REG_COUNT (16) elements not
WM8766_REG_RESET (31).Signed-off-by: Dan Carpenter
Signed-off-by: Takashi Iwai