Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d776211b authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 28658bc2 on remote branch

Change-Id: I1236c27fbb7e38f9ec8bbb7db4fd02edbee62bfc
parents c9af4b76 28658bc2
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2015-2016, 2018-2021, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include <linux/clk.h>
@@ -1470,7 +1471,7 @@ static int wsa881x_i2c_probe(struct i2c_client *client,
					pdata->regmap[WSA881X_DIGITAL_SLAVE],
					WSA881X_DIGITAL_SLAVE);
		}
		pdata->wsa881x_id == wsa881x_i2c_read_device(pdata,
		pdata->wsa881x_id = wsa881x_i2c_read_device(pdata,
					WSA881X_OTP_REG_0);
		if (pdata->wsa881x_id & 0x01) {
			pdata->wsa881x_id = WSA8815;
+7 −6
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */


@@ -2907,18 +2908,18 @@ static int msm_compr_pointer(struct snd_compr_stream *cstream,
	spin_lock_irqsave(&prtd->lock, flags);
	tstamp.sampling_rate = prtd->sample_rate;
	tstamp.byte_offset = prtd->byte_offset;
	if (cstream->direction == SND_COMPRESS_PLAYBACK)
	if (cstream->direction == SND_COMPRESS_PLAYBACK) {
		runtime->total_bytes_transferred = prtd->copied_total;
		tstamp.copied_total = prtd->copied_total;
	else if (cstream->direction == SND_COMPRESS_CAPTURE)
	}
	else if (cstream->direction == SND_COMPRESS_CAPTURE) {
		runtime->total_bytes_available = prtd->received_total;
		tstamp.copied_total = prtd->received_total;
	}
	first_buffer = prtd->first_buffer;
	if (atomic_read(&prtd->error)) {
		pr_err_ratelimited("%s Got RESET EVENTS notification, return error\n",
				   __func__);
		if (cstream->direction == SND_COMPRESS_PLAYBACK)
			runtime->total_bytes_transferred = tstamp.copied_total;
		else
			runtime->total_bytes_available = tstamp.copied_total;
		tstamp.pcm_io_frames = 0;
		memcpy(arg, &tstamp, sizeof(struct snd_compr_tstamp));
		spin_unlock_irqrestore(&prtd->lock, flags);
+9 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved.
 * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
 */


@@ -1007,6 +1008,14 @@ static int msm_pcm_capture_copy(struct snd_pcm_substream *substream,
			xfer = size;
		offset = prtd->in_frame_info[idx].offset;
		pr_debug("Offset value = %d\n", offset);

		if (offset >= size) {
			pr_err("%s: Invalid dsp buf offset\n", __func__);
			ret = -EFAULT;
			q6asm_cpu_buf_release(OUT, prtd->audio_client);
			goto fail;
		}

		if (size == 0 || size < prtd->pcm_count) {
			memset(bufptr + offset + size, 0, prtd->pcm_count - size);
			if (fbytes > prtd->pcm_count)
+5 −0
Original line number Diff line number Diff line
@@ -21836,6 +21836,10 @@ static const struct snd_kcontrol_new wsa_cdc_dma_rx_0_port_mixer_controls[] = {
	MSM_BACKEND_DAI_WSA_CDC_DMA_RX_0,
	MSM_BACKEND_DAI_SLIMBUS_8_TX, 1, 0, msm_routing_get_port_mixer,
	msm_routing_put_port_mixer),
	SOC_DOUBLE_EXT("SLIM_7_TX", SND_SOC_NOPM,
	MSM_BACKEND_DAI_WSA_CDC_DMA_RX_0,
	MSM_BACKEND_DAI_SLIMBUS_7_TX, 1, 0, msm_routing_get_port_mixer,
	msm_routing_put_port_mixer),
	SOC_DOUBLE_EXT("TERT_MI2S_TX", SND_SOC_NOPM,
	MSM_BACKEND_DAI_WSA_CDC_DMA_RX_0,
	MSM_BACKEND_DAI_TERTIARY_MI2S_TX, 1, 0, msm_routing_get_port_mixer,
@@ -27295,6 +27299,7 @@ static const struct snd_soc_dapm_route intercon[] = {
	{"WSA_CDC_DMA_RX_0 Port Mixer", "VA_CDC_DMA_TX_0", "VA_CDC_DMA_TX_0"},
	{"WSA_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"},
	{"WSA_CDC_DMA_RX_0 Port Mixer", "SLIM_8_TX", "SLIMBUS_8_TX"},
	{"WSA_CDC_DMA_RX_0 Port Mixer", "SLIM_7_TX", "SLIMBUS_7_TX"},
	{"WSA_CDC_DMA_RX_0", NULL, "WSA_CDC_DMA_RX_0 Port Mixer"},
	{"RX_CDC_DMA_RX_0 Port Mixer", "TX_CDC_DMA_TX_3", "TX_CDC_DMA_TX_3"},
+3 −0
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#ifndef _LINUX_SOUNDWIRE_H
@@ -83,6 +84,7 @@ struct swr_port_info {
	u8 req_ch;
	u8 num_ch;
	u32 ch_rate;
	u64 dev_addr;
};

/*
@@ -107,6 +109,7 @@ struct swr_params {
	u32 ch_rate[SWR_MAX_DEV_PORT_NUM];
	u8 ch_en[SWR_MAX_DEV_PORT_NUM];
	u8 port_type[SWR_MAX_DEV_PORT_NUM];
	u64 dev_addr;
};

/*
Loading