mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 09:11:26 +03:00
tegra-adsp-alt: increase num of plugins
Increase number of supported plugins by ADSP from 10 to 20 Bug 2048629 Change-Id: I44410252635fafb4b4d484ce75e642286e954ab2 Signed-off-by: Hariharan Sivaraman <hariharans@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1664190 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
committed by
Sameer Pujar
parent
a6c5cba8dd
commit
540f5ece2c
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* tegra210_adsp_alt.h - Tegra210 ADSP header
|
||||
*
|
||||
* Copyright (c) 2014-2017 NVIDIA CORPORATION. All rights reserved.
|
||||
* Copyright (c) 2014-2018 NVIDIA CORPORATION. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms and conditions of the GNU General Public License,
|
||||
@@ -154,6 +154,16 @@ enum tegra210_adsp_virt_regs {
|
||||
TEGRA210_ADSP_PLUGIN8,
|
||||
TEGRA210_ADSP_PLUGIN9,
|
||||
TEGRA210_ADSP_PLUGIN10,
|
||||
TEGRA210_ADSP_PLUGIN11,
|
||||
TEGRA210_ADSP_PLUGIN12,
|
||||
TEGRA210_ADSP_PLUGIN13,
|
||||
TEGRA210_ADSP_PLUGIN14,
|
||||
TEGRA210_ADSP_PLUGIN15,
|
||||
TEGRA210_ADSP_PLUGIN16,
|
||||
TEGRA210_ADSP_PLUGIN17,
|
||||
TEGRA210_ADSP_PLUGIN18,
|
||||
TEGRA210_ADSP_PLUGIN19,
|
||||
TEGRA210_ADSP_PLUGIN20,
|
||||
|
||||
TEGRA210_ADSP_VIRT_REG_MAX,
|
||||
};
|
||||
@@ -182,7 +192,8 @@ enum tegra210_adsp_virt_regs {
|
||||
#define ADMA_TX_START TEGRA210_ADSP_PLUGIN_ADMA1_TX
|
||||
#define ADMA_TX_END TEGRA210_ADSP_PLUGIN_ADMA15_TX
|
||||
#define PLUGIN_START TEGRA210_ADSP_PLUGIN1
|
||||
#define PLUGIN_END TEGRA210_ADSP_PLUGIN10
|
||||
#define PLUGIN_END TEGRA210_ADSP_PLUGIN20
|
||||
#define PLUGIN_NUM (PLUGIN_END - PLUGIN_START) + 1
|
||||
#define ADSP_MAX_NULL_SINK (ADSP_ADMAIF_END - ADSP_NULL_SINK_START + 1)
|
||||
|
||||
#define IS_NULL_SINK(reg) ((reg >= ADSP_NULL_SINK_START) && \
|
||||
|
||||
@@ -3492,6 +3492,16 @@ static const char *tegra210_adsp_mux_texts[] = {
|
||||
"PLUGIN8-PLACE-HOLDER",
|
||||
"PLUGIN9-PLACE-HOLDER",
|
||||
"PLUGIN10-PLACE-HOLDER",
|
||||
"PLUGIN11-PLACE-HOLDER",
|
||||
"PLUGIN12-PLACE-HOLDER",
|
||||
"PLUGIN13-PLACE-HOLDER",
|
||||
"PLUGIN14-PLACE-HOLDER",
|
||||
"PLUGIN15-PLACE-HOLDER",
|
||||
"PLUGIN16-PLACE-HOLDER",
|
||||
"PLUGIN17-PLACE-HOLDER",
|
||||
"PLUGIN18-PLACE-HOLDER",
|
||||
"PLUGIN19-PLACE-HOLDER",
|
||||
"PLUGIN20-PLACE-HOLDER",
|
||||
};
|
||||
|
||||
#define ADSP_MUX_ENUM_CTRL_DECL(ename, reg) \
|
||||
@@ -3623,6 +3633,16 @@ static ADSP_MUX_ENUM_CTRL_DECL(plugin7, TEGRA210_ADSP_PLUGIN7);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin8, TEGRA210_ADSP_PLUGIN8);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin9, TEGRA210_ADSP_PLUGIN9);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin10, TEGRA210_ADSP_PLUGIN10);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin11, TEGRA210_ADSP_PLUGIN11);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin12, TEGRA210_ADSP_PLUGIN12);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin13, TEGRA210_ADSP_PLUGIN13);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin14, TEGRA210_ADSP_PLUGIN14);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin15, TEGRA210_ADSP_PLUGIN15);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin16, TEGRA210_ADSP_PLUGIN16);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin17, TEGRA210_ADSP_PLUGIN17);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin18, TEGRA210_ADSP_PLUGIN18);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin19, TEGRA210_ADSP_PLUGIN19);
|
||||
static ADSP_MUX_ENUM_CTRL_DECL(plugin20, TEGRA210_ADSP_PLUGIN20);
|
||||
|
||||
#define ADSP_EP_WIDGETS(sname, ename) \
|
||||
SND_SOC_DAPM_AIF_IN(sname " RX", NULL, 0, SND_SOC_NOPM, 0, 0), \
|
||||
@@ -3779,6 +3799,16 @@ static struct snd_soc_dapm_widget tegra210_adsp_widgets[] = {
|
||||
ADSP_WIDGETS("PLUGIN8-PLACE-HOLDER", plugin8, TEGRA210_ADSP_PLUGIN8),
|
||||
ADSP_WIDGETS("PLUGIN9-PLACE-HOLDER", plugin9, TEGRA210_ADSP_PLUGIN9),
|
||||
ADSP_WIDGETS("PLUGIN10-PLACE-HOLDER", plugin10, TEGRA210_ADSP_PLUGIN10),
|
||||
ADSP_WIDGETS("PLUGIN11-PLACE-HOLDER", plugin11, TEGRA210_ADSP_PLUGIN11),
|
||||
ADSP_WIDGETS("PLUGIN12-PLACE-HOLDER", plugin12, TEGRA210_ADSP_PLUGIN12),
|
||||
ADSP_WIDGETS("PLUGIN13-PLACE-HOLDER", plugin13, TEGRA210_ADSP_PLUGIN13),
|
||||
ADSP_WIDGETS("PLUGIN14-PLACE-HOLDER", plugin14, TEGRA210_ADSP_PLUGIN14),
|
||||
ADSP_WIDGETS("PLUGIN15-PLACE-HOLDER", plugin15, TEGRA210_ADSP_PLUGIN15),
|
||||
ADSP_WIDGETS("PLUGIN16-PLACE-HOLDER", plugin16, TEGRA210_ADSP_PLUGIN16),
|
||||
ADSP_WIDGETS("PLUGIN17-PLACE-HOLDER", plugin17, TEGRA210_ADSP_PLUGIN17),
|
||||
ADSP_WIDGETS("PLUGIN18-PLACE-HOLDER", plugin18, TEGRA210_ADSP_PLUGIN18),
|
||||
ADSP_WIDGETS("PLUGIN19-PLACE-HOLDER", plugin19, TEGRA210_ADSP_PLUGIN19),
|
||||
ADSP_WIDGETS("PLUGIN20-PLACE-HOLDER", plugin20, TEGRA210_ADSP_PLUGIN20),
|
||||
};
|
||||
|
||||
#define ADSP_EP_ROUTES(name) \
|
||||
@@ -3896,7 +3926,17 @@ static struct snd_soc_dapm_widget tegra210_adsp_widgets[] = {
|
||||
{ name " MUX", "PLUGIN7-PLACE-HOLDER", "PLUGIN7-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN8-PLACE-HOLDER", "PLUGIN8-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN9-PLACE-HOLDER", "PLUGIN9-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN10-PLACE-HOLDER", "PLUGIN10-PLACE-HOLDER TX"}
|
||||
{ name " MUX", "PLUGIN10-PLACE-HOLDER", "PLUGIN10-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN11-PLACE-HOLDER", "PLUGIN11-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN12-PLACE-HOLDER", "PLUGIN12-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN13-PLACE-HOLDER", "PLUGIN13-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN14-PLACE-HOLDER", "PLUGIN14-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN15-PLACE-HOLDER", "PLUGIN15-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN16-PLACE-HOLDER", "PLUGIN16-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN17-PLACE-HOLDER", "PLUGIN17-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN18-PLACE-HOLDER", "PLUGIN18-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN19-PLACE-HOLDER", "PLUGIN19-PLACE-HOLDER TX"}, \
|
||||
{ name " MUX", "PLUGIN20-PLACE-HOLDER", "PLUGIN20-PLACE-HOLDER TX"}
|
||||
|
||||
#define ADSP_EP_MUX_ROUTES(name) \
|
||||
{ name " RX", NULL, name " Receive"}, \
|
||||
@@ -4062,6 +4102,16 @@ static struct snd_soc_dapm_route tegra210_adsp_routes[] = {
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN8-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN9-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN10-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN11-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN12-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN13-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN14-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN15-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN16-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN17-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN18-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN19-PLACE-HOLDER"),
|
||||
ADSP_PLUGIN_MUX_ROUTES("PLUGIN20-PLACE-HOLDER"),
|
||||
};
|
||||
|
||||
static void tegra210_adsp_wt_replace(struct device *dev, char **dest1,
|
||||
@@ -4848,6 +4898,26 @@ static struct snd_kcontrol_new tegra210_adsp_controls[] = {
|
||||
TEGRA210_ADSP_PLUGIN9),
|
||||
SND_SOC_PARAM_EXT("PLUGIN10-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN10),
|
||||
SND_SOC_PARAM_EXT("PLUGIN11-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN11),
|
||||
SND_SOC_PARAM_EXT("PLUGIN12-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN12),
|
||||
SND_SOC_PARAM_EXT("PLUGIN13-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN13),
|
||||
SND_SOC_PARAM_EXT("PLUGIN14-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN14),
|
||||
SND_SOC_PARAM_EXT("PLUGIN15-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN15),
|
||||
SND_SOC_PARAM_EXT("PLUGIN16-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN16),
|
||||
SND_SOC_PARAM_EXT("PLUGIN17-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN17),
|
||||
SND_SOC_PARAM_EXT("PLUGIN18-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN18),
|
||||
SND_SOC_PARAM_EXT("PLUGIN19-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN19),
|
||||
SND_SOC_PARAM_EXT("PLUGIN20-PLACE-HOLDER set params",
|
||||
TEGRA210_ADSP_PLUGIN20),
|
||||
SND_SOC_PARAM_TLV("PLUGIN1-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN1, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN2-PLACE-HOLDER send bytes",
|
||||
@@ -4868,6 +4938,26 @@ static struct snd_kcontrol_new tegra210_adsp_controls[] = {
|
||||
TEGRA210_ADSP_PLUGIN9, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN10-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN10, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN11-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN11, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN12-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN12, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN13-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN13, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN14-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN14, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN15-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN15, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN16-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN16, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN17-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN17, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN18-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN18, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN19-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN19, 0x1000),
|
||||
SND_SOC_PARAM_TLV("PLUGIN20-PLACE-HOLDER send bytes",
|
||||
TEGRA210_ADSP_PLUGIN20, 0x1000),
|
||||
SND_SOC_PARAM_EXT("ADMA1 set params",
|
||||
TEGRA210_ADSP_PLUGIN_ADMA1),
|
||||
SND_SOC_PARAM_EXT("ADMA2 set params",
|
||||
@@ -5137,6 +5227,14 @@ static int tegra210_adsp_audio_platform_probe(struct platform_device *pdev)
|
||||
adsp_app_count = 0;
|
||||
}
|
||||
|
||||
/* check for maximum number of plugins */
|
||||
if (adsp_app_count > PLUGIN_NUM) {
|
||||
dev_err(&pdev->dev, "num-plugin: %d\n", adsp_app_count);
|
||||
dev_err(&pdev->dev, "Max plugins supported: %d\n",
|
||||
PLUGIN_NUM);
|
||||
adsp_app_count = PLUGIN_NUM;
|
||||
}
|
||||
|
||||
/* allocate memory for app descritors */
|
||||
adsp_app_desc = devm_kzalloc(&pdev->dev,
|
||||
(adsp_app_count + ARRAY_SIZE(adsp_app_minimal))
|
||||
|
||||
Reference in New Issue
Block a user