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.
907 lines
24 KiB
907 lines
24 KiB
/* Copyright (c) 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.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
#include <linux/soc/qcom/qmi.h>
|
|
|
|
#include "usb_audio_qmi_v01.h"
|
|
|
|
static struct qmi_elem_info mem_info_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_UNSIGNED_8_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint64_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct mem_info_v01,
|
|
va),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_8_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint64_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct mem_info_v01,
|
|
pa),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct mem_info_v01,
|
|
size),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.is_array = NO_ARRAY,
|
|
.is_array = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
|
|
static struct qmi_elem_info apps_mem_info_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct mem_info_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct apps_mem_info_v01,
|
|
evt_ring),
|
|
.ei_array = mem_info_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct mem_info_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct apps_mem_info_v01,
|
|
tr_data),
|
|
.ei_array = mem_info_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct mem_info_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct apps_mem_info_v01,
|
|
tr_sync),
|
|
.ei_array = mem_info_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct mem_info_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct apps_mem_info_v01,
|
|
xfer_buff),
|
|
.ei_array = mem_info_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct mem_info_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct apps_mem_info_v01,
|
|
dcba),
|
|
.ei_array = mem_info_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.is_array = NO_ARRAY,
|
|
.is_array = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
|
|
static struct qmi_elem_info usb_endpoint_descriptor_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
bLength),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
bDescriptorType),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
bEndpointAddress),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
bmAttributes),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_2_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint16_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
wMaxPacketSize),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
bInterval),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
bRefresh),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_endpoint_descriptor_v01,
|
|
bSynchAddress),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.is_array = NO_ARRAY,
|
|
.is_array = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
|
|
static struct qmi_elem_info usb_interface_descriptor_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bLength),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bDescriptorType),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bInterfaceNumber),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bAlternateSetting),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bNumEndpoints),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bInterfaceClass),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bInterfaceSubClass),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
bInterfaceProtocol),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0,
|
|
.offset = offsetof(struct usb_interface_descriptor_v01,
|
|
iInterface),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.is_array = NO_ARRAY,
|
|
.is_array = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
|
|
struct qmi_elem_info qmi_uaudio_stream_req_msg_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x01,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
enable),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x02,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
usb_token),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
audio_format_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
audio_format),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x11,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
number_of_ch_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x11,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
number_of_ch),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x12,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
bit_rate_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x12,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
bit_rate),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x13,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
xfer_buff_size_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x13,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
xfer_buff_size),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x14,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
service_interval_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x14,
|
|
.offset = offsetof(struct qmi_uaudio_stream_req_msg_v01,
|
|
service_interval),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.is_array = NO_ARRAY,
|
|
.is_array = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
|
|
struct qmi_elem_info qmi_uaudio_stream_resp_msg_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct qmi_response_type_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x02,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
resp),
|
|
.ei_array = qmi_response_type_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
status_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_SIGNED_4_BYTE_ENUM,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(enum usb_audio_stream_status_enum_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
status),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x11,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
internal_status_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x11,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
internal_status),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x12,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
slot_id_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x12,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
slot_id),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x13,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
usb_token_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x13,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
usb_token),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x14,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
std_as_opr_intf_desc_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct usb_interface_descriptor_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x14,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
std_as_opr_intf_desc),
|
|
.ei_array = usb_interface_descriptor_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x15,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
std_as_data_ep_desc_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct usb_endpoint_descriptor_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x15,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
std_as_data_ep_desc),
|
|
.ei_array = usb_endpoint_descriptor_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x16,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
std_as_sync_ep_desc_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct usb_endpoint_descriptor_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x16,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
std_as_sync_ep_desc),
|
|
.ei_array = usb_endpoint_descriptor_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x17,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
usb_audio_spec_revision_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_2_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint16_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x17,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
usb_audio_spec_revision),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x18,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
data_path_delay_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x18,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
data_path_delay),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x19,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
usb_audio_subslot_size_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x19,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
usb_audio_subslot_size),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1A,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
xhci_mem_info_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct apps_mem_info_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1A,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
xhci_mem_info),
|
|
.ei_array = apps_mem_info_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1B,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
interrupter_num_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1B,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
interrupter_num),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1C,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
speed_info_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_SIGNED_4_BYTE_ENUM,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(enum usb_audio_device_speed_enum_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1C,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
speed_info),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1D,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
controller_num_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x1D,
|
|
.offset = offsetof(
|
|
struct qmi_uaudio_stream_resp_msg_v01,
|
|
controller_num),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.is_array = NO_ARRAY,
|
|
.is_array = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
|
|
struct qmi_elem_info qmi_uaudio_stream_ind_msg_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_SIGNED_4_BYTE_ENUM,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(
|
|
enum usb_audio_device_indication_enum_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x01,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
dev_event),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x02,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
slot_id),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
usb_token_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_4_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint32_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
usb_token),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x11,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
std_as_opr_intf_desc_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct usb_interface_descriptor_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x11,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
std_as_opr_intf_desc),
|
|
.ei_array = usb_interface_descriptor_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x12,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
std_as_data_ep_desc_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct usb_endpoint_descriptor_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x12,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
std_as_data_ep_desc),
|
|
.ei_array = usb_endpoint_descriptor_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x13,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
std_as_sync_ep_desc_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct usb_endpoint_descriptor_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x13,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
std_as_sync_ep_desc),
|
|
.ei_array = usb_endpoint_descriptor_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x14,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
usb_audio_spec_revision_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_2_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint16_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x14,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
usb_audio_spec_revision),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x15,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
data_path_delay_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x15,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
data_path_delay),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x16,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
usb_audio_subslot_size_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x16,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
usb_audio_subslot_size),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x17,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
xhci_mem_info_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct apps_mem_info_v01),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x17,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
xhci_mem_info),
|
|
.ei_array = apps_mem_info_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x18,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
interrupter_num_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x18,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
interrupter_num),
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x19,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
controller_num_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(uint8_t),
|
|
.is_array = NO_ARRAY,
|
|
.tlv_type = 0x19,
|
|
.offset = offsetof(struct qmi_uaudio_stream_ind_msg_v01,
|
|
controller_num),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.is_array = NO_ARRAY,
|
|
.is_array = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
|