From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, bjorn.andersson@linaro.org, broonie@kernel.org, robh@kernel.org Cc: plai@codeaurora.org, tiwai@suse.de, devicetree@vger.kernel.org, perex@perex.cz, alsa-devel@alsa-project.org, lgirdwood@gmail.com, bgoswami@codeaurora.org Subject: Re: [PATCH v8 14/22] ASoC: qdsp6: audioreach: add basic pkt alloc support Date: Tue, 28 Sep 2021 11:10:33 +0100 [thread overview] Message-ID: <d96a7337-c594-c64a-46f9-73d7d6ad77b7@linaro.org> (raw) In-Reply-To: <ebfe1e31-778d-852a-20bf-ac8fe860dcc2@linux.intel.com> On 27/09/2021 17:08, Pierre-Louis Bossart wrote: > > >> +struct apm_sub_graph_params { >> + struct apm_module_param_data param_data; >> + uint32_t num_sub_graphs; >> + struct apm_sub_graph_data sg_cfg[]; >> +} __packed; > > The style you use is num_foobar and later foobar[] > >> +/* container config */ >> +struct apm_container_obj { >> + struct apm_container_cfg container_cfg; >> + /* Capability ID list */ >> + struct apm_prop_data cap_data; >> + uint32_t num_capability_id; >> + uint32_t capability_id; > > but here you have both a num_capability_id and capability_id > > It's not very clear what they mean, or if there is a dependency? DSP supports multiple capabilities for a container, however for now this version of patches only support 1 capability for a container. I will add multiple capabilities once am in a position to test it. > >> + /* Container graph Position */ >> + struct apm_prop_data pos_data; >> + struct apm_cont_prop_id_graph_pos pos; >> + >> + /* Container Stack size */ >> + struct apm_prop_data stack_data; >> + struct apm_cont_prop_id_stack_size stack; >> + >> + /* Container proc domain id */ >> + struct apm_prop_data domain_data; >> + struct apm_cont_prop_id_domain domain; >> +} __packed; > >> +/* Module IDs */ >> +#define MODULE_ID_WR_SHARED_MEM_EP 0x07001000 >> +#define MODULE_ID_RD_SHARED_MEM_EP 0x07001001 >> +#define MODULE_ID_GAIN 0x07001002 >> +#define MODULE_ID_PCM_CNV 0x07001003 >> +#define MODULE_ID_PCM_ENC 0x07001004 >> +#define MODULE_ID_PCM_DEC 0x07001005 >> +#define MODULE_ID_CODEC_DMA_SINK 0x07001023 >> +#define MODULE_ID_CODEC_DMA_SOURCE 0x07001024 >> +#define MODULE_ID_I2S_SINK 0x0700100A >> +#define MODULE_ID_I2S_SOURCE 0x0700100b >> +#define MODULE_ID_DATA_LOGGING 0x0700101A >> + >> +#define APM_CMD_GET_SPF_STATE 0x01001021 >> +#define APM_CMD_RSP_GET_SPF_STATE 0x02001007 >> + >> +#define APM_MODULE_INSTANCE_ID 0x00000001 >> +#define PRM_MODULE_INSTANCE_ID 0x00000002 >> +#define AMDB_MODULE_INSTANCE_ID 0x00000003 >> +#define VCPM_MODULE_INSTANCE_ID 0x00000004 >> +#define AR_MODULE_INSTANCE_ID_START 0x00006000 >> +#define AR_MODULE_INSTANCE_ID_END 0x00007000 >> +#define AR_MODULE_DYNAMIC_INSTANCE_ID_START 0x00007000 >> +#define AR_MODULE_DYNAMIC_INSTANCE_ID_END 0x00008000 >> +#define AR_CONT_INSTANCE_ID_START 0x00005000 >> +#define AR_CONT_INSTANCE_ID_END 0x00006000 >> +#define AR_SG_INSTANCE_ID_START 0x00004000 >> + >> +#define APM_CMD_GRAPH_OPEN 0x01001000 >> +#define APM_CMD_GRAPH_PREPARE 0x01001001 >> +#define APM_CMD_GRAPH_START 0x01001002 >> +#define APM_CMD_GRAPH_STOP 0x01001003 >> +#define APM_CMD_GRAPH_CLOSE 0x01001004 >> +#define APM_CMD_GRAPH_FLUSH 0x01001005 >> +#define APM_CMD_SET_CFG 0x01001006 >> +#define APM_CMD_GET_CFG 0x01001007 >> +#define APM_CMD_SHARED_MEM_MAP_REGIONS 0x0100100c >> +#define APM_CMD_SHARED_MEM_UNMAP_REGIONS 0x0100100d >> +#define APM_CMD_RSP_SHARED_MEM_MAP_REGIONS 0x02001001 >> +#define APM_CMD_RSP_GET_CFG 0x02001000 >> +#define APM_CMD_CLOSE_ALL 0x01001013 >> +#define APM_CMD_REGISTER_SHARED_CFG 0x0100100A > >> +/* APM module */ >> +#define APM_PARAM_ID_SUB_GRAPH_LIST 0x08001005 >> + >> +#define APM_PARAM_ID_MODULE_LIST 0x08001002 > >> +#define APM_PARAM_ID_MODULE_PROP 0x08001003 > > It seems like those definition follow a pattern, e.g. bits 28..32 a type > and bits 0..15 a token? Yes, it does have a pattern, each Opcode is divided in to 3 fields. GUID OWNER 31:28 GUID Type 27:24 MAIN GUID 23:0 --srini > > >>
WARNING: multiple messages have this Message-ID (diff)
From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, bjorn.andersson@linaro.org, broonie@kernel.org, robh@kernel.org Cc: devicetree@vger.kernel.org, alsa-devel@alsa-project.org, bgoswami@codeaurora.org, tiwai@suse.de, plai@codeaurora.org, lgirdwood@gmail.com Subject: Re: [PATCH v8 14/22] ASoC: qdsp6: audioreach: add basic pkt alloc support Date: Tue, 28 Sep 2021 11:10:33 +0100 [thread overview] Message-ID: <d96a7337-c594-c64a-46f9-73d7d6ad77b7@linaro.org> (raw) In-Reply-To: <ebfe1e31-778d-852a-20bf-ac8fe860dcc2@linux.intel.com> On 27/09/2021 17:08, Pierre-Louis Bossart wrote: > > >> +struct apm_sub_graph_params { >> + struct apm_module_param_data param_data; >> + uint32_t num_sub_graphs; >> + struct apm_sub_graph_data sg_cfg[]; >> +} __packed; > > The style you use is num_foobar and later foobar[] > >> +/* container config */ >> +struct apm_container_obj { >> + struct apm_container_cfg container_cfg; >> + /* Capability ID list */ >> + struct apm_prop_data cap_data; >> + uint32_t num_capability_id; >> + uint32_t capability_id; > > but here you have both a num_capability_id and capability_id > > It's not very clear what they mean, or if there is a dependency? DSP supports multiple capabilities for a container, however for now this version of patches only support 1 capability for a container. I will add multiple capabilities once am in a position to test it. > >> + /* Container graph Position */ >> + struct apm_prop_data pos_data; >> + struct apm_cont_prop_id_graph_pos pos; >> + >> + /* Container Stack size */ >> + struct apm_prop_data stack_data; >> + struct apm_cont_prop_id_stack_size stack; >> + >> + /* Container proc domain id */ >> + struct apm_prop_data domain_data; >> + struct apm_cont_prop_id_domain domain; >> +} __packed; > >> +/* Module IDs */ >> +#define MODULE_ID_WR_SHARED_MEM_EP 0x07001000 >> +#define MODULE_ID_RD_SHARED_MEM_EP 0x07001001 >> +#define MODULE_ID_GAIN 0x07001002 >> +#define MODULE_ID_PCM_CNV 0x07001003 >> +#define MODULE_ID_PCM_ENC 0x07001004 >> +#define MODULE_ID_PCM_DEC 0x07001005 >> +#define MODULE_ID_CODEC_DMA_SINK 0x07001023 >> +#define MODULE_ID_CODEC_DMA_SOURCE 0x07001024 >> +#define MODULE_ID_I2S_SINK 0x0700100A >> +#define MODULE_ID_I2S_SOURCE 0x0700100b >> +#define MODULE_ID_DATA_LOGGING 0x0700101A >> + >> +#define APM_CMD_GET_SPF_STATE 0x01001021 >> +#define APM_CMD_RSP_GET_SPF_STATE 0x02001007 >> + >> +#define APM_MODULE_INSTANCE_ID 0x00000001 >> +#define PRM_MODULE_INSTANCE_ID 0x00000002 >> +#define AMDB_MODULE_INSTANCE_ID 0x00000003 >> +#define VCPM_MODULE_INSTANCE_ID 0x00000004 >> +#define AR_MODULE_INSTANCE_ID_START 0x00006000 >> +#define AR_MODULE_INSTANCE_ID_END 0x00007000 >> +#define AR_MODULE_DYNAMIC_INSTANCE_ID_START 0x00007000 >> +#define AR_MODULE_DYNAMIC_INSTANCE_ID_END 0x00008000 >> +#define AR_CONT_INSTANCE_ID_START 0x00005000 >> +#define AR_CONT_INSTANCE_ID_END 0x00006000 >> +#define AR_SG_INSTANCE_ID_START 0x00004000 >> + >> +#define APM_CMD_GRAPH_OPEN 0x01001000 >> +#define APM_CMD_GRAPH_PREPARE 0x01001001 >> +#define APM_CMD_GRAPH_START 0x01001002 >> +#define APM_CMD_GRAPH_STOP 0x01001003 >> +#define APM_CMD_GRAPH_CLOSE 0x01001004 >> +#define APM_CMD_GRAPH_FLUSH 0x01001005 >> +#define APM_CMD_SET_CFG 0x01001006 >> +#define APM_CMD_GET_CFG 0x01001007 >> +#define APM_CMD_SHARED_MEM_MAP_REGIONS 0x0100100c >> +#define APM_CMD_SHARED_MEM_UNMAP_REGIONS 0x0100100d >> +#define APM_CMD_RSP_SHARED_MEM_MAP_REGIONS 0x02001001 >> +#define APM_CMD_RSP_GET_CFG 0x02001000 >> +#define APM_CMD_CLOSE_ALL 0x01001013 >> +#define APM_CMD_REGISTER_SHARED_CFG 0x0100100A > >> +/* APM module */ >> +#define APM_PARAM_ID_SUB_GRAPH_LIST 0x08001005 >> + >> +#define APM_PARAM_ID_MODULE_LIST 0x08001002 > >> +#define APM_PARAM_ID_MODULE_PROP 0x08001003 > > It seems like those definition follow a pattern, e.g. bits 28..32 a type > and bits 0..15 a token? Yes, it does have a pattern, each Opcode is divided in to 3 fields. GUID OWNER 31:28 GUID Type 27:24 MAIN GUID 23:0 --srini > > >>
next prev parent reply other threads:[~2021-09-28 10:10 UTC|newest] Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-27 13:55 [PATCH v8 00/22] ASoC: qcom: Add AudioReach support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 01/22] soc: dt-bindings: qcom: apr: convert to yaml Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 02/22] soc: dt-bindings: qcom: apr: deprecate qcom,apr-domain property Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 02/22] soc: dt-bindings: qcom: apr: deprecate qcom, apr-domain property Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 03/22] soc: qcom: apr: make code more reuseable Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 04/22] soc: dt-bindings: qcom: add gpr bindings Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 05/22] soc: qcom: apr: Add GPR support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 06/22] ASoC: dt-bindings: move LPASS dai related bindings out of q6afe Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 07/22] ASoC: dt-bindings: move LPASS clocks " Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 08/22] ASoC: dt-bindings: rename q6afe.h to q6dsp-lpass-ports.h Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 09/22] ASoC: qdsp6: q6afe-dai: move lpass audio ports to common file Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 10/22] ASoC: qdsp6: q6afe-clocks: move audio-clocks " Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 11/22] ASoC: dt-bindings: q6dsp: add q6apm-lpass-dai compatible Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 12/22] ASoC: dt-bindings: lpass-clocks: add q6prm clocks compatible Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 13/22] ASoC: dt-bindings: add q6apm digital audio stream bindings Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 14/22] ASoC: qdsp6: audioreach: add basic pkt alloc support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 16:08 ` Pierre-Louis Bossart 2021-09-27 16:08 ` Pierre-Louis Bossart 2021-09-28 10:10 ` Srinivas Kandagatla [this message] 2021-09-28 10:10 ` Srinivas Kandagatla 2021-09-28 8:00 ` Amadeusz Sławiński 2021-09-28 8:00 ` Amadeusz Sławiński 2021-09-28 9:31 ` Srinivas Kandagatla 2021-09-28 9:31 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 15/22] ASoC: qdsp6: audioreach: add q6apm support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-28 8:23 ` Amadeusz Sławiński 2021-09-28 8:23 ` Amadeusz Sławiński 2021-09-28 9:31 ` Srinivas Kandagatla 2021-09-28 9:31 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 16/22] ASoC: qdsp6: audioreach: add module configuration command helpers Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 16:16 ` Pierre-Louis Bossart 2021-09-27 16:16 ` Pierre-Louis Bossart 2021-09-28 10:21 ` Srinivas Kandagatla 2021-09-28 10:21 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 17/22] ASoC: qdsp6: audioreach: add Kconfig and Makefile Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 18/22] ASoC: qdsp6: audioreach: add topology support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 16:21 ` Pierre-Louis Bossart 2021-09-27 16:21 ` Pierre-Louis Bossart 2021-09-28 9:34 ` Srinivas Kandagatla 2021-09-28 9:34 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 19/22] ASoC: qdsp6: audioreach: add q6apm-dai support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 16:25 ` Pierre-Louis Bossart 2021-09-27 16:25 ` Pierre-Louis Bossart 2021-09-28 9:33 ` Srinivas Kandagatla 2021-09-28 9:33 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 20/22] ASoC: qdsp6: audioreach: add q6apm lpass dai support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 21/22] ASoC: qdsp6: audioreach: add q6prm support Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 13:55 ` [PATCH v8 22/22] ASoC: qdsp6: audioreach: add support for q6prm-clocks Srinivas Kandagatla 2021-09-27 13:55 ` Srinivas Kandagatla 2021-09-27 16:32 ` [PATCH v8 00/22] ASoC: qcom: Add AudioReach support Pierre-Louis Bossart 2021-09-27 16:32 ` Pierre-Louis Bossart 2021-09-28 3:19 ` Bjorn Andersson 2021-09-28 3:19 ` Bjorn Andersson 2021-09-28 3:20 ` (subset) " Bjorn Andersson 2021-09-28 3:20 ` Bjorn Andersson 2021-09-28 8:47 ` Srinivas Kandagatla 2021-09-28 8:47 ` Srinivas Kandagatla
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=d96a7337-c594-c64a-46f9-73d7d6ad77b7@linaro.org \ --to=srinivas.kandagatla@linaro.org \ --cc=alsa-devel@alsa-project.org \ --cc=bgoswami@codeaurora.org \ --cc=bjorn.andersson@linaro.org \ --cc=broonie@kernel.org \ --cc=devicetree@vger.kernel.org \ --cc=lgirdwood@gmail.com \ --cc=perex@perex.cz \ --cc=pierre-louis.bossart@linux.intel.com \ --cc=plai@codeaurora.org \ --cc=robh@kernel.org \ --cc=tiwai@suse.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.