ASoC: dsp: Update dap driver to support Instance ID
Add support to set and get dap modules params with Instance ID support for both Dolby and DS2. 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: I1633b63a1a598c0e4ea874d00655b09a240a47e3 Signed-off-by: Vignesh Kulothungan <vigneshk@codeaurora.org>
Šī revīzija ir iekļauta:

revīziju iesūtīja
Gerrit - the friendly Code Review server

vecāks
60cc03517f
revīzija
916967ba22
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2014, 2017 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2014, 2017-2018 The Linux Foundation. All rights reserved.
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
* only version 2 as published by the Free Software Foundation.
|
||||
@@ -33,7 +33,6 @@ struct dolby_param_license32 {
|
||||
compat_uptr_t license_key;
|
||||
};
|
||||
|
||||
|
||||
#define SNDRV_DEVDEP_DAP_IOCTL_SET_PARAM32\
|
||||
_IOWR('U', 0x10, struct dolby_param_data32)
|
||||
#define SNDRV_DEVDEP_DAP_IOCTL_GET_PARAM32\
|
||||
@@ -63,6 +62,34 @@ enum {
|
||||
DAP_CMD_SET_BYPASS_TYPE = 5,
|
||||
};
|
||||
|
||||
struct custom_stereo_param {
|
||||
/* Index is 32-bit param in little endian */
|
||||
u16 index;
|
||||
u16 reserved;
|
||||
|
||||
/* For stereo mixing, the number of out channels */
|
||||
u16 num_out_ch;
|
||||
/* For stereo mixing, the number of in channels */
|
||||
u16 num_in_ch;
|
||||
|
||||
/* Out channel map FL/FR*/
|
||||
u16 out_fl;
|
||||
u16 out_fr;
|
||||
|
||||
/* In channel map FL/FR*/
|
||||
u16 in_fl;
|
||||
u16 in_fr;
|
||||
|
||||
/*
|
||||
* Weighting coefficients. Mixing will be done according to
|
||||
* these coefficients.
|
||||
*/
|
||||
u16 op_FL_ip_FL_weight;
|
||||
u16 op_FL_ip_FR_weight;
|
||||
u16 op_FR_ip_FL_weight;
|
||||
u16 op_FR_ip_FR_weight;
|
||||
};
|
||||
|
||||
#define DOLBY_PARAM_INT_ENDP_LENGTH 1
|
||||
#define DOLBY_PARAM_INT_ENDP_OFFSET (DOLBY_PARAM_PSTG_OFFSET + \
|
||||
DOLBY_PARAM_PSTG_LENGTH)
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user