u32 uid_count;
u32 current_uid_index;
struct mixart_uid uid[MIXART_MAX_PHYS_CONNECTORS];
u32 uid_count;
u32 current_uid_index;
struct mixart_uid uid[MIXART_MAX_PHYS_CONNECTORS];
-} __attribute__((packed));
/* used for following struct */
/* used for following struct */
u32 line_max_level; /* float */
u32 micro_max_level; /* float */
u32 cd_max_level; /* float */
u32 line_max_level; /* float */
u32 micro_max_level; /* float */
u32 cd_max_level; /* float */
-} __attribute__((packed));
struct mixart_analog_hw_info
{
struct mixart_analog_hw_info
{
u32 step_var_level; /* float */
u32 fix_gain; /* float */
u32 zero_var; /* float */
u32 step_var_level; /* float */
u32 fix_gain; /* float */
u32 zero_var; /* float */
-} __attribute__((packed));
struct mixart_digital_hw_info
{
struct mixart_digital_hw_info
{
u32 presence;
u32 clock;
u32 reserved;
u32 presence;
u32 clock;
u32 reserved;
-} __attribute__((packed));
struct mixart_analog_info
{
struct mixart_analog_info
{
struct mixart_analog_hw_info line_info;
struct mixart_analog_hw_info cd_info;
u32 analog_level_present;
struct mixart_analog_hw_info line_info;
struct mixart_analog_hw_info cd_info;
u32 analog_level_present;
-} __attribute__((packed));
struct mixart_digital_info
{
u32 type_mask;
struct mixart_digital_hw_info aes_info;
struct mixart_digital_hw_info adat_info;
struct mixart_digital_info
{
u32 type_mask;
struct mixart_digital_hw_info aes_info;
struct mixart_digital_hw_info adat_info;
-} __attribute__((packed));
struct mixart_audio_info
{
u32 clock_type_mask;
struct mixart_analog_info analog_info;
struct mixart_digital_info digital_info;
struct mixart_audio_info
{
u32 clock_type_mask;
struct mixart_analog_info analog_info;
struct mixart_digital_info digital_info;
-} __attribute__((packed));
struct mixart_audio_info_resp
{
u32 txx_status;
struct mixart_audio_info info;
struct mixart_audio_info_resp
{
u32 txx_status;
struct mixart_audio_info info;
-} __attribute__((packed));
/* used for nb_bytes_max_per_sample */
/* used for nb_bytes_max_per_sample */
u32 size_max_byte_frame;
u32 size_max_sample_frame;
u32 nb_bytes_max_per_sample; /* float */
u32 size_max_byte_frame;
u32 size_max_sample_frame;
u32 nb_bytes_max_per_sample; /* float */
-} __attribute__((packed));
/* MSG_STREAM_ADD_INPUT_GROUP */
/* MSG_STREAM_ADD_OUTPUT_GROUP */
/* MSG_STREAM_ADD_INPUT_GROUP */
/* MSG_STREAM_ADD_OUTPUT_GROUP */
struct mixart_stream_info stream_info[32];
struct mixart_uid connector;
u32 flow_entry[32];
struct mixart_stream_info stream_info[32];
struct mixart_uid connector;
u32 flow_entry[32];
-} __attribute__((packed));
struct mixart_stream_desc
{
struct mixart_uid stream_uid;
u32 stream_desc;
struct mixart_stream_desc
{
struct mixart_uid stream_uid;
u32 stream_desc;
-} __attribute__((packed));
struct mixart_streaming_group
{
struct mixart_streaming_group
{
u32 pipe_desc;
u32 stream_count;
struct mixart_stream_desc stream[32];
u32 pipe_desc;
u32 stream_count;
struct mixart_stream_desc stream[32];
-} __attribute__((packed));
/* MSG_STREAM_DELETE_GROUP */
/* MSG_STREAM_DELETE_GROUP */
{
u32 status;
u32 unused[2];
{
u32 status;
u32 unused[2];
-} __attribute__((packed));
/* MSG_STREAM_START_INPUT_STAGE_PACKET = 0x130000 + 7,
/* MSG_STREAM_START_INPUT_STAGE_PACKET = 0x130000 + 7,
{
struct mixart_uid uid_fx_code;
struct mixart_uid uid_fx_data;
{
struct mixart_uid uid_fx_code;
struct mixart_uid uid_fx_data;
-} __attribute__((packed));
struct mixart_txx_stream_desc
{
struct mixart_txx_stream_desc
{
u32 stream_idx;
u32 fx_number;
struct mixart_fx_couple_uid uid_fx[4];
u32 stream_idx;
u32 fx_number;
struct mixart_fx_couple_uid uid_fx[4];
-} __attribute__((packed));
struct mixart_flow_info
{
struct mixart_txx_stream_desc stream_desc;
u32 flow_entry;
u32 flow_phy_addr;
struct mixart_flow_info
{
struct mixart_txx_stream_desc stream_desc;
u32 flow_entry;
u32 flow_phy_addr;
-} __attribute__((packed));
struct mixart_stream_state_req
{
struct mixart_stream_state_req
{
u32 reserved4np[3];
u32 stream_count; /* set to 1 for instance */
struct mixart_flow_info stream_info; /* could be an array[stream_count] */
u32 reserved4np[3];
u32 stream_count; /* set to 1 for instance */
struct mixart_flow_info stream_info; /* could be an array[stream_count] */
-} __attribute__((packed));
/* MSG_STREAM_START_STREAM_GRP_PACKET = 0x130000 + 6
MSG_STREAM_STOP_STREAM_GRP_PACKET = 0x130000 + 9
/* MSG_STREAM_START_STREAM_GRP_PACKET = 0x130000 + 6
MSG_STREAM_STOP_STREAM_GRP_PACKET = 0x130000 + 9
u32 reserved4np[2];
u32 pipe_count; /* set to 1 for instance */
struct mixart_uid pipe_uid; /* could be an array[pipe_count], in theory */
u32 reserved4np[2];
u32 pipe_count; /* set to 1 for instance */
struct mixart_uid pipe_uid; /* could be an array[pipe_count], in theory */
-} __attribute__((packed));
struct mixart_group_state_resp
{
u32 txx_status;
u64 scheduler;
struct mixart_group_state_resp
{
u32 txx_status;
u64 scheduler;
-} __attribute__((packed));
u32 validity;
u32 sample_pos_high_part;
u32 sample_pos_low_part;
u32 validity;
u32 sample_pos_high_part;
u32 sample_pos_low_part;
-} __attribute__((packed));
/*
* This structure is limited by the size of MSG_DEFAULT_SIZE. Instead of
/*
* This structure is limited by the size of MSG_DEFAULT_SIZE. Instead of
{
u32 stream_count;
struct mixart_sample_pos streams[MIXART_MAX_TIMER_NOTIFY_STREAMS];
{
u32 stream_count;
struct mixart_sample_pos streams[MIXART_MAX_TIMER_NOTIFY_STREAMS];
-} __attribute__((packed));
/* MSG_CONSOLE_GET_CLOCK_UID = 0x070003,
/* MSG_CONSOLE_GET_CLOCK_UID = 0x070003,
{
u32 error_code;
struct mixart_uid uid;
{
u32 error_code;
struct mixart_uid uid;
-} __attribute__((packed));
/* MSG_CLOCK_CHECK_PROPERTIES = 0x200001,
MSG_CLOCK_SET_PROPERTIES = 0x200002,
/* MSG_CLOCK_CHECK_PROPERTIES = 0x200001,
MSG_CLOCK_SET_PROPERTIES = 0x200002,
u32 board_mask;
u32 nb_callers; /* set to 1 (see below) */
struct mixart_uid uid_caller;
u32 board_mask;
u32 nb_callers; /* set to 1 (see below) */
struct mixart_uid uid_caller;
-} __attribute__((packed));
struct mixart_clock_properties_resp
{
u32 status;
u32 clock_mode;
struct mixart_clock_properties_resp
{
u32 status;
u32 clock_mode;
-} __attribute__((packed));
/* MSG_STREAM_SET_INPUT_STAGE_PARAM = 0x13000F */
/* MSG_STREAM_SET_INPUT_STAGE_PARAM = 0x13000F */
u32 pipe_count; /* set to 1 (array size !) */
u32 stream_count; /* set to 1 (array size !) */
struct mixart_txx_stream_desc stream_desc; /* only one stream per command, but this could be an array, in theory */
u32 pipe_count; /* set to 1 (array size !) */
u32 stream_count; /* set to 1 (array size !) */
struct mixart_txx_stream_desc stream_desc; /* only one stream per command, but this could be an array, in theory */
-} __attribute__((packed));
/* MSG_CONNECTOR_GET_OUT_AUDIO_LEVEL = 0x050009,
/* MSG_CONNECTOR_GET_OUT_AUDIO_LEVEL = 0x050009,
u32 mute;
u32 monitor_mute1;
u32 monitor_mute2;
u32 mute;
u32 monitor_mute1;
u32 monitor_mute2;
-} __attribute__((packed));
/* MSG_CONNECTOR_SET_OUT_AUDIO_LEVEL = 0x05000A,
/* MSG_CONNECTOR_SET_OUT_AUDIO_LEVEL = 0x05000A,
u32 monitor_mute1;
u32 monitor_mute2;
u32 reserved4np;
u32 monitor_mute1;
u32 monitor_mute2;
u32 reserved4np;
-} __attribute__((packed));
/* MSG_SYSTEM_ENUM_PHYSICAL_IO = 0x16000E,
/* MSG_SYSTEM_ENUM_PHYSICAL_IO = 0x16000E,
u32 nb_uid;
u32 current_uid_index;
struct mixart_uid uid[MIXART_MAX_PHYS_IO];
u32 nb_uid;
u32 current_uid_index;
struct mixart_uid uid[MIXART_MAX_PHYS_IO];
-} __attribute__((packed));
/* MSG_PHYSICALIO_SET_LEVEL = 0x0F0008,
/* MSG_PHYSICALIO_SET_LEVEL = 0x0F0008,
{
u32 analog_level; /* float */
u32 unused[2];
{
u32 analog_level; /* float */
u32 unused[2];
-} __attribute__((packed));
struct mixart_io_level
{
s32 channel; /* 0=left, 1=right, -1=both, -2=both same */
struct mixart_io_channel_level level[2];
struct mixart_io_level
{
s32 channel; /* 0=left, 1=right, -1=both, -2=both same */
struct mixart_io_channel_level level[2];
-} __attribute__((packed));
/* MSG_STREAM_SET_IN_AUDIO_LEVEL = 0x130015,
/* MSG_STREAM_SET_IN_AUDIO_LEVEL = 0x130015,
u32 valid_mask2;
u32 digital_level;
u32 analog_level;
u32 valid_mask2;
u32 digital_level;
u32 analog_level;
-} __attribute__((packed));
struct mixart_set_in_audio_level_req
{
struct mixart_set_in_audio_level_req
{
u32 audio_count; /* set to <= 2 */
u32 reserved4np;
struct mixart_in_audio_level_info level[2];
u32 audio_count; /* set to <= 2 */
u32 reserved4np;
struct mixart_in_audio_level_info level[2];
-} __attribute__((packed));
/* response is a 32 bit status */
/* response is a 32 bit status */
u32 digital_level2;
u32 mute1;
u32 mute2;
u32 digital_level2;
u32 mute1;
u32 mute2;
-} __attribute__((packed));
struct mixart_set_out_stream_level
{
struct mixart_txx_stream_desc desc;
struct mixart_out_stream_level_info out_level;
struct mixart_set_out_stream_level
{
struct mixart_txx_stream_desc desc;
struct mixart_out_stream_level_info out_level;
-} __attribute__((packed));
struct mixart_set_out_stream_level_req
{
struct mixart_set_out_stream_level_req
{
u32 reserved4np[2];
u32 nb_of_stream; /* set to 1 */
struct mixart_set_out_stream_level stream_level; /* could be an array */
u32 reserved4np[2];
u32 nb_of_stream; /* set to 1 */
struct mixart_set_out_stream_level stream_level; /* could be an array */
-} __attribute__((packed));
/* response to this request is a u32 status value */
/* response to this request is a u32 status value */