xref: /openbmc/linux/sound/firewire/lib.h (revision 93d90ad7)
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>
6 
7 struct fw_unit;
8 
9 #define FW_GENERATION_MASK	0x00ff
10 #define FW_FIXED_GENERATION	0x0100
11 #define FW_QUIET		0x0200
12 
13 int snd_fw_transaction(struct fw_unit *unit, int tcode,
14 		       u64 offset, void *buffer, size_t length,
15 		       unsigned int flags);
16 
17 /* returns true if retrying the transaction would not make sense */
18 static inline bool rcode_is_permanent_error(int rcode)
19 {
20 	return rcode == RCODE_TYPE_ERROR || rcode == RCODE_ADDRESS_ERROR;
21 }
22 
23 #endif
24