#ifndef SOUND_FIREWIRE_LIB_H_INCLUDED #define SOUND_FIREWIRE_LIB_H_INCLUDED #include #include #include #include struct fw_unit; #define FW_GENERATION_MASK 0x00ff #define FW_FIXED_GENERATION 0x0100 #define FW_QUIET 0x0200 int snd_fw_transaction(struct fw_unit *unit, int tcode, u64 offset, void *buffer, size_t length, unsigned int flags); /* returns true if retrying the transaction would not make sense */ static inline bool rcode_is_permanent_error(int rcode) { return rcode == RCODE_TYPE_ERROR || rcode == RCODE_ADDRESS_ERROR; } void snd_fw_schedule_registration(struct fw_unit *unit, struct delayed_work *dwork); struct snd_fw_async_midi_port; typedef int (*snd_fw_async_midi_port_fill)( struct snd_rawmidi_substream *substream, u8 *buf); struct snd_fw_async_midi_port { struct fw_device *parent; struct work_struct work; bool idling; ktime_t next_ktime; bool error; u64 addr; struct fw_transaction transaction; u8 *buf; unsigned int len; struct snd_rawmidi_substream *substream; snd_fw_async_midi_port_fill fill; unsigned int consume_bytes; }; int snd_fw_async_midi_port_init(struct snd_fw_async_midi_port *port, struct fw_unit *unit, u64 addr, unsigned int len, snd_fw_async_midi_port_fill fill); void snd_fw_async_midi_port_destroy(struct snd_fw_async_midi_port *port); /** * snd_fw_async_midi_port_run - run transactions for the async MIDI port * @port: the asynchronous MIDI port * @substream: the MIDI substream */ static inline void snd_fw_async_midi_port_run(struct snd_fw_async_midi_port *port, struct snd_rawmidi_substream *substream) { if (!port->error) { port->substream = substream; schedule_work(&port->work); } } /** * snd_fw_async_midi_port_finish - finish the asynchronous MIDI port * @port: the asynchronous MIDI port */ static inline void snd_fw_async_midi_port_finish(struct snd_fw_async_midi_port *port) { port->substream = NULL; port->error = false; } #endif class='active' href='/cgit.cgi/linux/net-next.git/commit/include/trace/events/host1x.h?h=nds-private-remove&id=1bae6c99decf9137069646b593d3439171a8a8e2'>commitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-01-30 22:05:52 -0500
committerDavid S. Miller <davem@davemloft.net>2017-01-30 22:05:52 -0500
commit1bae6c99decf9137069646b593d3439171a8a8e2 (patch)
tree431604a568cd2303973470de326bd9731370a025 /include/trace/events/host1x.h
parent63c190429020a9701b42887ac22c28f287f1762f (diff)
parent2b2d3eb41c920b47df2fcedd1489cf748bd09466 (diff)
Merge branch 'sh_eth-E-DMAC-interrupt-mask-cleanups'
Sergei Shtylyov says: ==================== sh_eth: E-DMAC interrupt mask cleanups Here's a set of 3 patches against DaveM's 'net-next.git' repo. The main goal of this set is to stop using the bare numbers for the E-DMAC interrupt masks. [1/3] sh_eth: rename EESIPR bits [2/3] sh_eth: add missing EESIPR bits [3/3] sh_eth: stop using bare numbers for EESIPR values ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/trace/events/host1x.h')