On 8/3/2021 2:54 PM, Srinivas Kandagatla wrote:
Add basic helper functions for AudioReach.
Signed-off-by: Srinivas Kandagatla srinivas.kandagatla@linaro.org
...
+#define APM_PARAM_ID_GAIN 0x08001006 +struct param_id_gain_cfg {
- uint16_t gain;
- uint16_t reserved;
+};
+#define PARAM_ID_PCM_OUTPUT_FORMAT_CFG 0x08001008 +struct param_id_pcm_output_format_cfg {
- uint32_t data_format;
- uint32_t fmt_id;
- uint32_t payload_size;
+} __packed;
+struct payload_pcm_output_format_cfg {
- uint16_t bit_width;
- uint16_t alignment;
- uint16_t bits_per_sample;
- uint16_t q_factor;
- uint16_t endianness;
- uint16_t interleaved;
- uint16_t reserved;
- uint16_t num_channels;
- uint8_t channel_mapping[0];
Current kernel convention is to use something like: uint8_t channel_mapping[]; for flexible arrays. I've pointed out few more later, but it would be best to run some kind of search to find them all in all files in patchset.
...
+struct apm_container_cfg {
- uint32_t container_id;
- uint32_t num_prop;
+} __packed;
+struct apm_cont_capablity {
- uint32_t capability_id;
+} __packed;
+#define APM_CONTAINER_PROP_ID_CAPABILITY_LIST 0x08001011 +#define APM_CONTAINER_PROP_ID_CAPABILITY_SIZE 8
+#define APM_PROP_ID_INVALID 0x0 +#define APM_CONTAINER_CAP_ID_PP 0x1 +#define APM_CONTAINER_CAP_ID_PP 0x1
+struct apm_cont_prop_id_cap_list {
- uint32_t num_capablity_id;
num_capability_id
...
+#define CONFIG_I2S_WS_SRC_EXTERNAL 0x0 +#define CONFIG_I2S_WS_SRC_INTERNAL 0x1
+#define PARAM_ID_I2S_INTF_CFG 0x08001019 +struct param_id_i2s_intf_cfg {
- uint32_t lpaif_type;
- uint32_t intf_idx;
- uint16_t sd_line_idx;
- uint16_t ws_src;
+} __packed;
+#define I2S_INTF_TYPE_PRIMARY 0 +#define I2S_INTF_TYPE_SECOINDARY 1
SECONDARY
+#define I2S_INTF_TYPE_TERTINARY 2
TERTIARY
+#define I2S_INTF_TYPE_QUATERNARY 3 +#define I2S_INTF_TYPE_QUINARY 4 +#define I2S_SD0 1 +#define I2S_SD1 2 +#define I2S_SD2 3 +#define I2S_SD3 4
...
+#define DATA_LOGGING_MAX_INPUT_PORTS 0x1 +#define DATA_LOGGING_MAX_OUTPUT_PORTS 0x1 +#define DATA_LOGGING_STACK_SIZE 2048 +#define PARAM_ID_DATA_LOGGING_CONFIG 0x08001031 +struct data_logging_config {
- uint32_t log_code;
- uint32_t log_tap_point_id;
- uint32_t mode;
+} __packed;
+#define PARAM_ID_MFC_OUTPUT_MEDIA_FORMAT 0x08001024 +struct param_id_mfc_media_format {
- uint32_t sample_rate;
- uint16_t bit_width;
- uint16_t num_channels;
- uint16_t channel_mapping[0];
uint16_t channel_mapping[];
...
+struct payload_media_fmt_pcm {
- uint32_t sample_rate;
- uint16_t bit_width;
- uint16_t alignment;
- uint16_t bits_per_sample;
- uint16_t q_factor;
- uint16_t endianness;
- uint16_t num_channels;
- uint8_t channel_mapping[0];
uint8_t channel_mapping[];