1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef SOUND_FIREWIRE_LIB_H_INCLUDED
3 #define SOUND_FIREWIRE_LIB_H_INCLUDED
5 #include <linux/firewire-constants.h>
6 #include <linux/types.h>
7 #include <linux/sched.h>
8 #include <sound/rawmidi.h>
12 #define FW_GENERATION_MASK 0x00ff
13 #define FW_FIXED_GENERATION 0x0100
14 #define FW_QUIET 0x0200
16 int snd_fw_transaction(struct fw_unit
*unit
, int tcode
,
17 u64 offset
, void *buffer
, size_t length
,
20 /* returns true if retrying the transaction would not make sense */
21 static inline bool rcode_is_permanent_error(int rcode
)
23 return rcode
== RCODE_TYPE_ERROR
|| rcode
== RCODE_ADDRESS_ERROR
;
26 void snd_fw_schedule_registration(struct fw_unit
*unit
,
27 struct delayed_work
*dwork
);