- 13 5月, 2015 2 次提交
-
-
由 John Lin 提交于
The power of "micbias1" and "micbias2" are unnecessary for jack detection. So, we remove it in rt5645_set_jack_detect function. Signed-off-by: NJohn Lin <john.lin@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 John Lin 提交于
We add a calibration function and call it at the beginning of i2c_probe. The calibration value will be kept until codec is shutdown. We will reset the codec after the calibration is finished. So, we set cache_bypass in the calibration function. The benefit is we can shorter the delay time in headphone depop. We also change the register setting in the depop sequence which will reduce the pop noise in headphone playback. Signed-off-by: NJohn Lin <john.lin@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 07 5月, 2015 2 次提交
-
-
由 Bard Liao 提交于
We can know if dmic is used by reading the value of dmic1_data_pin and dmic2_data_pin. Also IRQ must be used if codec JD or button detection function is used. So, dmic_en and en_jd_func can be remove from platform data. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bard Liao 提交于
"IF1 DAC0" and "IF1 DAC3" are used in rt5645_dapm_routes but missing in rt5645_dapm_widgets. Signed-off-by: NOder Chiou <oder_chiou@realtek.com> Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 02 5月, 2015 5 次提交
-
-
由 Bard Liao 提交于
The volume blocks have an step of 0.375dB, but TLV uses 0.01dB for units. Only use the resolution supported, ignoring the LSB of the volume register. This results in half the steps and 0.75dB per step, but reports accurate levels through TLV. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bard Liao 提交于
This patch adds TDM slot control into dapm route. The control bits are different between rt5645 and rt5650, so we have separate dapm routes for each codec. Signed-off-by: NOder Chiou <oder_chiou@realtek.com> Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bard Liao 提交于
Fix PLL source register definitions. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bard Liao 提交于
RT5645_I2S_BCLK_MS1 (reg 0x73 [5]) is reserverd in rt5645 and rt5650. This function is move to TDM control. We can configure it by snd_soc_dai_set_tdm_slot's slot_width parameter. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Bard Liao 提交于
rt5645->btn_jack is for jack button report. So the mask should be SND_JACK_BTN_0 | SND_JACK_BTN_1 | SND_JACK_BTN_2 | SND_JACK_BTN_3. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 30 4月, 2015 1 次提交
-
-
由 Bard Liao 提交于
kbuild robot reports a implicit declaration of function 'rt5645_irq_detection' error. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 29 4月, 2015 1 次提交
-
-
由 Bard Liao 提交于
rt5650 support headset button detection. Currently, the button detection is only implemented for rt5650 codec. The button detection configuration register's default value is different from rt5645. And we didn't touch the register in the driver, so we will get the wrong value when we dump the registers. We will fix it in another patch. Signed-off-by: NBard Liao <bardliao@realtek.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 28 4月, 2015 4 次提交
-
-
由 Sudip Mukherjee 提交于
while building as a module we are getting warning about section mismatch. Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Fang, Yang A 提交于
kbuild robot reports following error/warnings sound/soc/codecs/rt5645.c: In function 'rt5645_i2c_probe': >> sound/soc/codecs/rt5645.c:2720:4: error: implicit declaration of >> function 'devm_gpiod_get_index' >> [-Werror=implicit-function-declaration] gpiod = devm_gpiod_get_index(&i2c->dev, "rt5645", 0); ^ >> sound/soc/codecs/rt5645.c:2720:10: warning: assignment makes pointer >> from integer without a cast gpiod = devm_gpiod_get_index(&i2c->dev, "rt5645", 0); ^ >> sound/soc/codecs/rt5645.c:2722:4: error: implicit declaration of >> function 'gpiod_direction_input' >> [-Werror=implicit-function-declaration] if (IS_ERR(gpiod) || gpiod_direction_input(gpiod)) { ^ >> sound/soc/codecs/rt5645.c:2726:5: error: implicit declaration of >> function 'desc_to_gpio' [-Werror=implicit-function-declaration] rt5645->pdata.hp_det_gpio = desc_to_gpio(gpiod); ^ >> sound/soc/codecs/rt5645.c:2728:7: error: implicit declaration of >> function 'gpiod_is_active_low' >> [-Werror=implicit-function-declaration] = !gpiod_is_active_low(gpiod); ^ cc1: some warnings being treated as errors Signed-off-by: NFang, Yang A <yang.a.fang@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Fang, Yang A 提交于
set platform specific data for intel strago platform Signed-off-by: NFang, Yang A <yang.a.fang@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Axel Lin 提交于
Current code uses wrong mask when setting RT5645_DMIC_2_DP_GPIO12 bit, fix it. Signed-off-by: NAxel Lin <axel.lin@ingics.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 24 4月, 2015 2 次提交
-
-
由 Fang, Yang A 提交于
This patch adds the ACPI match ID for rt5645/5650 codec Signed-off-by: NFang, Yang A <yang.a.fang@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Hui Wang 提交于
We have two machines with alc256 codec in the pin quirk table, so moving the common pins to ALC256_STANDARD_PINS. Cc: stable@vger.kernel.org BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1447909Signed-off-by: NHui Wang <hui.wang@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 23 4月, 2015 1 次提交
-
-
由 Kailang Yang 提交于
Switch default pcbeep path to Line in path. Signed-off-by: NKailang Yang <kailang@realtek.com> Tested-by: NHui Wang <hui.wang@canonical.com> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 21 4月, 2015 3 次提交
-
-
由 David Henningsson 提交于
The ALC256 does not have a mixer nid at 0x0b, and there's no loopback path (the output pins are directly connected to the DACs). This commit fixes an "num_steps = 0 for NID=0xb (ctl = Beep Playback Volume)" error (and as a result, problems with amixer/alsamixer). If there's pcbeep functionality, it certainly isn't controlled by setting an amp on 0x0b, so disable beep functionality (at least for now). Cc: stable@vger.kernel.org BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1446517Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takamichi Horikawa 提交于
Roland SC-D70 reports its device class as vendor specific class and the quirk QUIRK_AUDIO_FIXED_ENDPOINT was used for audio output. In the quirks table the sampling rate was hard-coded to 44100 Hz and therefore not worked when the sound module was in 48000 Hz mode. In this change the quirk is changed to QUIRK_AUDIO_STANDARD_INTERFACE but as the sound module reports incorrect bSubframeSize in its descriptors, additional change is made in format.c to detect it and to override it (which uses the existing code for Edirol SD-90). Tested both when the sound module was in 44100 Hz mode and 48000 Hz mode and both audio input and output. MIDI related part of the driver is not touched. Signed-off-by: NTakamichi Horikawa <takamichiho@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Mengdong Lin 提交于
This patch addes AZX_DCAPS_I915_POWERWELL to BYT (Baytrail). Like Braswell and Skylake, the HDMI codec on Bytrail is also in the shared power well with GPU. This power well must be turned on before we reset link to probe the codec, to avoid communication failure with the codec. The side effect is that this power is always ON in S0 because the BYT HDMI codec does not support EPSS or D3ClkStop and so the controller doesn't enter D3 at runtime, and the HDMI codec and analog codec share a single physical HD-A link and so we cannot reset the HD-A link freely when we re-enable the power to use the HDMI codec. Next step is to test if an AGP reset or double AGP reset on BYT HDMI codec is okay to bring the HDMI codec back to a functional state after restoring the power. If okay, we can bind the power on/off with the HDMI codec PM without interrupting the analog audio. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 20 4月, 2015 2 次提交
-
-
由 Mengdong Lin 提交于
Only Intel Haswell and Broadwell have a separate HD-A controller (PCI device 3) for display audio, which needs to get 24MHz HD-A link BCLK from the variable display core clock through vendor specific registers EM4 & EM5. Other platforms (Baytrail, Braswell and Skylake) don't have this feature. So this patch checks the PCI device ID of the controller in haswell_set_bclk() and only sync BCLK for HSW and BDW. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Gabriele Mazzotta 提交于
Muting the headphone output pin right before the codec suspension prevents pop noises when headphones are plugged in (except for a barely audible click noise). This solution allows to truly save some power when headphones are plugged in unlike the previous solution (033b0a7c: "ALSA: hda - Pop noises fix for XPS13 9333") Signed-off-by: NGabriele Mazzotta <gabriele.mzt@gmail.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 18 4月, 2015 1 次提交
-
-
由 Alexey Khoroshilov 提交于
A deadlock can be initiated by userspace via ioctl(SNDCTL_SEQ_OUTOFBAND) on /dev/sequencer with TMR_ECHO midi event. In this case the control flow is: sound_ioctl() -> case SND_DEV_SEQ: case SND_DEV_SEQ2: sequencer_ioctl() -> case SNDCTL_SEQ_OUTOFBAND: spin_lock_irqsave(&lock,flags); play_event(); -> case EV_TIMING: seq_timing_event() -> case TMR_ECHO: seq_copy_to_input() -> spin_lock_irqsave(&lock,flags); It seems that spin_lock_irqsave() around play_event() is not necessary, because the only other call location in seq_startplay() makes the call without acquiring spinlock. So, the patch just removes spinlocks around play_event(). By the way, it removes unreachable code in seq_timing_event(), since (seq_mode == SEQ_2) case is handled in the beginning. Compile tested only. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: NAlexey Khoroshilov <khoroshilov@ispras.ru> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 17 4月, 2015 2 次提交
-
-
由 Dan Carpenter 提交于
This function is a bit unusual because it accepts negative values as "conn_len". It's theoretically possible for both "cache_len" and "conn_len" to be -ENOSPC and in that case we would oops trying to run memcmp() on the uninitialized "list" pointer. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Javi Merino 提交于
Now that the kernel provides DIV_ROUND_CLOSEST_ULL(), drop the internal implementation and use the kernel one. Signed-off-by: NJavi Merino <javi.merino@arm.com> Reported-by: Nkbuild test robot <fengguang.wu@intel.com> Cc: Peter Rosin <peda@axentia.se> Acked-by: NMark Brown <broonie@kernel.org> Cc: Liam Girdwood <lgirdwood@gmail.com> Cc: Jaroslav Kysela <perex@perex.cz> Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 16 4月, 2015 3 次提交
-
-
由 Takashi Iwai 提交于
The commit [a551d914: ALSA: hda - Use regmap for command verb caches, too] introduced a regression due to a typo in the conversion; the IEC958 status bits of slave digital devices aren't updated correctly. This patch corrects it. Fixes: a551d914 ('ALSA: hda - Use regmap for command verb caches, too') Reported-and-tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Scott Wood 提交于
DEVICE_ALI previously would jump to port_inited after calling pci_iomap(), bypassing the check for bmaddr being NULL. Signed-off-by: NScott Wood <scottwood@freescale.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 David Henningsson 提交于
Because AZX_DCAPS_PM_RUNTIME is always defined as non-zero, the initial part of the expression can be skipped. Signed-off-by: NDavid Henningsson <david.henningsson@canonical.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 14 4月, 2015 1 次提交
-
-
由 Mengdong Lin 提交于
Some HD-A codecs may add their own vendor 'set' verb to the regmap, thru func snd_hdac_add_vendor_verb(). This patch sets the GET bit (bit 11) when adding the verb so that its peer vendor 'get' verb is actually added. This can avoid I/O error when writing the 'set' verb thru remap, since HD-A regmap internally looks up a writable vendor verb with GET bit set at first. Signed-off-by: NMengdong Lin <mengdong.lin@intel.com> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
- 13 4月, 2015 5 次提交
-
-
由 Jo-Philipp Wich 提交于
The Lenovo Thinkpad T450 requires the ALC292_FIXUP_TPT440_DOCK as well in order to get working sound output on the docking stations headphone jack. Patch tested on a Thinkpad T450 (20BVCTO1WW) using kernel 4.0-rc7 in conjunction with a ThinkPad Ultradock. Signed-off-by: NJo-Philipp Wich <jow@openwrt.org> Cc: <stable@vger.kernel.org> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
Although some races in runtime PM refcount was fixed by the commit [664c7155: ALSA: hda - Work around races of power up/down with runtime PM], there is still a race in the following case: CPU0: CPU1 : runtime suspend: codec->in_pm = 1 snd_hdac_power_up_pm(): pm_runtime_get_sync() skipped suspend finished: codec->in_pm = 0 snd_hdac_power_down_pm(): pm_runtime_put_*() is called! For avoiding this situation, increment in_pm flag atomically when it's non-zero, and decrement accordingly, to ensure that in_pm is set consistently for the whole concurrent operations. Also, since atomic_inc_not_zero() and atomic_dec_if_positive() are lengthy inline functions, move snd_hdac_power_up_pm() and _down_pm() to sound/hda/hdac_device.c as no inline functions. Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Iwai 提交于
The type field of HD-audio codec object should be exposed to user-space so that it can identify which driver type to bind (legacy / asoc). Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 Takashi Sakamoto 提交于
An element instance can have several elements with the same feature. Some userspace applications can add such an element instance by add operation with the number of elements. Then, the element instance gets a memory object to keep states of these elements. But the element instance has just one memory object for the elements. This causes the same result to each read/write operations to the different elements. This commit fixes this bug by allocating enough memory objects to the element instance for each of elements. Signed-off-by: NTakashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: NTakashi Iwai <tiwai@suse.de>
-
由 kbuild test robot 提交于
sound/soc/intel/haswell/sst-haswell-ipc.c:646:28-29: WARNING: Use ARRAY_SIZE Use ARRAY_SIZE instead of dividing sizeof array with sizeof an element Semantic patch information: This makes an effort to find cases where ARRAY_SIZE can be used such as where there is a division of sizeof the array by the sizeof its first element or by any indexed element or the element type. It replaces the division of the two sizeofs by ARRAY_SIZE. Generated by: scripts/coccinelle/misc/array_size.cocci CC: Jie Yang <yang.jie@intel.com> Signed-off-by: NFengguang Wu <fengguang.wu@intel.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
- 12 4月, 2015 5 次提交
-
-
由 Lars-Peter Clausen 提交于
All CODEC input and output widgets are either in the DAPM routing table or manually marked as non-connected. This means the card is fully routed and we can let the core take care of disconnecting non-connected pins. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Acked-by: NJarkko Nikula <jarkko.nikula@bitmer.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Lars-Peter Clausen 提交于
Some callers of n810_ext_control() pass the card DAPM context and some pass the CODEC DAPM context. Given that some of the widgets that are accessed in the function are in the card's context, always passing it is the obvious choice. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Acked-by: NJarkko Nikula <jarkko.nikula@bitmer.com> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Lars-Peter Clausen 提交于
The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Lars-Peter Clausen 提交于
The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-
由 Lars-Peter Clausen 提交于
The dapm field of the snd_soc_codec struct will eventually be removed (replaced with the DAPM context from the component embedded inside the CODEC). Replace its usage with the card's DAPM context. The idea is that DAPM is hierarchical and with the card at the root it is possible to access widgets from other contexts through the card context. Signed-off-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NMark Brown <broonie@kernel.org>
-