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