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