mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:24:45 +01:00
sound fixes for 7.0-rc1
here are a bunch of updates, but there should be no big surprises; mostly device-specific quirks and fix-ups or non-code changes. - Quirks for ASoC AMD, HD-audio and USB-audio - Fixes in ASoC fsl, rockchip, renesas, aw codecs - Fixes for USB-audio packet handling in the implicit feedback mode - Updates of SPDX license IDs in some files -----BEGIN PGP SIGNATURE----- iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAmmYYzwOHHRpd2FpQHN1 c2UuZGUACgkQLtJE4w1nLE8DiQ/7BwjUmvBH3Tee+FTVv3uHp8ThkAMJ2FDs9hQI iUIzik8IMrBxW0r9DvwZEbWt5z5U74lKO7DVyTpdFhz+zXFcpHzl0/RLmKfBF0cQ KEVgIQ0F3AtwRs9nU4pnpoQvlU6cg8G7t0FhqvCnUaE0nt369Wm38QPJLqp/rrxK wuT8S6nVcSei6f3tPXsfR1Pm8MO224O6s9UFz3VppG0KRJRdMqkyWdccxq5qJyi0 qgUeYHHq+PelQKIr2sKHnKPcTf8BRGhWNI9CD5fuyvKqAa2mX/1fOnOXqe6GOHur oeBu9tjmnQeBksp7ulVkGQgUKXjFIXNY6MsJ0GRRa23IDTNg4FENB6yqrUrsZnm3 vzvXvOAcp51SlaI0vavnMStOQNM22/W08qsTTyfTaPOuWI7gsld5m1QKyh2GR7Re sFE5nvGcQpyrvQuh4dUYawsaPFlmJWWE/kris3jhsNb1imYfVLpaBjBiUwdSn/t8 aJTv9pmFAgWPPcrnkbigdmsxzW6Wkss3oP+IxCcqi3B/bmgRfQ8rxm9Qq/AdJvYu ln5DnkzUGmyGeDdaJcjU4K7T8YoqYA1iKgRFHuWJ4gL2gSgDyDQH3IhbHWnTKT2l NE0oWEZRRaSyAV4+f5b59JNAuXmFz/tUo+oZS5LkD2RIlf/sU/rYvU9UORCuw1F9 VZIOqsQ= =01P5 -----END PGP SIGNATURE----- Merge tag 'sound-fix-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are a bunch of updates, but there should be no big surprises; mostly device-specific quirks and fix-ups or non-code changes: - Quirks for ASoC AMD, HD-audio and USB-audio - Fixes in ASoC fsl, rockchip, renesas, aw codecs - Fixes for USB-audio packet handling in the implicit feedback mode - Updates of SPDX license IDs in some files" * tag 'sound-fix-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (28 commits) ASoC: rockchip: i2s-tdm: Use param rate if not provided by set_sysclk ALSA: hda/hdmi: Add quirk for TUXEDO IBS14G6 ASoC: dt-bindings: asahi-kasei,ak5558: Fix the supply names ASoC: dt-bindings: asahi-kasei,ak4458: Fix the supply names ASoC: dt-bindings: asahi-kasei,ak4458: set unevaluatedProperties:false ASoC: amd: amd_sdw: add machine driver quirk for Lenovo models ASoC: amd: acp: Add ACP7.0 match entries for Realtek parts ALSA: echoaudio: Add SPDX ids to some files ALSA: isa: Add SPDX id lines to some files ALSA: core: Add SPDX license id to files ASoC: tas2783A: add explicit port prepare handling ASoC: renesas: rz-ssi: Fix playback and capture ALSA: hda/realtek: Fix headset mic on ASUS Zenbook 14 UX3405MA ALSA: hda/conexant: Fix headphone jack handling on Acer Swift SF314 ASoC: qcom: sm8250: Add quinary MI2S support ASoC: amd: yc: Add DMI quirk for ASUS Vivobook Pro 15X M6501RR ALSA: usb-audio: Avoid potentially repeated XRUN error messages ALSA: usb-audio: Add sanity check for OOB writes at silencing ALSA: usb-audio: Optimize the copy of packet sizes for implicit fb handling ALSA: usb-audio: Update the number of packets properly at receiving ...
This commit is contained in:
commit
bc1d4e705f
57 changed files with 247 additions and 530 deletions
|
|
@ -21,10 +21,10 @@ properties:
|
|||
reg:
|
||||
maxItems: 1
|
||||
|
||||
avdd-supply:
|
||||
AVDD-supply:
|
||||
description: Analog power supply
|
||||
|
||||
dvdd-supply:
|
||||
DVDD-supply:
|
||||
description: Digital power supply
|
||||
|
||||
reset-gpios:
|
||||
|
|
@ -60,7 +60,7 @@ allOf:
|
|||
properties:
|
||||
dsd-path: false
|
||||
|
||||
additionalProperties: false
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@ properties:
|
|||
reg:
|
||||
maxItems: 1
|
||||
|
||||
avdd-supply:
|
||||
AVDD-supply:
|
||||
description: A 1.8V supply that powers up the AVDD pin.
|
||||
|
||||
dvdd-supply:
|
||||
DVDD-supply:
|
||||
description: A 1.2V supply that powers up the DVDD pin.
|
||||
|
||||
reset-gpios:
|
||||
|
|
@ -32,7 +32,10 @@ required:
|
|||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
allOf:
|
||||
- $ref: dai-common.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
|
|
|
|||
|
|
@ -1,22 +1,7 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* Linear conversion Plug-In
|
||||
* Copyright (c) 2000 by Abramo Bagnara <abramo@alsa-project.org>
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/time.h>
|
||||
|
|
|
|||
|
|
@ -1,22 +1,7 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* PCM I/O Plug-In Interface
|
||||
* Copyright (c) 1999 by Jaroslav Kysela <perex@perex.cz>
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/time.h>
|
||||
|
|
|
|||
|
|
@ -1,23 +1,8 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* Linear conversion Plug-In
|
||||
* Copyright (c) 1999 by Jaroslav Kysela <perex@perex.cz>,
|
||||
* Abramo Bagnara <abramo@alsa-project.org>
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/time.h>
|
||||
|
|
|
|||
|
|
@ -1,24 +1,10 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* Mu-Law conversion Plug-In Interface
|
||||
* Copyright (c) 1999 by Jaroslav Kysela <perex@perex.cz>
|
||||
* Uros Bizjak <uros@kss-loka.si>
|
||||
*
|
||||
* Based on reference implementation by Sun Microsystems, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/time.h>
|
||||
|
|
|
|||
|
|
@ -1,23 +1,8 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* PCM Plug-In shared (kernel/library) code
|
||||
* Copyright (c) 1999 by Jaroslav Kysela <perex@perex.cz>
|
||||
* Copyright (c) 2000 by Abramo Bagnara <abramo@alsa-project.org>
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#if 0
|
||||
|
|
|
|||
|
|
@ -1,22 +1,7 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* Rate conversion Plug-In
|
||||
* Copyright (c) 1999 by Jaroslav Kysela <perex@perex.cz>
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/time.h>
|
||||
|
|
|
|||
|
|
@ -1,22 +1,7 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* Route Plug-In
|
||||
* Copyright (c) 2000 by Abramo Bagnara <abramo@alsa-project.org>
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/time.h>
|
||||
|
|
|
|||
|
|
@ -1,24 +1,9 @@
|
|||
// SPDX-License-Identifier: LGPL-2.0+
|
||||
/*
|
||||
* PCM Interface - misc routines
|
||||
* Copyright (c) 1998 by Jaroslav Kysela <perex@perex.cz>
|
||||
*
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Library General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <linux/time.h>
|
||||
#include <linux/export.h>
|
||||
#include <sound/core.h>
|
||||
|
|
|
|||
|
|
@ -299,6 +299,7 @@ enum {
|
|||
CXT_PINCFG_SWS_JS201D,
|
||||
CXT_PINCFG_TOP_SPEAKER,
|
||||
CXT_FIXUP_HP_A_U,
|
||||
CXT_FIXUP_ACER_SWIFT_HP,
|
||||
};
|
||||
|
||||
/* for hda_fixup_thinkpad_acpi() */
|
||||
|
|
@ -1024,6 +1025,14 @@ static const struct hda_fixup cxt_fixups[] = {
|
|||
.type = HDA_FIXUP_FUNC,
|
||||
.v.func = cxt_fixup_hp_a_u,
|
||||
},
|
||||
[CXT_FIXUP_ACER_SWIFT_HP] = {
|
||||
.type = HDA_FIXUP_PINS,
|
||||
.v.pins = (const struct hda_pintbl[]) {
|
||||
{ 0x16, 0x0321403f }, /* Headphone */
|
||||
{ 0x19, 0x40f001f0 }, /* Mic */
|
||||
{ }
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
static const struct hda_quirk cxt5045_fixups[] = {
|
||||
|
|
@ -1073,6 +1082,7 @@ static const struct hda_quirk cxt5066_fixups[] = {
|
|||
SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC),
|
||||
SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_ASPIRE_DMIC),
|
||||
SND_PCI_QUIRK(0x1025, 0x054f, "Acer Aspire 4830T", CXT_FIXUP_ASPIRE_DMIC),
|
||||
SND_PCI_QUIRK(0x1025, 0x136d, "Acer Swift SF314", CXT_FIXUP_ACER_SWIFT_HP),
|
||||
SND_PCI_QUIRK(0x103c, 0x8079, "HP EliteBook 840 G3", CXT_FIXUP_HP_DOCK),
|
||||
SND_PCI_QUIRK(0x103c, 0x807C, "HP EliteBook 820 G3", CXT_FIXUP_HP_DOCK),
|
||||
SND_PCI_QUIRK(0x103c, 0x80FD, "HP ProBook 640 G2", CXT_FIXUP_HP_DOCK),
|
||||
|
|
|
|||
|
|
@ -1557,6 +1557,7 @@ static const struct snd_pci_quirk force_connect_list[] = {
|
|||
SND_PCI_QUIRK(0x1043, 0x86ae, "ASUS", 1), /* Z170 PRO */
|
||||
SND_PCI_QUIRK(0x1043, 0x86c7, "ASUS", 1), /* Z170M PLUS */
|
||||
SND_PCI_QUIRK(0x1462, 0xec94, "MS-7C94", 1),
|
||||
SND_PCI_QUIRK(0x1558, 0x14a1, "TUXEDO InfinityBook S 14 Gen6", 1),
|
||||
SND_PCI_QUIRK(0x8086, 0x2060, "Intel NUC5CPYB", 1),
|
||||
SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", 1),
|
||||
{}
|
||||
|
|
|
|||
|
|
@ -3886,6 +3886,7 @@ enum {
|
|||
ALC294_FIXUP_ASUS_MIC,
|
||||
ALC294_FIXUP_ASUS_HEADSET_MIC,
|
||||
ALC294_FIXUP_ASUS_I2C_HEADSET_MIC,
|
||||
ALC294_FIXUP_ASUS_SPI_HEADSET_MIC,
|
||||
ALC294_FIXUP_ASUS_SPK,
|
||||
ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE,
|
||||
ALC285_FIXUP_LENOVO_PC_BEEP_IN_NOISE,
|
||||
|
|
@ -5236,6 +5237,15 @@ static const struct hda_fixup alc269_fixups[] = {
|
|||
.chained = true,
|
||||
.chain_id = ALC287_FIXUP_CS35L41_I2C_2
|
||||
},
|
||||
[ALC294_FIXUP_ASUS_SPI_HEADSET_MIC] = {
|
||||
.type = HDA_FIXUP_PINS,
|
||||
.v.pins = (const struct hda_pintbl[]) {
|
||||
{ 0x19, 0x04a11020 }, /* use as headset mic */
|
||||
{ }
|
||||
},
|
||||
.chained = true,
|
||||
.chain_id = ALC245_FIXUP_CS35L41_SPI_2
|
||||
},
|
||||
[ALC294_FIXUP_ASUS_SPK] = {
|
||||
.type = HDA_FIXUP_VERBS,
|
||||
.v.verbs = (const struct hda_verb[]) {
|
||||
|
|
@ -7189,7 +7199,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x1043, 0x19ce, "ASUS B9450FA", ALC294_FIXUP_ASUS_HPE),
|
||||
SND_PCI_QUIRK(0x1043, 0x19e1, "ASUS UX581LV", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE),
|
||||
SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
|
||||
SND_PCI_QUIRK(0x1043, 0x1a63, "ASUS UX3405MA", ALC245_FIXUP_CS35L41_SPI_2),
|
||||
SND_PCI_QUIRK(0x1043, 0x1a63, "ASUS UX3405MA", ALC294_FIXUP_ASUS_SPI_HEADSET_MIC),
|
||||
SND_PCI_QUIRK(0x1043, 0x1a83, "ASUS UM5302LA", ALC294_FIXUP_CS35L41_I2C_2),
|
||||
SND_PCI_QUIRK(0x1043, 0x1a8e, "ASUS G712LWS", ALC294_FIXUP_LENOVO_MIC_LOCATION),
|
||||
SND_PCI_QUIRK(0x1043, 0x1a8f, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2),
|
||||
|
|
@ -7318,7 +7328,9 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
|
|||
SND_PCI_QUIRK(0x144d, 0xc872, "Samsung Galaxy Book2 Pro (NP950XEE)", ALC298_FIXUP_SAMSUNG_AMP_V2_2_AMPS),
|
||||
SND_PCI_QUIRK(0x144d, 0xc886, "Samsung Galaxy Book3 Pro (NP964XFG)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS),
|
||||
SND_PCI_QUIRK(0x144d, 0xc1ca, "Samsung Galaxy Book3 Pro 360 (NP960QFG)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS),
|
||||
SND_PCI_QUIRK(0x144d, 0xc1cb, "Samsung Galaxy Book3 Pro 360 (NP965QFG)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS),
|
||||
SND_PCI_QUIRK(0x144d, 0xc1cc, "Samsung Galaxy Book3 Ultra (NT960XFH)", ALC298_FIXUP_SAMSUNG_AMP_V2_4_AMPS),
|
||||
SND_PCI_QUIRK(0x1458, 0x900e, "Gigabyte G5 KF5 (2023)", ALC2XX_FIXUP_HEADSET_MIC),
|
||||
SND_PCI_QUIRK(0x1458, 0xfa53, "Gigabyte BXBT-2807", ALC283_FIXUP_HEADSET_MIC),
|
||||
SND_PCI_QUIRK(0x1462, 0xb120, "MSI Cubi MS-B120", ALC283_FIXUP_HEADSET_MIC),
|
||||
SND_PCI_QUIRK(0x1462, 0xb171, "Cubi N 8GL (MS-B171)", ALC283_FIXUP_HEADSET_MIC),
|
||||
|
|
|
|||
|
|
@ -631,7 +631,7 @@ static void tasdev_fw_ready(const struct firmware *fmw, void *context)
|
|||
struct tasdevice_priv *tas_priv = context;
|
||||
struct tas2781_hda *tas_hda = dev_get_drvdata(tas_priv->dev);
|
||||
struct hda_codec *codec = tas_priv->codec;
|
||||
int ret, val;
|
||||
int ret;
|
||||
|
||||
guard(pm_runtime_active_auto)(tas_priv->dev);
|
||||
guard(mutex)(&tas_priv->codec_lock);
|
||||
|
|
@ -670,20 +670,14 @@ static void tasdev_fw_ready(const struct firmware *fmw, void *context)
|
|||
tas_priv->rcabin.profile_cfg_id = 0;
|
||||
|
||||
tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK;
|
||||
ret = tasdevice_spi_dev_read(tas_priv, tas_priv->index,
|
||||
TAS2781_REG_CLK_CONFIG, &val);
|
||||
if (ret < 0)
|
||||
goto out;
|
||||
|
||||
if (val == TAS2781_REG_CLK_CONFIG_RESET) {
|
||||
ret = tasdevice_prmg_load(tas_priv, 0);
|
||||
if (ret < 0) {
|
||||
dev_err(tas_priv->dev, "FW download failed = %d\n",
|
||||
ret);
|
||||
goto out;
|
||||
}
|
||||
tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK;
|
||||
ret = tasdevice_prmg_load(tas_priv, 0);
|
||||
if (ret < 0) {
|
||||
dev_err(tas_priv->dev, "FW download failed = %d\n", ret);
|
||||
goto out;
|
||||
}
|
||||
tas_priv->fw_state = TASDEVICE_DSP_FW_ALL_OK;
|
||||
|
||||
if (tas_priv->fmw->nr_programs > 0)
|
||||
tas_priv->tasdevice[tas_priv->index].cur_prog = 0;
|
||||
if (tas_priv->fmw->nr_configurations > 0)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* tracepoint definitions for HD-audio core drivers
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#define SNDRV_STB
|
||||
#include "interwave.c"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* The work is in msnd_pinnacle.c, just define MSND_CLASSIC before it. */
|
||||
#define MSND_CLASSIC
|
||||
#include "msnd_pinnacle.c"
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#define CS4231
|
||||
#include "opti92x-ad1848.c"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#define OPTi93X
|
||||
#include "opti92x-ad1848.c"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,9 @@
|
|||
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* jazz16.c - driver for Media Vision Jazz16 based soundcards.
|
||||
* Copyright (C) 2009 Krzysztof Helt <krzysztof.h1@wp.pl>
|
||||
* Based on patches posted by Rask Ingemann Lambertsen and Rene Herman.
|
||||
* Based on OSS Sound Blaster driver.
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive for
|
||||
* more details.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#define SNDRV_SBAWE
|
||||
#include "sb16.c"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* linux/sound/oss/dmasound/dmasound_core.c
|
||||
*
|
||||
|
|
@ -21,10 +22,6 @@
|
|||
* /dev/sndstat is based on code by Hannu Savolainen, the author of the
|
||||
* VoxWare family of drivers.
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* 1995/8/25 First release
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/***************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/***************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
****************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
/************************************************************************
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
|
@ -5,22 +6,6 @@ Copyright Echo Digital Audio Corporation (c) 1998 - 2005
|
|||
All rights reserved
|
||||
www.echoaudio.com
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
were made by Giuliano Pochini <pochini@shiny.it>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
/************************************************************************
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
|
@ -5,22 +6,6 @@ Copyright Echo Digital Audio Corporation (c) 1998 - 2005
|
|||
All rights reserved
|
||||
www.echoaudio.com
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
were made by Giuliano Pochini <pochini@shiny.it>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
/************************************************************************
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
|
@ -5,22 +6,6 @@ Copyright Echo Digital Audio Corporation (c) 1998 - 2005
|
|||
All rights reserved
|
||||
www.echoaudio.com
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with this library; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
were made by Giuliano Pochini <pochini@shiny.it>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,21 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/****************************************************************************
|
||||
|
||||
Copyright Echo Digital Audio Corporation (c) 1998 - 2004
|
||||
|
|
@ -5,22 +6,6 @@
|
|||
www.echoaudio.com
|
||||
|
||||
This file is part of Echo Digital Audio's generic driver library.
|
||||
|
||||
Echo Digital Audio's generic driver library is free software;
|
||||
you can redistribute it and/or modify it under the terms of
|
||||
the GNU General Public License as published by the Free Software
|
||||
Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||
MA 02111-1307, USA.
|
||||
|
||||
*************************************************************************
|
||||
|
||||
Translation from C++ and adaptation for use in ALSA-Driver
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#define CHIP1371
|
||||
#include "ens1370.c"
|
||||
|
|
|
|||
|
|
@ -95,6 +95,22 @@ static const struct dmi_system_id soc_sdw_quirk_table[] = {
|
|||
},
|
||||
.driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
|
||||
},
|
||||
{
|
||||
.callback = soc_sdw_quirk_cb,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "21YW"),
|
||||
},
|
||||
.driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
|
||||
},
|
||||
{
|
||||
.callback = soc_sdw_quirk_cb,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
|
||||
DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "21YX"),
|
||||
},
|
||||
.driver_data = (void *)(ASOC_SDW_CODEC_SPKR),
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -531,7 +531,44 @@ static const struct snd_soc_acpi_link_adr acp70_rt722_l0_rt1320_l1[] = {
|
|||
{}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device rt1320_0_single_adr[] = {
|
||||
{
|
||||
.adr = 0x000030025D132001ull,
|
||||
.num_endpoints = 1,
|
||||
.endpoints = &single_endpoint,
|
||||
.name_prefix = "rt1320-1"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_adr_device rt722_1_single_adr[] = {
|
||||
{
|
||||
.adr = 0x000130025d072201ull,
|
||||
.num_endpoints = ARRAY_SIZE(rt722_endpoints),
|
||||
.endpoints = rt722_endpoints,
|
||||
.name_prefix = "rt722"
|
||||
}
|
||||
};
|
||||
|
||||
static const struct snd_soc_acpi_link_adr acp70_rt1320_l0_rt722_l1[] = {
|
||||
{
|
||||
.mask = BIT(0),
|
||||
.num_adr = ARRAY_SIZE(rt1320_0_single_adr),
|
||||
.adr_d = rt1320_0_single_adr,
|
||||
},
|
||||
{
|
||||
.mask = BIT(1),
|
||||
.num_adr = ARRAY_SIZE(rt722_1_single_adr),
|
||||
.adr_d = rt722_1_single_adr,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
struct snd_soc_acpi_mach snd_soc_acpi_amd_acp70_sdw_machines[] = {
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_rt1320_l0_rt722_l1,
|
||||
.drv_name = "amd_sdw",
|
||||
},
|
||||
{
|
||||
.link_mask = BIT(0) | BIT(1),
|
||||
.links = acp70_rt722_l0_rt1320_l1,
|
||||
|
|
|
|||
|
|
@ -696,7 +696,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
|
|||
DMI_MATCH(DMI_BOARD_NAME, "XyloD5_RBU"),
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
.driver_data = &acp6x_card,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "Vivobook_ASUSLaptop M6501RR_M6501RR"),
|
||||
}
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -424,9 +424,10 @@ static int aw88261_dev_reg_update(struct aw88261 *aw88261,
|
|||
if (ret)
|
||||
break;
|
||||
|
||||
/* keep all three bits from current hw status */
|
||||
read_val &= (~AW88261_AMPPD_MASK) | (~AW88261_PWDN_MASK) |
|
||||
(~AW88261_HMUTE_MASK);
|
||||
reg_val &= (AW88261_AMPPD_MASK | AW88261_PWDN_MASK | AW88261_HMUTE_MASK);
|
||||
reg_val &= (AW88261_AMPPD_MASK & AW88261_PWDN_MASK & AW88261_HMUTE_MASK);
|
||||
reg_val |= read_val;
|
||||
|
||||
/* enable uls hmute */
|
||||
|
|
|
|||
|
|
@ -245,12 +245,12 @@ static void rt721_sdca_jack_preset(struct rt721_sdca_priv *rt721)
|
|||
regmap_write(rt721->mbq_regmap, 0x5b10007, 0x2000);
|
||||
regmap_write(rt721->mbq_regmap, 0x5B10017, 0x1b0f);
|
||||
rt_sdca_index_write(rt721->mbq_regmap, RT721_CBJ_CTRL,
|
||||
RT721_CBJ_A0_GAT_CTRL1, 0x2a02);
|
||||
RT721_CBJ_A0_GAT_CTRL1, 0x2205);
|
||||
rt_sdca_index_write(rt721->mbq_regmap, RT721_CAP_PORT_CTRL,
|
||||
RT721_HP_AMP_2CH_CAL4, 0xa105);
|
||||
rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
|
||||
RT721_UAJ_TOP_TCON14, 0x3b33);
|
||||
regmap_write(rt721->mbq_regmap, 0x310400, 0x3023);
|
||||
regmap_write(rt721->mbq_regmap, 0x310400, 0x3043);
|
||||
rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
|
||||
RT721_UAJ_TOP_TCON14, 0x3f33);
|
||||
rt_sdca_index_write(rt721->mbq_regmap, RT721_VENDOR_ANA_CTL,
|
||||
|
|
|
|||
|
|
@ -1216,8 +1216,51 @@ static s32 tas_update_status(struct sdw_slave *slave,
|
|||
return tas_io_init(&slave->dev, slave);
|
||||
}
|
||||
|
||||
/*
|
||||
* TAS2783 requires explicit port prepare during playback stream
|
||||
* setup even when simple_ch_prep_sm is enabled. Without this,
|
||||
* the port fails to enter the prepared state resulting in no audio output.
|
||||
*/
|
||||
static int tas_port_prep(struct sdw_slave *slave, struct sdw_prepare_ch *prep_ch,
|
||||
enum sdw_port_prep_ops pre_ops)
|
||||
{
|
||||
struct device *dev = &slave->dev;
|
||||
struct sdw_dpn_prop *dpn_prop;
|
||||
u32 addr;
|
||||
int ret;
|
||||
|
||||
dpn_prop = slave->prop.sink_dpn_prop;
|
||||
if (!dpn_prop || !dpn_prop->simple_ch_prep_sm)
|
||||
return 0;
|
||||
|
||||
addr = SDW_DPN_PREPARECTRL(prep_ch->num);
|
||||
switch (pre_ops) {
|
||||
case SDW_OPS_PORT_PRE_PREP:
|
||||
ret = sdw_write_no_pm(slave, addr, prep_ch->ch_mask);
|
||||
if (ret)
|
||||
dev_err(dev, "prep failed for port %d, err=%d\n",
|
||||
prep_ch->num, ret);
|
||||
return ret;
|
||||
|
||||
case SDW_OPS_PORT_PRE_DEPREP:
|
||||
ret = sdw_write_no_pm(slave, addr, 0x00);
|
||||
if (ret)
|
||||
dev_err(dev, "de-prep failed for port %d, err=%d\n",
|
||||
prep_ch->num, ret);
|
||||
return ret;
|
||||
|
||||
case SDW_OPS_PORT_POST_PREP:
|
||||
case SDW_OPS_PORT_POST_DEPREP:
|
||||
/* No POST handling required for TAS2783 */
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct sdw_slave_ops tas_sdw_ops = {
|
||||
.update_status = tas_update_status,
|
||||
.port_prep = tas_port_prep,
|
||||
};
|
||||
|
||||
static void tas_remove(struct tas2783_prv *tas_dev)
|
||||
|
|
|
|||
|
|
@ -223,13 +223,10 @@ static int fsl_xcvr_mode_put(struct snd_kcontrol *kcontrol,
|
|||
|
||||
xcvr->mode = snd_soc_enum_item_to_val(e, item[0]);
|
||||
|
||||
down_read(&card->snd_card->controls_rwsem);
|
||||
fsl_xcvr_activate_ctl(dai, fsl_xcvr_arc_mode_kctl.name,
|
||||
(xcvr->mode == FSL_XCVR_MODE_ARC));
|
||||
fsl_xcvr_activate_ctl(dai, fsl_xcvr_earc_capds_kctl.name,
|
||||
(xcvr->mode == FSL_XCVR_MODE_EARC));
|
||||
up_read(&card->snd_card->controls_rwsem);
|
||||
|
||||
/* Allow playback for SPDIF only */
|
||||
rtd = snd_soc_get_pcm_runtime(card, card->dai_link);
|
||||
rtd->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream_count =
|
||||
|
|
|
|||
|
|
@ -104,6 +104,14 @@ static int sm8250_snd_startup(struct snd_pcm_substream *substream)
|
|||
snd_soc_dai_set_fmt(cpu_dai, fmt);
|
||||
snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt);
|
||||
break;
|
||||
case QUINARY_MI2S_RX:
|
||||
codec_dai_fmt |= SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_I2S;
|
||||
snd_soc_dai_set_sysclk(cpu_dai,
|
||||
Q6AFE_LPASS_CLK_ID_QUI_MI2S_IBIT,
|
||||
MI2S_BCLK_RATE, SNDRV_PCM_STREAM_PLAYBACK);
|
||||
snd_soc_dai_set_fmt(cpu_dai, fmt);
|
||||
snd_soc_dai_set_fmt(codec_dai, codec_dai_fmt);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ static inline bool rz_ssi_stream_is_play(struct snd_pcm_substream *substream)
|
|||
static inline struct rz_ssi_stream *
|
||||
rz_ssi_stream_get(struct rz_ssi_priv *ssi, struct snd_pcm_substream *substream)
|
||||
{
|
||||
return (ssi->playback.substream == substream) ? &ssi->playback : &ssi->capture;
|
||||
return (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? &ssi->playback : &ssi->capture;
|
||||
}
|
||||
|
||||
static inline bool rz_ssi_is_dma_enabled(struct rz_ssi_priv *ssi)
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#define DRV_NAME "rockchip-i2s-tdm"
|
||||
|
||||
#define DEFAULT_MCLK_FS 256
|
||||
#define CH_GRP_MAX 4 /* The max channel 8 / 2 */
|
||||
#define MULTIPLEX_CH_MAX 10
|
||||
|
||||
|
|
@ -665,6 +666,15 @@ static int rockchip_i2s_tdm_hw_params(struct snd_pcm_substream *substream,
|
|||
mclk_rate = i2s_tdm->mclk_rx_freq;
|
||||
}
|
||||
|
||||
/*
|
||||
* When the dai/component driver doesn't need to set mclk-fs for a specific
|
||||
* clock, it can skip the call to set_sysclk() for that clock.
|
||||
* In that case, simply use the clock rate from the params and multiply it by
|
||||
* the default mclk-fs value.
|
||||
*/
|
||||
if (!mclk_rate)
|
||||
mclk_rate = DEFAULT_MCLK_FS * params_rate(params);
|
||||
|
||||
err = clk_set_rate(mclk, mclk_rate);
|
||||
if (err)
|
||||
return err;
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ struct snd_usb_endpoint {
|
|||
struct snd_urb_ctx urb[MAX_URBS];
|
||||
|
||||
struct snd_usb_packet_info {
|
||||
uint32_t packet_size[MAX_PACKS_HS];
|
||||
int packet_size[MAX_PACKS_HS];
|
||||
int packets;
|
||||
} next_packet[MAX_URBS];
|
||||
unsigned int next_packet_head; /* ring buffer offset to read */
|
||||
|
|
|
|||
|
|
@ -275,8 +275,8 @@ static inline bool has_tx_length_quirk(struct snd_usb_audio *chip)
|
|||
return chip->quirk_flags & QUIRK_FLAG_TX_LENGTH;
|
||||
}
|
||||
|
||||
static void prepare_silent_urb(struct snd_usb_endpoint *ep,
|
||||
struct snd_urb_ctx *ctx)
|
||||
static int prepare_silent_urb(struct snd_usb_endpoint *ep,
|
||||
struct snd_urb_ctx *ctx)
|
||||
{
|
||||
struct urb *urb = ctx->urb;
|
||||
unsigned int offs = 0;
|
||||
|
|
@ -289,28 +289,34 @@ static void prepare_silent_urb(struct snd_usb_endpoint *ep,
|
|||
extra = sizeof(packet_length);
|
||||
|
||||
for (i = 0; i < ctx->packets; ++i) {
|
||||
unsigned int offset;
|
||||
unsigned int length;
|
||||
int counts;
|
||||
int length;
|
||||
|
||||
counts = snd_usb_endpoint_next_packet_size(ep, ctx, i, 0);
|
||||
length = counts * ep->stride; /* number of silent bytes */
|
||||
offset = offs * ep->stride + extra * i;
|
||||
urb->iso_frame_desc[i].offset = offset;
|
||||
length = snd_usb_endpoint_next_packet_size(ep, ctx, i, 0);
|
||||
if (length < 0)
|
||||
return length;
|
||||
length *= ep->stride; /* number of silent bytes */
|
||||
if (offs + length + extra > ctx->buffer_size)
|
||||
break;
|
||||
urb->iso_frame_desc[i].offset = offs;
|
||||
urb->iso_frame_desc[i].length = length + extra;
|
||||
if (extra) {
|
||||
packet_length = cpu_to_le32(length);
|
||||
memcpy(urb->transfer_buffer + offset,
|
||||
memcpy(urb->transfer_buffer + offs,
|
||||
&packet_length, sizeof(packet_length));
|
||||
offs += extra;
|
||||
}
|
||||
memset(urb->transfer_buffer + offset + extra,
|
||||
memset(urb->transfer_buffer + offs,
|
||||
ep->silence_value, length);
|
||||
offs += counts;
|
||||
offs += length;
|
||||
}
|
||||
|
||||
urb->number_of_packets = ctx->packets;
|
||||
urb->transfer_buffer_length = offs * ep->stride + ctx->packets * extra;
|
||||
if (!offs)
|
||||
return -EPIPE;
|
||||
|
||||
urb->number_of_packets = i;
|
||||
urb->transfer_buffer_length = offs;
|
||||
ctx->queued = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -332,8 +338,7 @@ static int prepare_outbound_urb(struct snd_usb_endpoint *ep,
|
|||
if (data_subs && ep->prepare_data_urb)
|
||||
return ep->prepare_data_urb(data_subs, urb, in_stream_lock);
|
||||
/* no data provider, so send silence */
|
||||
prepare_silent_urb(ep, ctx);
|
||||
break;
|
||||
return prepare_silent_urb(ep, ctx);
|
||||
|
||||
case SND_USB_ENDPOINT_TYPE_SYNC:
|
||||
if (snd_usb_get_speed(ep->chip->dev) >= USB_SPEED_HIGH) {
|
||||
|
|
@ -397,18 +402,21 @@ static int prepare_inbound_urb(struct snd_usb_endpoint *ep,
|
|||
}
|
||||
|
||||
/* notify an error as XRUN to the assigned PCM data substream */
|
||||
static void notify_xrun(struct snd_usb_endpoint *ep)
|
||||
static bool notify_xrun(struct snd_usb_endpoint *ep)
|
||||
{
|
||||
struct snd_usb_substream *data_subs;
|
||||
struct snd_pcm_substream *psubs;
|
||||
|
||||
data_subs = READ_ONCE(ep->data_subs);
|
||||
if (!data_subs)
|
||||
return;
|
||||
return false;
|
||||
psubs = data_subs->pcm_substream;
|
||||
if (psubs && psubs->runtime &&
|
||||
psubs->runtime->state == SNDRV_PCM_STATE_RUNNING)
|
||||
psubs->runtime->state == SNDRV_PCM_STATE_RUNNING) {
|
||||
snd_pcm_stop_xrun(psubs);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
static struct snd_usb_packet_info *
|
||||
|
|
@ -462,7 +470,7 @@ int snd_usb_queue_pending_output_urbs(struct snd_usb_endpoint *ep,
|
|||
while (ep_state_running(ep)) {
|
||||
struct snd_usb_packet_info *packet;
|
||||
struct snd_urb_ctx *ctx = NULL;
|
||||
int err, i;
|
||||
int err;
|
||||
|
||||
scoped_guard(spinlock_irqsave, &ep->lock) {
|
||||
if ((!implicit_fb || ep->next_packet_queued > 0) &&
|
||||
|
|
@ -481,8 +489,9 @@ int snd_usb_queue_pending_output_urbs(struct snd_usb_endpoint *ep,
|
|||
|
||||
/* copy over the length information */
|
||||
if (implicit_fb) {
|
||||
for (i = 0; i < packet->packets; i++)
|
||||
ctx->packet_size[i] = packet->packet_size[i];
|
||||
ctx->packets = packet->packets;
|
||||
memcpy(ctx->packet_size, packet->packet_size,
|
||||
packet->packets * sizeof(packet->packet_size[0]));
|
||||
}
|
||||
|
||||
/* call the data handler to fill in playback data */
|
||||
|
|
@ -588,8 +597,9 @@ static void snd_complete_urb(struct urb *urb)
|
|||
return;
|
||||
|
||||
if (!atomic_read(&ep->chip->shutdown)) {
|
||||
usb_audio_err(ep->chip, "cannot submit urb (err = %d)\n", err);
|
||||
notify_xrun(ep);
|
||||
if (notify_xrun(ep))
|
||||
usb_audio_err(ep->chip,
|
||||
"cannot submit urb (err = %d)\n", err);
|
||||
}
|
||||
|
||||
exit_clear:
|
||||
|
|
@ -1773,10 +1783,11 @@ static void snd_usb_handle_sync_urb(struct snd_usb_endpoint *ep,
|
|||
spin_lock_irqsave(&ep->lock, flags);
|
||||
if (ep->next_packet_queued >= ARRAY_SIZE(ep->next_packet)) {
|
||||
spin_unlock_irqrestore(&ep->lock, flags);
|
||||
usb_audio_err(ep->chip,
|
||||
"next package FIFO overflow EP 0x%x\n",
|
||||
ep->ep_num);
|
||||
notify_xrun(ep);
|
||||
if (notify_xrun(ep)) {
|
||||
usb_audio_err(ep->chip,
|
||||
"next packet FIFO overflow EP 0x%x\n",
|
||||
ep->ep_num);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2148,6 +2148,8 @@ static const struct usb_audio_quirk_flags_table quirk_flags_table[] = {
|
|||
/* Device matches */
|
||||
DEVICE_FLG(0x001f, 0x0b21, /* AB13X USB Audio */
|
||||
QUIRK_FLAG_FORCE_IFACE_RESET | QUIRK_FLAG_IFACE_DELAY),
|
||||
DEVICE_FLG(0x0020, 0x0b21, /* GHW-123P */
|
||||
QUIRK_FLAG_FORCE_IFACE_RESET | QUIRK_FLAG_IFACE_DELAY),
|
||||
DEVICE_FLG(0x03f0, 0x654a, /* HP 320 FHD Webcam */
|
||||
QUIRK_FLAG_GET_SAMPLE_RATE | QUIRK_FLAG_MIC_RES_16),
|
||||
DEVICE_FLG(0x041e, 0x3000, /* Creative SB Extigy */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue