Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Mar 24-27, 2025, special US time zones
Register
Loading...
v5.14.15
 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
v4.17
 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
26void snd_fw_schedule_registration(struct fw_unit *unit,
27				  struct delayed_work *dwork);
28
29#endif