struct vx_cmd_info { unsignedint opcode; /* command word */ int length; /* command length (in words) */ int st_type; /* status type (RMH_SSIZE_XXX) */ int st_length; /* fixed length */
};
/* Family and code op of some DSP requests. */ #define CODE_OP_PIPE_TIME 0x004e0000 #define CODE_OP_START_STREAM 0x00800000 #define CODE_OP_PAUSE_STREAM 0x00810000 #define CODE_OP_OUT_STREAM_LEVEL 0x00820000 #define CODE_OP_UPDATE_R_BUFFERS 0x00840000 #define CODE_OP_OUT_STREAM1_LEVEL_CURVE 0x00850000 #define CODE_OP_OUT_STREAM2_LEVEL_CURVE 0x00930000 #define CODE_OP_OUT_STREAM_FORMAT 0x00860000 #define CODE_OP_STREAM_TIME 0x008f0000 #define CODE_OP_OUT_STREAM_EXTRAPARAMETER 0x00910000 #define CODE_OP_OUT_AUDIO_LEVEL 0x00c20000
#define NOTIFY_LAST_COMMAND 0x00400000
/* Values for a user delay */ #define DC_DIFFERED_DELAY (1<<BIT_DIFFERED_COMMAND) #define DC_NOTIFY_DELAY (1<<BIT_NOTIFIED_COMMAND) #define DC_HBUFFER_DELAY (1<<BIT_TIME_RELATIVE_TO_BUFFER) #define DC_MULTIPLE_DELAY (1<<BIT_RESERVED) #define DC_STREAM_TIME_DELAY (1<<BIT_STREAM_TIME) #define DC_CANCELLED_DELAY (1<<BIT_CANCELLED_COMMAND)
/* Values for tiDelayed field in TIME_INFO structure, * and for pbPause field in PLAY_BUFFER_INFO structure
*/ #define BIT_DIFFERED_COMMAND 0 #define BIT_NOTIFIED_COMMAND 1 #define BIT_TIME_RELATIVE_TO_BUFFER 2 #define BIT_RESERVED 3 #define BIT_STREAM_TIME 4 #define BIT_CANCELLED_COMMAND 5
/* Access to the "Size" field of the response of the CMD_GET_NOTIFY_EVENT request. */ #define GET_NOTIFY_EVENT_SIZE_FIELD_MASK 0x000000ff
/** * vx_send_pipe_cmd_params - fill first command word for pipe commands * @rmh: the rmh to be modified * @is_capture: 0 = playback, 1 = capture operation * @param1: first pipe-parameter * @param2: second pipe-parameter
*/ staticinlinevoid vx_set_pipe_cmd_params(struct vx_rmh *rmh, int is_capture, int param1, int param2)
{ if (is_capture)
rmh->Cmd[0] |= COMMAND_RECORD_MASK;
rmh->Cmd[0] |= (((u32)param1 & MASK_FIRST_FIELD) << FIELD_SIZE) & MASK_DSP_WORD;
if (param2)
rmh->Cmd[0] |= ((u32)param2 & MASK_FIRST_FIELD) & MASK_DSP_WORD;
}
/** * vx_set_stream_cmd_params - fill first command word for stream commands * @rmh: the rmh to be modified * @is_capture: 0 = playback, 1 = capture operation * @pipe: the pipe index (zero-based)
*/ staticinlinevoid vx_set_stream_cmd_params(struct vx_rmh *rmh, int is_capture, int pipe)
{ if (is_capture)
rmh->Cmd[0] |= COMMAND_RECORD_MASK;
rmh->Cmd[0] |= (((u32)pipe & MASK_FIRST_FIELD) << FIELD_SIZE) & MASK_DSP_WORD;
}
#endif/* __VX_CMD_H */
Messung V0.5
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.