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

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

Merge d212c829 on remote branch

Change-Id: I308a0b546d5fd4ef724922c844b547cd7132d8f2
parents 3046c28f d212c829
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -153,6 +153,8 @@ static const struct soc_enum msm_pcm_fe_topology_enum[] = {
static void event_handler(uint32_t opcode,
		uint32_t token, uint32_t *payload, void *priv)
{
	struct msm_audio *prtd = priv;
	struct snd_pcm_substream *substream;
	uint32_t *ptrmem = (uint32_t *)payload;

	switch (opcode) {
@@ -171,6 +173,18 @@ static void event_handler(uint32_t opcode,
			break;
		}
		break;
	case RESET_EVENTS:
		if (!prtd || !prtd->substream) {
			pr_err("%s: prtd or substream is NULL\n", __func__);
			return;
		}
		substream = prtd->substream;
		if (!substream->runtime || !substream->runtime->status) {
			pr_err("%s: runtime or runtime->status is NULL\n", __func__);
			return;
		}
		substream->runtime->status->state = SNDRV_PCM_STATE_DISCONNECTED;
		break;
	default:
		pr_debug("Not Supported Event opcode[0x%x]\n", opcode);
		break;
+12 −5
Original line number Diff line number Diff line
@@ -1166,10 +1166,13 @@ int msm_pcm_routing_get_stream_app_type_cfg(
EXPORT_SYMBOL(msm_pcm_routing_get_stream_app_type_cfg);
static struct cal_block_data *msm_routing_find_topology_by_path(int path,
								int cal_index)
								int cal_index,
								int app_type,
								int acdb_id)
{
	struct list_head		*ptr, *next;
	struct cal_block_data		*cal_block = NULL;
	struct audio_cal_info_adm_top *cal_info;
	pr_debug("%s\n", __func__);
	list_for_each_safe(ptr, next,
@@ -1180,9 +1183,11 @@ static struct cal_block_data *msm_routing_find_topology_by_path(int path,
		if (cal_utils_is_cal_stale(cal_block))
			continue;
		if (((struct audio_cal_info_adm_top *)cal_block
			->cal_info)->path == path) {
		cal_info = (struct audio_cal_info_adm_top *)
                      	 	 cal_block->cal_info;
		if ((cal_info->path == path)  &&
			(cal_info->app_type == app_type) &&
			(cal_info->acdb_id == acdb_id)) {
			return cal_block;
		}
	}
@@ -1223,7 +1228,9 @@ static struct cal_block_data *msm_routing_find_topology(int path,
		 "acdb_id %d %s\n",  __func__, path, app_type, acdb_id,
		 exact ? "fail" : "defaulting to search by path");
	return exact ? NULL : msm_routing_find_topology_by_path(path,
								cal_index);
								cal_index,
								app_type,
								acdb_id);
}
static int msm_routing_find_topology_on_index(int session_type, int app_type,
+8 −5
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include <linux/gpio.h>
@@ -224,12 +225,14 @@ static int lpi_gpio_set_mux(struct pinctrl_dev *pctldev, unsigned int function,

	pad = pctldev->desc->pins[pin].drv_data;

        if (pad != NULL) {
	        pad->function = function;

	        val = lpi_gpio_read(pad, LPI_GPIO_REG_VAL_CTL);
	        val &= ~(LPI_GPIO_REG_FUNCTION_MASK);
	        val |= pad->function << LPI_GPIO_REG_FUNCTION_SHIFT;
	        lpi_gpio_write(pad, LPI_GPIO_REG_VAL_CTL, val);
        }
	return 0;
}