Loading asoc/msm-pcm-q6-noirq.c +14 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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; Loading asoc/msm-pcm-routing-v2.c +12 −5 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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; } } Loading Loading @@ -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, soc/pinctrl-lpi-legacy.c +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> Loading Loading @@ -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; } Loading Loading
asoc/msm-pcm-q6-noirq.c +14 −0 Original line number Diff line number Diff line Loading @@ -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) { Loading @@ -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; Loading
asoc/msm-pcm-routing-v2.c +12 −5 Original line number Diff line number Diff line Loading @@ -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, Loading @@ -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; } } Loading Loading @@ -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,
soc/pinctrl-lpi-legacy.c +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> Loading Loading @@ -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; } Loading