Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 1 | #ifndef SOUND_FIREWIRE_FCP_H_INCLUDED |
| 2 | #define SOUND_FIREWIRE_FCP_H_INCLUDED |
| 3 | |
Takashi Sakamoto | 1017abe | 2014-04-25 22:44:59 +0900 | [diff] [blame] | 4 | #define AVC_PLUG_INFO_BUF_BYTES 4 |
| 5 | |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 6 | struct fw_unit; |
| 7 | |
Takashi Sakamoto | 1017abe | 2014-04-25 22:44:59 +0900 | [diff] [blame] | 8 | /* |
| 9 | * AV/C Digital Interface Command Set General Specification 4.2 |
| 10 | * (Sep 2004, 1394TA) |
| 11 | */ |
| 12 | enum avc_general_plug_dir { |
| 13 | AVC_GENERAL_PLUG_DIR_IN = 0, |
| 14 | AVC_GENERAL_PLUG_DIR_OUT = 1, |
| 15 | AVC_GENERAL_PLUG_DIR_COUNT |
| 16 | }; |
| 17 | int avc_general_set_sig_fmt(struct fw_unit *unit, unsigned int rate, |
| 18 | enum avc_general_plug_dir dir, |
| 19 | unsigned short plug); |
| 20 | int avc_general_get_sig_fmt(struct fw_unit *unit, unsigned int *rate, |
| 21 | enum avc_general_plug_dir dir, |
| 22 | unsigned short plug); |
| 23 | int avc_general_get_plug_info(struct fw_unit *unit, unsigned int subunit_type, |
| 24 | unsigned int subunit_id, unsigned int subfunction, |
| 25 | u8 info[AVC_PLUG_INFO_BUF_BYTES]); |
| 26 | |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 27 | int fcp_avc_transaction(struct fw_unit *unit, |
| 28 | const void *command, unsigned int command_size, |
| 29 | void *response, unsigned int response_size, |
| 30 | unsigned int response_match_bytes); |
| 31 | void fcp_bus_reset(struct fw_unit *unit); |
| 32 | |
| 33 | #endif |