diff options
author | Vidyakumar Athota <vathota@codeaurora.org> | 2016-08-10 20:45:29 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-08-17 10:19:35 -0700 |
commit | 99c16706c7190b0e3c22fdb162b253af75aab135 (patch) | |
tree | 867bb3c911170bac379996a867c8f7b180fac543 | |
parent | 008f057bbab6dd6629b7e1a3b8c67b650a6b9ef1 (diff) |
uapi: sound: add wcd-dsp-glink header file
Add support for WCD-DSP audio codec communication over glink.
This file defines all the required structures for the userspace
component to communicate with the DSP in WCD audio codec.
CRs-Fixed: 1053381
Change-Id: I141a72c879b4c15590ad94c852a2771a360b55f9
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
-rw-r--r-- | include/uapi/sound/Kbuild | 1 | ||||
-rw-r--r-- | include/uapi/sound/wcd-dsp-glink.h | 58 |
2 files changed, 59 insertions, 0 deletions
diff --git a/include/uapi/sound/Kbuild b/include/uapi/sound/Kbuild index 8fddb47d1fc4..a19a02471367 100644 --- a/include/uapi/sound/Kbuild +++ b/include/uapi/sound/Kbuild @@ -18,3 +18,4 @@ header-y += audio_effects.h header-y += voice_svc.h header-y += devdep_params.h header-y += msmcal-hwdep.h +header-y += wcd-dsp-glink.h diff --git a/include/uapi/sound/wcd-dsp-glink.h b/include/uapi/sound/wcd-dsp-glink.h new file mode 100644 index 000000000000..db92e6b41340 --- /dev/null +++ b/include/uapi/sound/wcd-dsp-glink.h @@ -0,0 +1,58 @@ +#ifndef _WCD_DSP_GLINK_H +#define _WCD_DSP_GLINK_H + +#include <linux/types.h> + +#define WDSP_CH_NAME_MAX_LEN 50 + +enum { + WDSP_REG_PKT = 1, + WDSP_CMD_PKT, +}; + +/* + * struct wdsp_reg_pkt - Glink channel information structure format + * @no_of_channels: Number of glink channels to open + * @payload[0]: Dynamic array contains all the glink channels information + */ +struct wdsp_reg_pkt { + __u8 no_of_channels; + __u8 payload[0]; +}; + +/* + * struct wdsp_cmd_pkt - WDSP command packet format + * @ch_name: Name of the glink channel + * @payload_size: Size of the payload + * @payload[0]: Actual data payload + */ +struct wdsp_cmd_pkt { + char ch_name[WDSP_CH_NAME_MAX_LEN]; + __u32 payload_size; + __u8 payload[0]; +}; + +/* + * struct wdsp_write_pkt - Format that userspace send the data to driver. + * @pkt_type: Type of the packet(REG or CMD PKT) + * @payload[0]: Payload is either cmd or reg pkt structure based on pkt type + */ +struct wdsp_write_pkt { + __u8 pkt_type; + __u8 payload[0]; +}; + +/* + * struct wdsp_glink_ch_cfg - Defines the glink channel configuration. + * @ch_name: Name of the glink channel + * @latency_in_us: Latency specified in micro seconds for QOS + * @no_of_intents: Number of intents prequeued + * @intents_size[0]: Dynamic array to specify size of each intent + */ +struct wdsp_glink_ch_cfg { + char name[WDSP_CH_NAME_MAX_LEN]; + __u32 latency_in_us; + __u32 no_of_intents; + __u32 intents_size[0]; +}; +#endif /* _WCD_DSP_GLINK_H */ |