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