Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 1 | #ifndef SOUND_FIREWIRE_LIB_H_INCLUDED |
| 2 | #define SOUND_FIREWIRE_LIB_H_INCLUDED |
| 3 | |
| 4 | #include <linux/firewire-constants.h> |
| 5 | #include <linux/types.h> |
Takashi Sakamoto | 585d7cb | 2015-10-09 08:10:25 +0900 | [diff] [blame] | 6 | #include <linux/sched.h> |
| 7 | #include <sound/rawmidi.h> |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 8 | |
| 9 | struct fw_unit; |
| 10 | |
Clemens Ladisch | 1b70485 | 2011-09-04 22:17:38 +0200 | [diff] [blame] | 11 | #define FW_GENERATION_MASK 0x00ff |
| 12 | #define FW_FIXED_GENERATION 0x0100 |
| 13 | #define FW_QUIET 0x0200 |
| 14 | |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 15 | int snd_fw_transaction(struct fw_unit *unit, int tcode, |
Clemens Ladisch | 1b70485 | 2011-09-04 22:17:38 +0200 | [diff] [blame] | 16 | u64 offset, void *buffer, size_t length, |
| 17 | unsigned int flags); |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 18 | |
| 19 | /* returns true if retrying the transaction would not make sense */ |
| 20 | static inline bool rcode_is_permanent_error(int rcode) |
| 21 | { |
| 22 | return rcode == RCODE_TYPE_ERROR || rcode == RCODE_ADDRESS_ERROR; |
| 23 | } |
| 24 | |
Takashi Sakamoto | 923f92e | 2016-03-31 08:47:04 +0900 | [diff] [blame] | 25 | void snd_fw_schedule_registration(struct fw_unit *unit, |
| 26 | struct delayed_work *dwork); |
| 27 | |
Clemens Ladisch | 31ef913 | 2011-03-15 07:53:21 +0100 | [diff] [blame] | 28 | #endif |