fireworks.h (bde8a8f23bbe6db51fa4e81644273af18fef3d7a) | fireworks.h (315fd41fe9d43838ab5afd26c58d908d18313d9a) |
---|---|
1/* 2 * fireworks.h - a part of driver for Fireworks based devices 3 * 4 * Copyright (c) 2009-2010 Clemens Ladisch 5 * Copyright (c) 2013-2014 Takashi Sakamoto 6 * 7 * Licensed under the terms of the GNU General Public License, version 2. 8 */ --- 8 unchanged lines hidden (view full) --- 17#include <linux/mod_devicetable.h> 18#include <linux/delay.h> 19#include <linux/slab.h> 20 21#include <sound/core.h> 22#include <sound/initval.h> 23#include <sound/pcm.h> 24 | 1/* 2 * fireworks.h - a part of driver for Fireworks based devices 3 * 4 * Copyright (c) 2009-2010 Clemens Ladisch 5 * Copyright (c) 2013-2014 Takashi Sakamoto 6 * 7 * Licensed under the terms of the GNU General Public License, version 2. 8 */ --- 8 unchanged lines hidden (view full) --- 17#include <linux/mod_devicetable.h> 18#include <linux/delay.h> 19#include <linux/slab.h> 20 21#include <sound/core.h> 22#include <sound/initval.h> 23#include <sound/pcm.h> 24 |
25#include "../packets-buffer.h" 26#include "../iso-resources.h" 27#include "../amdtp.h" |
|
25#include "../cmp.h" 26#include "../lib.h" 27 | 28#include "../cmp.h" 29#include "../lib.h" 30 |
31#define SND_EFW_MAX_MIDI_OUT_PORTS 2 32#define SND_EFW_MAX_MIDI_IN_PORTS 2 33 |
|
28#define SND_EFW_MULTIPLIER_MODES 3 29#define HWINFO_NAME_SIZE_BYTES 32 30#define HWINFO_MAX_CAPS_GROUPS 8 31 32/* 33 * This should be greater than maximum bytes for EFW response content. 34 * Currently response against command for isochronous channel mapping is 35 * confirmed to be the maximum one. But for flexibility, use maximum data --- 13 unchanged lines hidden (view full) --- 49 int card_index; 50 51 struct mutex mutex; 52 spinlock_t lock; 53 54 /* for transaction */ 55 u32 seqnum; 56 bool resp_addr_changable; | 34#define SND_EFW_MULTIPLIER_MODES 3 35#define HWINFO_NAME_SIZE_BYTES 32 36#define HWINFO_MAX_CAPS_GROUPS 8 37 38/* 39 * This should be greater than maximum bytes for EFW response content. 40 * Currently response against command for isochronous channel mapping is 41 * confirmed to be the maximum one. But for flexibility, use maximum data --- 13 unchanged lines hidden (view full) --- 55 int card_index; 56 57 struct mutex mutex; 58 spinlock_t lock; 59 60 /* for transaction */ 61 u32 seqnum; 62 bool resp_addr_changable; |
63 64 unsigned int midi_in_ports; 65 unsigned int midi_out_ports; 66 67 unsigned int supported_sampling_rate; 68 unsigned int pcm_capture_channels[SND_EFW_MULTIPLIER_MODES]; 69 unsigned int pcm_playback_channels[SND_EFW_MULTIPLIER_MODES]; 70 71 struct amdtp_stream *master; 72 struct amdtp_stream tx_stream; 73 struct amdtp_stream rx_stream; 74 struct cmp_connection out_conn; 75 struct cmp_connection in_conn; 76 atomic_t capture_substreams; 77 atomic_t playback_substreams; |
|
57}; 58 59struct snd_efw_transaction { 60 __be32 length; 61 __be32 version; 62 __be32 seqnum; 63 __be32 category; 64 __be32 command; --- 86 unchanged lines hidden (view full) --- 151int snd_efw_command_get_phys_meters(struct snd_efw *efw, 152 struct snd_efw_phys_meters *meters, 153 unsigned int len); 154int snd_efw_command_get_clock_source(struct snd_efw *efw, 155 enum snd_efw_clock_source *source); 156int snd_efw_command_get_sampling_rate(struct snd_efw *efw, unsigned int *rate); 157int snd_efw_command_set_sampling_rate(struct snd_efw *efw, unsigned int rate); 158 | 78}; 79 80struct snd_efw_transaction { 81 __be32 length; 82 __be32 version; 83 __be32 seqnum; 84 __be32 category; 85 __be32 command; --- 86 unchanged lines hidden (view full) --- 172int snd_efw_command_get_phys_meters(struct snd_efw *efw, 173 struct snd_efw_phys_meters *meters, 174 unsigned int len); 175int snd_efw_command_get_clock_source(struct snd_efw *efw, 176 enum snd_efw_clock_source *source); 177int snd_efw_command_get_sampling_rate(struct snd_efw *efw, unsigned int *rate); 178int snd_efw_command_set_sampling_rate(struct snd_efw *efw, unsigned int rate); 179 |
180int snd_efw_stream_init_duplex(struct snd_efw *efw); 181int snd_efw_stream_start_duplex(struct snd_efw *efw, int sampling_rate); 182void snd_efw_stream_stop_duplex(struct snd_efw *efw); 183void snd_efw_stream_update_duplex(struct snd_efw *efw); 184void snd_efw_stream_destroy_duplex(struct snd_efw *efw); 185 |
|
159#define SND_EFW_DEV_ENTRY(vendor, model) \ 160{ \ 161 .match_flags = IEEE1394_MATCH_VENDOR_ID | \ 162 IEEE1394_MATCH_MODEL_ID, \ 163 .vendor_id = vendor,\ 164 .model_id = model \ 165} 166 167#endif | 186#define SND_EFW_DEV_ENTRY(vendor, model) \ 187{ \ 188 .match_flags = IEEE1394_MATCH_VENDOR_ID | \ 189 IEEE1394_MATCH_MODEL_ID, \ 190 .vendor_id = vendor,\ 191 .model_id = model \ 192} 193 194#endif |