You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.5 KiB
60 lines
1.5 KiB
#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, |
|
WDSP_READY_PKT, |
|
}; |
|
#define WDSP_READY_PKT WDSP_READY_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 */
|
|
|