Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge/sound upstream 20241106 #5230

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
72cafe6
ALSA: firewire-lib: Avoid division by zero in apply_constraint_to_size()
Oct 18, 2024
35fdc6e
ALSA: hda/realtek: Add subwoofer quirk for Acer Predator G9-593
jrelvas-ipc Oct 20, 2024
86c96e7
ALSA: hda/tas2781: select CRC32 instead of CRC32_SARWATE
ebiggers Oct 20, 2024
e3ea275
ALSA: hda/realtek: Update default depop procedure
KailangYang Oct 23, 2024
c9f7a14
Merge tag 'asoc-fix-v6.12-rc4' of https://git.kernel.org/pub/scm/linu…
tiwai Oct 24, 2024
78e7be0
ALSA: hda/realtek: Limit internal Mic boost on Dell platform
KailangYang Oct 18, 2024
ef5fbdf
ALSA: hda/realtek: Add subwoofer quirk for Infinix ZERO BOOK 13
Pc1598 Oct 28, 2024
7027eee
Merge tag 'asoc-fix-v6.12-rc5' of https://git.kernel.org/pub/scm/linu…
tiwai Oct 30, 2024
4413665
ALSA: usb-audio: Add quirks for Dell WD19 dock
jscissr Oct 29, 2024
0b04fbe
ALSA: hda/realtek: Fix headset mic on TUXEDO Gemini 17 Gen3
tuxedoxt Oct 29, 2024
e49370d
ALSA: hda/realtek: Fix headset mic on TUXEDO Stellaris 16 Gen6 mb1
tuxedoxt Oct 29, 2024
bd0aff8
ASoC: codecs: wcd937x: Remove unused of_gpio.h
andy-shev Oct 31, 2024
0196105
ASoC: doc: update clock api details
yesanishhere Oct 31, 2024
c9363bb
Revert "ALSA: hda/conexant: Mute speakers at suspend / shutdown"
Oct 30, 2024
1ed9b92
regmap: maple: Provide lockdep (sub)class for maple tree's internal lock
cristicc Oct 31, 2024
485df22
ASoC: sdw_utils/intel/amd: refactor dai link init logic
vijendarmukunda Nov 1, 2024
d280cf5
ASoC: sdw_utils: Update stream_name in dai_links structure
vijendarmukunda Nov 1, 2024
1d534bf
ASoC: dt-bindings: Add schema for "awinic,aw88081"
wangweidonga Oct 24, 2024
88264e4
ASoC: codecs: Add aw88081 amplifier driver
wangweidonga Oct 24, 2024
40e47e2
ASoC: rename rtd->num to rtd->id
morimoto Oct 24, 2024
eae33f7
ASoC: fsl: switch to use rtd->id from rtd->num
morimoto Oct 24, 2024
b19f75d
ASoC: meson: switch to use rtd->id from rtd->num
morimoto Oct 24, 2024
970a874
ASoC: sh: switch to use rtd->id from rtd->num
morimoto Oct 24, 2024
742e622
ASoC: generic: switch to use rtd->id from rtd->num
morimoto Oct 24, 2024
c59db5e
ASoC: remove rtd->num
morimoto Oct 24, 2024
cb18cd2
ASoC: soc-core: do rtd->id trick at snd_soc_add_pcm_runtime()
morimoto Oct 24, 2024
8b12da9
ASoC: cleanup function parameter for rtd and its id
morimoto Oct 24, 2024
953e549
regmap: irq: Set lockdep class for hierarchical IRQ domains
andy-shev Nov 1, 2024
c2d188e
ALSA: ump: Don't enumeration invalid groups for legacy rawmidi
tiwai Nov 4, 2024
8abbf1f
ALSA: firewire-lib: fix return value on fail in amdtp_tscm_init()
Nov 1, 2024
cac99f7
ALSA: hda: intel: Don't free interrupt when suspending
hkallweit Oct 31, 2024
149cb7d
ALSA: hda: intel: Switch to pci_alloc_irq_vectors API
hkallweit Oct 31, 2024
fe09de2
ASoC: tas2781: Add new driver version for tas2563 & tas2781 qfn chip
Shenghao-Ding Nov 4, 2024
8ae4c65
ALSA: hda: Fix unused variable warning
tiwai Nov 4, 2024
dabc44c
ALSA: usb-audio: Add quirk for HP 320 FHD Webcam
tiwai Nov 5, 2024
b22b2e3
Merge branch 'for-linus' into for-next
tiwai Nov 5, 2024
d6e6b92
ALSA: usb-audio: Make mic volume workarounds globally applicable
tiwai Nov 5, 2024
224b898
ASoC: amd: acp: Fix for ACP SOF dmic tplg component load failure
Venkata-Prasad-Potturu Nov 4, 2024
82e54d6
ASoC: dt-bindings: fsl_spdif: Document imx6sl/sx compatible fallback
Oct 28, 2024
8f5fab5
ASoC: codecs: ES8326: Reduce pop noise
Michael-zy2000 Oct 31, 2024
1590988
ASoC: qcom: x1e80100: Support boards with two speakers
krzk Oct 23, 2024
1157733
ASoC: codecs: Fix atomicity violation in snd_soc_component_get_drvdata()
TomRita999 Sep 30, 2024
28f7aa0
ASoC: bcm63xx-pcm-whistler: fix uninit-value in i2s_dma_isr
SurajSonawane2415 Nov 2, 2024
101c902
ASoC: fsl_mqs: Support accessing registers by scmi interface
TE-N-ShengjiuWang Oct 25, 2024
a80aede
ASoC: dt-bindings: sprd,pcm-platform: convert to YAML
Oct 30, 2024
3105581
ASoC: dt-bindings: sprd,sc9860-mcdt: convert to YAML
Oct 30, 2024
393de01
ASoC: dt-bindings: qcom,sm8250: Add SM8750 sound card
krzk Nov 1, 2024
4b9f02b
ASoC: qcom: sc8280xp Add SM8750 sound card
krzk Nov 1, 2024
adf7ea4
ASoC: dt-bindings: fsl-esai: allow fsl,imx8qm-esai fallback to fsl,im…
nxpfrankli Oct 28, 2024
08a3b24
MAINTAINERS: Generic Sound Card section
morimoto Nov 5, 2024
9bb4af4
ASoC: stm32: spdifrx: fix dma channel release in stm32_spdifrx_remove
ADESTM Nov 5, 2024
93b763a
ASoC: rt722: change the interrupt mask for jack type detection
shumingfan Nov 5, 2024
af23d38
ASoC: Intel: sof_sdw: Add missing quirks from some new Dell
DeepHarsora-Dell Nov 5, 2024
ed4bcfb
ASoC: dt-bindings: mediatek,mt8188-mt6359: Add mediatek,adsp property
Nov 5, 2024
b3cb7f2
ASoC: rt721-sdca: change interrupt mask from XU to GE
Nov 5, 2024
9934878
ASoC: dt-bindings: everest,es8326: Document interrupt property
Nov 5, 2024
ff96429
ASoC: cleasnup rtd and its ID
broonie Nov 5, 2024
a441eff
Soundwire dai link init logic refactor
broonie Nov 5, 2024
aaa7382
ASoC: codecs: Add aw88081 amplifier driver
broonie Nov 5, 2024
a18dadd
Merge remote-tracking branch 'asoc/for-6.13' into asoc-next
broonie Nov 5, 2024
9feeac6
Merge remote-tracking branch 'takashi/for-next' into sound/upstream-2…
bardliao Nov 6, 2024
408869f
Merge remote-tracking branch 'soundwire/next' into sound/upstream-202…
bardliao Nov 6, 2024
c683b79
Merge remote-tracking branch 'regmap/for-next' into sound/upstream-20…
bardliao Nov 6, 2024
7665bc6
Merge branch 'sound/upstream-20241106' into merge/sound-upstream-2024…
bardliao Nov 6, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ description:
properties:
compatible:
enum:
- awinic,aw88395
- awinic,aw88081
- awinic,aw88261
- awinic,aw88395
- awinic,aw88399

reg:
Expand Down Expand Up @@ -56,6 +57,7 @@ allOf:
compatible:
contains:
enum:
- awinic,aw88081
- awinic,aw88261
then:
properties:
Expand Down
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/sound/everest,es8326.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ properties:
items:
- const: mclk

interrupts:
maxItems: 1
description: interrupt output for headset detection

"#sound-dai-cells":
const: 0

Expand Down
14 changes: 9 additions & 5 deletions Documentation/devicetree/bindings/sound/fsl,esai.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,15 @@ description:

properties:
compatible:
enum:
- fsl,imx35-esai
- fsl,imx6ull-esai
- fsl,imx8qm-esai
- fsl,vf610-esai
oneOf:
- enum:
- fsl,imx35-esai
- fsl,imx6ull-esai
- fsl,vf610-esai
- items:
- enum:
- fsl,imx8qm-esai
- const: fsl,imx6ull-esai

reg:
maxItems: 1
Expand Down
27 changes: 17 additions & 10 deletions Documentation/devicetree/bindings/sound/fsl,spdif.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,23 @@ description: |

properties:
compatible:
enum:
- fsl,imx35-spdif
- fsl,vf610-spdif
- fsl,imx6sx-spdif
- fsl,imx8qm-spdif
- fsl,imx8qxp-spdif
- fsl,imx8mq-spdif
- fsl,imx8mm-spdif
- fsl,imx8mn-spdif
- fsl,imx8ulp-spdif
oneOf:
- items:
- enum:
- fsl,imx35-spdif
- fsl,imx6sx-spdif
- fsl,imx8mm-spdif
- fsl,imx8mn-spdif
- fsl,imx8mq-spdif
- fsl,imx8qm-spdif
- fsl,imx8qxp-spdif
- fsl,imx8ulp-spdif
- fsl,vf610-spdif
- items:
- enum:
- fsl,imx6sl-spdif
- fsl,imx6sx-spdif
- const: fsl,imx35-spdif

reg:
maxItems: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ properties:
$ref: /schemas/types.yaml#/definitions/phandle
description: The phandle of MT8188 ASoC platform.

mediatek,adsp:
$ref: /schemas/types.yaml#/definitions/phandle
description:
The phandle of the MT8188 ADSP platform, which is the optional Audio DSP
hardware that provides additional audio functionalities if present.
The AFE will link to ADSP when the phandle is provided.

patternProperties:
"^dai-link-[0-9]+$":
type: object
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/sound/qcom,sm8250.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ properties:
- enum:
- qcom,sm8550-sndcard
- qcom,sm8650-sndcard
- qcom,sm8750-sndcard
- const: qcom,sm8450-sndcard
- enum:
- qcom,apq8096-sndcard
Expand Down
56 changes: 56 additions & 0 deletions Documentation/devicetree/bindings/sound/sprd,pcm-platform.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/sprd,pcm-platform.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Spreadtrum DMA platform

maintainers:
- Orson Zhai <[email protected]>
- Baolin Wang <[email protected]>
- Chunyan Zhang <[email protected]>

properties:
compatible:
const: sprd,pcm-platform

dmas:
maxItems: 10

dma-names:
items:
- const: normal_p_l
- const: normal_p_r
- const: normal_c_l
- const: normal_c_r
- const: voice_c
- const: fast_p
- const: loop_c
- const: loop_p
- const: voip_c
- const: voip_p

required:
- compatible
- dmas
- dma-names

additionalProperties: false

examples:
- |
platform {
compatible = "sprd,pcm-platform";
dmas = <&agcp_dma 1 1>, <&agcp_dma 2 2>,
<&agcp_dma 3 3>, <&agcp_dma 4 4>,
<&agcp_dma 5 5>, <&agcp_dma 6 6>,
<&agcp_dma 7 7>, <&agcp_dma 8 8>,
<&agcp_dma 9 9>, <&agcp_dma 10 10>;
dma-names = "normal_p_l", "normal_p_r",
"normal_c_l", "normal_c_r",
"voice_c", "fast_p",
"loop_c", "loop_p",
"voip_c", "voip_p";
};
...
47 changes: 47 additions & 0 deletions Documentation/devicetree/bindings/sound/sprd,sc9860-mcdt.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/sprd,sc9860-mcdt.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Spreadtrum Multi-Channel Data Transfer controller

description:
The Multi-channel data transfer controller is used for sound stream
transmission between the audio subsystem and other AP/CP subsystem. It
supports 10 DAC channels and 10 ADC channels, and each channel can be
configured with DMA mode or interrupt mode.

maintainers:
- Orson Zhai <[email protected]>
- Baolin Wang <[email protected]>
- Chunyan Zhang <[email protected]>

properties:
compatible:
const: sprd,sc9860-mcdt

reg:
maxItems: 1

interrupts:
maxItems: 1

required:
- compatible
- reg
- interrupts

additionalProperties: false

examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>

mcdt@41490000 {
compatible = "sprd,sc9860-mcdt";
reg = <0x41490000 0x170>;
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
};
...
19 changes: 0 additions & 19 deletions Documentation/devicetree/bindings/sound/sprd-mcdt.txt

This file was deleted.

23 changes: 0 additions & 23 deletions Documentation/devicetree/bindings/sound/sprd-pcm.txt

This file was deleted.

12 changes: 12 additions & 0 deletions Documentation/sound/soc/clocking.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,17 @@ rate, number of channels and word size) to save on power.
It is also desirable to use the codec (if possible) to drive (or master) the
audio clocks as it usually gives more accurate sample rates than the CPU.

ASoC provided clock APIs
------------------------

.. kernel-doc:: sound/soc/soc-dai.c
:identifiers: snd_soc_dai_set_sysclk

.. kernel-doc:: sound/soc/soc-dai.c
:identifiers: snd_soc_dai_set_clkdiv

.. kernel-doc:: sound/soc/soc-dai.c
:identifiers: snd_soc_dai_set_pll

.. kernel-doc:: sound/soc/soc-dai.c
:identifiers: snd_soc_dai_set_bclk_ratio
9 changes: 9 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -21584,6 +21584,15 @@ S: Supported
W: https://github.com/thesofproject/linux/
F: sound/soc/sof/

SOUND - GENERIC SOUND CARD (Simple-Audio-Card, Audio-Graph-Card)
M: Kuninori Morimoto <[email protected]>
S: Supported
L: [email protected]
F: sound/soc/generic/
F: include/sound/simple_card*
F: Documentation/devicetree/bindings/sound/simple-card.yaml
F: Documentation/devicetree/bindings/sound/audio-graph*.yaml

SOUNDWIRE SUBSYSTEM
M: Vinod Koul <[email protected]>
M: Bard Liao <[email protected]>
Expand Down
1 change: 1 addition & 0 deletions drivers/base/regmap/internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ struct regmap {
unsigned long raw_spinlock_flags;
};
};
struct lock_class_key *lock_key;
regmap_lock lock;
regmap_unlock unlock;
void *lock_arg; /* This is passed to lock/unlock functions */
Expand Down
3 changes: 3 additions & 0 deletions drivers/base/regmap/regcache-maple.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,9 @@ static int regcache_maple_init(struct regmap *map)

mt_init(mt);

if (!mt_external_lock(mt) && map->lock_key)
lockdep_set_class_and_subclass(&mt->ma_lock, map->lock_key, 1);

for (i = 0; i < map->num_reg_defaults; i++) {
ret = regcache_maple_write(map,
map->reg_defaults[i].reg,
Expand Down
4 changes: 4 additions & 0 deletions drivers/base/regmap/regmap-irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -511,12 +511,16 @@ static irqreturn_t regmap_irq_thread(int irq, void *d)
return IRQ_NONE;
}

static struct lock_class_key regmap_irq_lock_class;
static struct lock_class_key regmap_irq_request_class;

static int regmap_irq_map(struct irq_domain *h, unsigned int virq,
irq_hw_number_t hw)
{
struct regmap_irq_chip_data *data = h->host_data;

irq_set_chip_data(virq, data);
irq_set_lockdep_class(virq, &regmap_irq_lock_class, &regmap_irq_request_class);
irq_set_chip(virq, &data->irq_chip);
irq_set_nested_thread(virq, 1);
irq_set_parent(virq, data->irq);
Expand Down
1 change: 1 addition & 0 deletions drivers/base/regmap/regmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -745,6 +745,7 @@ struct regmap *__regmap_init(struct device *dev,
lock_key, lock_name);
}
map->lock_arg = map;
map->lock_key = lock_key;
}

/*
Expand Down
5 changes: 2 additions & 3 deletions include/sound/soc-dai.h
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,7 @@ void snd_soc_dai_shutdown(struct snd_soc_dai *dai,
struct snd_pcm_substream *substream, int rollback);
void snd_soc_dai_suspend(struct snd_soc_dai *dai);
void snd_soc_dai_resume(struct snd_soc_dai *dai);
int snd_soc_dai_compress_new(struct snd_soc_dai *dai,
struct snd_soc_pcm_runtime *rtd, int num);
int snd_soc_dai_compress_new(struct snd_soc_dai *dai, struct snd_soc_pcm_runtime *rtd);
bool snd_soc_dai_stream_valid(const struct snd_soc_dai *dai, int stream);
void snd_soc_dai_action(struct snd_soc_dai *dai,
int stream, int action);
Expand Down Expand Up @@ -275,7 +274,7 @@ struct snd_soc_dai_ops {
int (*probe)(struct snd_soc_dai *dai);
int (*remove)(struct snd_soc_dai *dai);
/* compress dai */
int (*compress_new)(struct snd_soc_pcm_runtime *rtd, int num);
int (*compress_new)(struct snd_soc_pcm_runtime *rtd);
/* Optional Callback used at pcm creation*/
int (*pcm_new)(struct snd_soc_pcm_runtime *rtd,
struct snd_soc_dai *dai);
Expand Down
8 changes: 4 additions & 4 deletions include/sound/soc.h
Original file line number Diff line number Diff line change
Expand Up @@ -486,11 +486,11 @@ struct snd_soc_component *snd_soc_lookup_component_nolocked(struct device *dev,
struct snd_soc_component *snd_soc_lookup_component(struct device *dev,
const char *driver_name);

int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num);
int soc_new_pcm(struct snd_soc_pcm_runtime *rtd);
#ifdef CONFIG_SND_SOC_COMPRESS
int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num);
int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd);
#else
static inline int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
static inline int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd)
{
return 0;
}
Expand Down Expand Up @@ -1195,7 +1195,7 @@ struct snd_soc_pcm_runtime {
struct dentry *debugfs_dpcm_root;
#endif

unsigned int num; /* 0-based and monotonic increasing */
unsigned int id; /* 0-based and monotonic increasing */
struct list_head list; /* rtd list of the soc card */

/* function mark */
Expand Down
2 changes: 1 addition & 1 deletion sound/core/ump.c
Original file line number Diff line number Diff line change
Expand Up @@ -1233,7 +1233,7 @@ static int fill_legacy_mapping(struct snd_ump_endpoint *ump)

num = 0;
for (i = 0; i < SNDRV_UMP_MAX_GROUPS; i++)
if (group_maps & (1U << i))
if ((group_maps & (1U << i)) && ump->groups[i].valid)
ump->legacy_mapping[num++] = i;

return num;
Expand Down
3 changes: 3 additions & 0 deletions sound/firewire/amdtp-stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,9 @@ static int apply_constraint_to_size(struct snd_pcm_hw_params *params,
step = max(step, amdtp_syt_intervals[i]);
}

if (step == 0)
return -EINVAL;

t.min = roundup(s->min, step);
t.max = rounddown(s->max, step);
t.integer = 1;
Expand Down
Loading
Loading