Browse Source

ASoC: dsp: Update audio effects driver to support Instance ID

Add support to set and get audio effects module params with
Instance ID support. Maintain support for non
Instance ID set and get param structures as well.
Use common pack and set param functions to set and
get parameters to DSP instead of handling them at an
individual module level.

CRs-Fixed: 2151551
Change-Id: I0fdba2560950c931a2ec6f152499fd4bb9f59086
Signed-off-by: Vignesh Kulothungan <[email protected]>
Vignesh Kulothungan 7 years ago
parent
commit
fa497d2051
4 changed files with 364 additions and 443 deletions
  1. 360 411
      asoc/msm-audio-effects-q6-v2.c
  2. 0 29
      dsp/q6asm.c
  3. 0 3
      include/dsp/q6asm-v2.h
  4. 4 0
      include/uapi/sound/audio_effects.h

File diff suppressed because it is too large
+ 360 - 411
asoc/msm-audio-effects-q6-v2.c


+ 0 - 29
dsp/q6asm.c

@@ -8778,35 +8778,6 @@ fail_cmd:
 }
 EXPORT_SYMBOL(q6asm_get_session_time_legacy);
 
-/**
- * q6asm_send_audio_effects_params -
- *       command to send audio effects params
- *
- * @ac: Audio client handle
- * @params: audio effects params
- * @params_length: size of params
- *
- * Returns 0 on success or error on failure
- */
-int q6asm_send_audio_effects_params(struct audio_client *ac, char *params,
-				    uint32_t params_length)
-{
-	int rc;
-
-	pr_debug("%s:\n", __func__);
-
-	/*
-	 * Leave function as wrapper for use by effects. Params must be properly
-	 * packed. Use q6common_pack_pp_param to pack params correctly.
-	 */
-	rc = q6asm_set_pp_params(ac, NULL, params, params_length);
-	if (rc)
-		pr_err("%s: audio effects set-params send failed\n", __func__);
-
-	return rc;
-}
-EXPORT_SYMBOL(q6asm_send_audio_effects_params);
-
 /**
  * q6asm_send_mtmx_strtr_window -
  *       command to send matrix for window params

+ 0 - 3
include/dsp/q6asm-v2.h

@@ -635,9 +635,6 @@ int q6asm_get_session_time(struct audio_client *ac, uint64_t *tstamp);
 
 int q6asm_get_session_time_legacy(struct audio_client *ac, uint64_t *tstamp);
 
-int q6asm_send_audio_effects_params(struct audio_client *ac, char *params,
-				    uint32_t params_length);
-
 int q6asm_send_stream_cmd(struct audio_client *ac,
 			  struct msm_adsp_event_data *data);
 

+ 4 - 0
include/uapi/sound/audio_effects.h

@@ -145,8 +145,12 @@
 #define PBE_ENABLE_PARAM_LEN		1
 #define PBE_CONFIG_PARAM_LEN		28
 
+/* Command Payload length and size for Non-IID commands */
 #define COMMAND_PAYLOAD_LEN	3
 #define COMMAND_PAYLOAD_SZ	(COMMAND_PAYLOAD_LEN * sizeof(uint32_t))
+/* Command Payload length and size for IID commands */
+#define COMMAND_IID_PAYLOAD_LEN	4
+#define COMMAND_IID_PAYLOAD_SZ	(COMMAND_IID_PAYLOAD_LEN * sizeof(uint32_t))
 #define MAX_INBAND_PARAM_SZ	4096
 #define Q27_UNITY		(1 << 27)
 #define Q8_UNITY		(1 << 8)

Some files were not shown because too many files changed in this diff