summaryrefslogtreecommitdiffstats
path: root/sound/firewire/dice.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/firewire/dice.c')
-rw-r--r--sound/firewire/dice.c162
1 files changed, 81 insertions, 81 deletions
diff --git a/sound/firewire/dice.c b/sound/firewire/dice.c
index 72af110..eafd74b 100644
--- a/sound/firewire/dice.c
+++ b/sound/firewire/dice.c
@@ -32,7 +32,7 @@
#include "dice-interface.h"
-struct dice {
+struct snd_dice {
struct snd_card *card;
struct fw_unit *unit;
spinlock_t lock;
@@ -50,8 +50,8 @@ struct dice {
struct completion clock_accepted;
wait_queue_head_t hwdep_wait;
u32 notification_bits;
- struct fw_iso_resources resources;
- struct amdtp_stream stream;
+ struct fw_iso_resources rx_resources;
+ struct amdtp_stream rx_stream;
};
MODULE_DESCRIPTION("DICE driver");
@@ -87,13 +87,13 @@ static unsigned int rate_index_to_mode(unsigned int rate_index)
return ((int)rate_index - 1) / 2;
}
-static void dice_lock_changed(struct dice *dice)
+static void dice_lock_changed(struct snd_dice *dice)
{
dice->dev_lock_changed = true;
wake_up(&dice->hwdep_wait);
}
-static int dice_try_lock(struct dice *dice)
+static int dice_try_lock(struct snd_dice *dice)
{
int err;
@@ -114,7 +114,7 @@ out:
return err;
}
-static void dice_unlock(struct dice *dice)
+static void dice_unlock(struct snd_dice *dice)
{
spin_lock_irq(&dice->lock);
@@ -128,18 +128,18 @@ out:
spin_unlock_irq(&dice->lock);
}
-static inline u64 global_address(struct dice *dice, unsigned int offset)
+static inline u64 global_address(struct snd_dice *dice, unsigned int offset)
{
return DICE_PRIVATE_SPACE + dice->global_offset + offset;
}
/* TODO: rx index */
-static inline u64 rx_address(struct dice *dice, unsigned int offset)
+static inline u64 rx_address(struct snd_dice *dice, unsigned int offset)
{
return DICE_PRIVATE_SPACE + dice->rx_offset + offset;
}
-static int dice_owner_set(struct dice *dice)
+static int dice_owner_set(struct snd_dice *dice)
{
struct fw_device *device = fw_parent_device(dice->unit);
__be64 *buffer;
@@ -183,7 +183,7 @@ static int dice_owner_set(struct dice *dice)
return err;
}
-static int dice_owner_update(struct dice *dice)
+static int dice_owner_update(struct snd_dice *dice)
{
struct fw_device *device = fw_parent_device(dice->unit);
__be64 *buffer;
@@ -226,7 +226,7 @@ static int dice_owner_update(struct dice *dice)
return err;
}
-static void dice_owner_clear(struct dice *dice)
+static void dice_owner_clear(struct snd_dice *dice)
{
struct fw_device *device = fw_parent_device(dice->unit);
__be64 *buffer;
@@ -249,7 +249,7 @@ static void dice_owner_clear(struct dice *dice)
dice->owner_generation = -1;
}
-static int dice_enable_set(struct dice *dice)
+static int dice_enable_set(struct snd_dice *dice)
{
__be32 value;
int err;
@@ -267,7 +267,7 @@ static int dice_enable_set(struct dice *dice)
return 0;
}
-static void dice_enable_clear(struct dice *dice)
+static void dice_enable_clear(struct snd_dice *dice)
{
__be32 value;
@@ -288,7 +288,7 @@ static void dice_notification(struct fw_card *card, struct fw_request *request,
int generation, unsigned long long offset,
void *data, size_t length, void *callback_data)
{
- struct dice *dice = callback_data;
+ struct snd_dice *dice = callback_data;
u32 bits;
unsigned long flags;
@@ -317,7 +317,7 @@ static void dice_notification(struct fw_card *card, struct fw_request *request,
static int dice_rate_constraint(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{
- struct dice *dice = rule->private;
+ struct snd_dice *dice = rule->private;
const struct snd_interval *channels =
hw_param_interval_c(params, SNDRV_PCM_HW_PARAM_CHANNELS);
struct snd_interval *rate =
@@ -344,7 +344,7 @@ static int dice_rate_constraint(struct snd_pcm_hw_params *params,
static int dice_channels_constraint(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{
- struct dice *dice = rule->private;
+ struct snd_dice *dice = rule->private;
const struct snd_interval *rate =
hw_param_interval_c(params, SNDRV_PCM_HW_PARAM_RATE);
struct snd_interval *channels =
@@ -384,7 +384,7 @@ static int dice_open(struct snd_pcm_substream *substream)
.periods_min = 1,
.periods_max = UINT_MAX,
};
- struct dice *dice = substream->private_data;
+ struct snd_dice *dice = substream->private_data;
struct snd_pcm_runtime *runtime = substream->runtime;
unsigned int i;
int err;
@@ -420,7 +420,7 @@ static int dice_open(struct snd_pcm_substream *substream)
if (err < 0)
goto err_lock;
- err = amdtp_stream_add_pcm_hw_constraints(&dice->stream, runtime);
+ err = amdtp_stream_add_pcm_hw_constraints(&dice->rx_stream, runtime);
if (err < 0)
goto err_lock;
@@ -434,47 +434,47 @@ error:
static int dice_close(struct snd_pcm_substream *substream)
{
- struct dice *dice = substream->private_data;
+ struct snd_dice *dice = substream->private_data;
dice_unlock(dice);
return 0;
}
-static int dice_stream_start_packets(struct dice *dice)
+static int dice_stream_start_packets(struct snd_dice *dice)
{
int err;
- if (amdtp_stream_running(&dice->stream))
+ if (amdtp_stream_running(&dice->rx_stream))
return 0;
- err = amdtp_stream_start(&dice->stream, dice->resources.channel,
+ err = amdtp_stream_start(&dice->rx_stream, dice->rx_resources.channel,
fw_parent_device(dice->unit)->max_speed);
if (err < 0)
return err;
err = dice_enable_set(dice);
if (err < 0) {
- amdtp_stream_stop(&dice->stream);
+ amdtp_stream_stop(&dice->rx_stream);
return err;
}
return 0;
}
-static int dice_stream_start(struct dice *dice)
+static int dice_stream_start(struct snd_dice *dice)
{
__be32 channel;
int err;
- if (!dice->resources.allocated) {
- err = fw_iso_resources_allocate(&dice->resources,
- amdtp_stream_get_max_payload(&dice->stream),
+ if (!dice->rx_resources.allocated) {
+ err = fw_iso_resources_allocate(&dice->rx_resources,
+ amdtp_stream_get_max_payload(&dice->rx_stream),
fw_parent_device(dice->unit)->max_speed);
if (err < 0)
goto error;
- channel = cpu_to_be32(dice->resources.channel);
+ channel = cpu_to_be32(dice->rx_resources.channel);
err = snd_fw_transaction(dice->unit,
TCODE_WRITE_QUADLET_REQUEST,
rx_address(dice, RX_ISOCHRONOUS),
@@ -494,36 +494,36 @@ err_rx_channel:
snd_fw_transaction(dice->unit, TCODE_WRITE_QUADLET_REQUEST,
rx_address(dice, RX_ISOCHRONOUS), &channel, 4, 0);
err_resources:
- fw_iso_resources_free(&dice->resources);
+ fw_iso_resources_free(&dice->rx_resources);
error:
return err;
}
-static void dice_stream_stop_packets(struct dice *dice)
+static void dice_stream_stop_packets(struct snd_dice *dice)
{
- if (amdtp_stream_running(&dice->stream)) {
+ if (amdtp_stream_running(&dice->rx_stream)) {
dice_enable_clear(dice);
- amdtp_stream_stop(&dice->stream);
+ amdtp_stream_stop(&dice->rx_stream);
}
}
-static void dice_stream_stop(struct dice *dice)
+static void dice_stream_stop(struct snd_dice *dice)
{
__be32 channel;
dice_stream_stop_packets(dice);
- if (!dice->resources.allocated)
+ if (!dice->rx_resources.allocated)
return;
channel = cpu_to_be32((u32)-1);
snd_fw_transaction(dice->unit, TCODE_WRITE_QUADLET_REQUEST,
rx_address(dice, RX_ISOCHRONOUS), &channel, 4, 0);
- fw_iso_resources_free(&dice->resources);
+ fw_iso_resources_free(&dice->rx_resources);
}
-static int dice_change_rate(struct dice *dice, unsigned int clock_rate)
+static int dice_change_rate(struct snd_dice *dice, unsigned int clock_rate)
{
__be32 value;
int err;
@@ -547,7 +547,7 @@ static int dice_change_rate(struct dice *dice, unsigned int clock_rate)
static int dice_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *hw_params)
{
- struct dice *dice = substream->private_data;
+ struct snd_dice *dice = substream->private_data;
unsigned int rate_index, mode, rate, channels, i;
int err;
@@ -585,24 +585,24 @@ static int dice_hw_params(struct snd_pcm_substream *substream,
rate /= 2;
channels *= 2;
- dice->stream.double_pcm_frames = true;
+ dice->rx_stream.double_pcm_frames = true;
} else {
- dice->stream.double_pcm_frames = false;
+ dice->rx_stream.double_pcm_frames = false;
}
mode = rate_index_to_mode(rate_index);
- amdtp_stream_set_parameters(&dice->stream, rate, channels,
+ amdtp_stream_set_parameters(&dice->rx_stream, rate, channels,
dice->rx_midi_ports[mode]);
if (rate_index > 4) {
channels /= 2;
for (i = 0; i < channels; i++) {
- dice->stream.pcm_positions[i] = i * 2;
- dice->stream.pcm_positions[i + channels] = i * 2 + 1;
+ dice->rx_stream.pcm_positions[i] = i * 2;
+ dice->rx_stream.pcm_positions[i + channels] = i * 2 + 1;
}
}
- amdtp_stream_set_pcm_format(&dice->stream,
+ amdtp_stream_set_pcm_format(&dice->rx_stream,
params_format(hw_params));
return 0;
@@ -610,7 +610,7 @@ static int dice_hw_params(struct snd_pcm_substream *substream,
static int dice_hw_free(struct snd_pcm_substream *substream)
{
- struct dice *dice = substream->private_data;
+ struct snd_dice *dice = substream->private_data;
mutex_lock(&dice->mutex);
dice_stream_stop(dice);
@@ -621,12 +621,12 @@ static int dice_hw_free(struct snd_pcm_substream *substream)
static int dice_prepare(struct snd_pcm_substream *substream)
{
- struct dice *dice = substream->private_data;
+ struct snd_dice *dice = substream->private_data;
int err;
mutex_lock(&dice->mutex);
- if (amdtp_streaming_error(&dice->stream))
+ if (amdtp_streaming_error(&dice->rx_stream))
dice_stream_stop_packets(dice);
err = dice_stream_start(dice);
@@ -637,14 +637,14 @@ static int dice_prepare(struct snd_pcm_substream *substream)
mutex_unlock(&dice->mutex);
- amdtp_stream_pcm_prepare(&dice->stream);
+ amdtp_stream_pcm_prepare(&dice->rx_stream);
return 0;
}
static int dice_trigger(struct snd_pcm_substream *substream, int cmd)
{
- struct dice *dice = substream->private_data;
+ struct snd_dice *dice = substream->private_data;
struct snd_pcm_substream *pcm;
switch (cmd) {
@@ -657,19 +657,19 @@ static int dice_trigger(struct snd_pcm_substream *substream, int cmd)
default:
return -EINVAL;
}
- amdtp_stream_pcm_trigger(&dice->stream, pcm);
+ amdtp_stream_pcm_trigger(&dice->rx_stream, pcm);
return 0;
}
static snd_pcm_uframes_t dice_pointer(struct snd_pcm_substream *substream)
{
- struct dice *dice = substream->private_data;
+ struct snd_dice *dice = substream->private_data;
- return amdtp_stream_pcm_pointer(&dice->stream);
+ return amdtp_stream_pcm_pointer(&dice->rx_stream);
}
-static int dice_create_pcm(struct dice *dice)
+static int dice_create_pcm(struct snd_dice *dice)
{
static struct snd_pcm_ops ops = {
.open = dice_open,
@@ -699,7 +699,7 @@ static int dice_create_pcm(struct dice *dice)
static long dice_hwdep_read(struct snd_hwdep *hwdep, char __user *buf,
long count, loff_t *offset)
{
- struct dice *dice = hwdep->private_data;
+ struct snd_dice *dice = hwdep->private_data;
DEFINE_WAIT(wait);
union snd_firewire_event event;
@@ -742,7 +742,7 @@ static long dice_hwdep_read(struct snd_hwdep *hwdep, char __user *buf,
static unsigned int dice_hwdep_poll(struct snd_hwdep *hwdep, struct file *file,
poll_table *wait)
{
- struct dice *dice = hwdep->private_data;
+ struct snd_dice *dice = hwdep->private_data;
unsigned int events;
poll_wait(file, &dice->hwdep_wait, wait);
@@ -757,7 +757,7 @@ static unsigned int dice_hwdep_poll(struct snd_hwdep *hwdep, struct file *file,
return events;
}
-static int dice_hwdep_get_info(struct dice *dice, void __user *arg)
+static int dice_hwdep_get_info(struct snd_dice *dice, void __user *arg)
{
struct fw_device *dev = fw_parent_device(dice->unit);
struct snd_firewire_get_info info;
@@ -776,7 +776,7 @@ static int dice_hwdep_get_info(struct dice *dice, void __user *arg)
return 0;
}
-static int dice_hwdep_lock(struct dice *dice)
+static int dice_hwdep_lock(struct snd_dice *dice)
{
int err;
@@ -794,7 +794,7 @@ static int dice_hwdep_lock(struct dice *dice)
return err;
}
-static int dice_hwdep_unlock(struct dice *dice)
+static int dice_hwdep_unlock(struct snd_dice *dice)
{
int err;
@@ -814,7 +814,7 @@ static int dice_hwdep_unlock(struct dice *dice)
static int dice_hwdep_release(struct snd_hwdep *hwdep, struct file *file)
{
- struct dice *dice = hwdep->private_data;
+ struct snd_dice *dice = hwdep->private_data;
spin_lock_irq(&dice->lock);
if (dice->dev_lock_count == -1)
@@ -827,7 +827,7 @@ static int dice_hwdep_release(struct snd_hwdep *hwdep, struct file *file)
static int dice_hwdep_ioctl(struct snd_hwdep *hwdep, struct file *file,
unsigned int cmd, unsigned long arg)
{
- struct dice *dice = hwdep->private_data;
+ struct snd_dice *dice = hwdep->private_data;
switch (cmd) {
case SNDRV_FIREWIRE_IOCTL_GET_INFO:
@@ -852,7 +852,7 @@ static int dice_hwdep_compat_ioctl(struct snd_hwdep *hwdep, struct file *file,
#define dice_hwdep_compat_ioctl NULL
#endif
-static int dice_create_hwdep(struct dice *dice)
+static int dice_create_hwdep(struct snd_dice *dice)
{
static const struct snd_hwdep_ops ops = {
.read = dice_hwdep_read,
@@ -876,7 +876,7 @@ static int dice_create_hwdep(struct dice *dice)
return 0;
}
-static int dice_proc_read_mem(struct dice *dice, void *buffer,
+static int dice_proc_read_mem(struct snd_dice *dice, void *buffer,
unsigned int offset_q, unsigned int quadlets)
{
unsigned int i;
@@ -899,8 +899,8 @@ static const char *str_from_array(const char *const strs[], unsigned int count,
{
if (i < count)
return strs[i];
- else
- return "(unknown)";
+
+ return "(unknown)";
}
static void dice_proc_fixup_string(char *s, unsigned int size)
@@ -935,7 +935,7 @@ static void dice_proc_read(struct snd_info_entry *entry,
"32000", "44100", "48000", "88200", "96000", "176400", "192000",
"any low", "any mid", "any high", "none"
};
- struct dice *dice = entry->private_data;
+ struct snd_dice *dice = entry->private_data;
u32 sections[ARRAY_SIZE(section_names) * 2];
struct {
u32 number;
@@ -1110,7 +1110,7 @@ static void dice_proc_read(struct snd_info_entry *entry,
}
}
-static void dice_create_proc(struct dice *dice)
+static void dice_create_proc(struct snd_dice *dice)
{
struct snd_info_entry *entry;
@@ -1120,9 +1120,9 @@ static void dice_create_proc(struct dice *dice)
static void dice_card_free(struct snd_card *card)
{
- struct dice *dice = card->private_data;
+ struct snd_dice *dice = card->private_data;
- amdtp_stream_destroy(&dice->stream);
+ amdtp_stream_destroy(&dice->rx_stream);
fw_core_remove_address_handler(&dice->notification_handler);
mutex_destroy(&dice->mutex);
}
@@ -1217,7 +1217,7 @@ static int dice_interface_check(struct fw_unit *unit)
return 0;
}
-static int highest_supported_mode_rate(struct dice *dice, unsigned int mode)
+static int highest_supported_mode_rate(struct snd_dice *dice, unsigned int mode)
{
int i;
@@ -1229,7 +1229,7 @@ static int highest_supported_mode_rate(struct dice *dice, unsigned int mode)
return -1;
}
-static int dice_read_mode_params(struct dice *dice, unsigned int mode)
+static int dice_read_mode_params(struct snd_dice *dice, unsigned int mode)
{
__be32 values[2];
int rate_index, err;
@@ -1257,7 +1257,7 @@ static int dice_read_mode_params(struct dice *dice, unsigned int mode)
return 0;
}
-static int dice_read_params(struct dice *dice)
+static int dice_read_params(struct snd_dice *dice)
{
__be32 pointers[6];
__be32 value;
@@ -1298,7 +1298,7 @@ static int dice_read_params(struct dice *dice)
return 0;
}
-static void dice_card_strings(struct dice *dice)
+static void dice_card_strings(struct snd_dice *dice)
{
struct snd_card *card = dice->card;
struct fw_device *dev = fw_parent_device(dice->unit);
@@ -1336,7 +1336,7 @@ static void dice_card_strings(struct dice *dice)
static int dice_probe(struct fw_unit *unit, const struct ieee1394_device_id *id)
{
struct snd_card *card;
- struct dice *dice;
+ struct snd_dice *dice;
__be32 clock_sel;
int err;
@@ -1373,12 +1373,12 @@ static int dice_probe(struct fw_unit *unit, const struct ieee1394_device_id *id)
if (err < 0)
goto err_owner;
- err = fw_iso_resources_init(&dice->resources, unit);
+ err = fw_iso_resources_init(&dice->rx_resources, unit);
if (err < 0)
goto err_owner;
- dice->resources.channels_mask = 0x00000000ffffffffuLL;
+ dice->rx_resources.channels_mask = 0x00000000ffffffffuLL;
- err = amdtp_stream_init(&dice->stream, unit, AMDTP_OUT_STREAM,
+ err = amdtp_stream_init(&dice->rx_stream, unit, AMDTP_OUT_STREAM,
CIP_BLOCKING);
if (err < 0)
goto err_resources;
@@ -1419,7 +1419,7 @@ static int dice_probe(struct fw_unit *unit, const struct ieee1394_device_id *id)
return 0;
err_resources:
- fw_iso_resources_destroy(&dice->resources);
+ fw_iso_resources_destroy(&dice->rx_resources);
err_owner:
dice_owner_clear(dice);
err_notification_handler:
@@ -1433,9 +1433,9 @@ error:
static void dice_remove(struct fw_unit *unit)
{
- struct dice *dice = dev_get_drvdata(&unit->device);
+ struct snd_dice *dice = dev_get_drvdata(&unit->device);
- amdtp_stream_pcm_abort(&dice->stream);
+ amdtp_stream_pcm_abort(&dice->rx_stream);
snd_card_disconnect(dice->card);
@@ -1451,7 +1451,7 @@ static void dice_remove(struct fw_unit *unit)
static void dice_bus_reset(struct fw_unit *unit)
{
- struct dice *dice = dev_get_drvdata(&unit->device);
+ struct snd_dice *dice = dev_get_drvdata(&unit->device);
/*
* On a bus reset, the DICE firmware disables streaming and then goes
@@ -1461,7 +1461,7 @@ static void dice_bus_reset(struct fw_unit *unit)
* to stop so that the application can restart them in an orderly
* manner.
*/
- amdtp_stream_pcm_abort(&dice->stream);
+ amdtp_stream_pcm_abort(&dice->rx_stream);
mutex_lock(&dice->mutex);
@@ -1470,7 +1470,7 @@ static void dice_bus_reset(struct fw_unit *unit)
dice_owner_update(dice);
- fw_iso_resources_update(&dice->resources);
+ fw_iso_resources_update(&dice->rx_resources);
mutex_unlock(&dice->mutex);
}
OpenPOWER on IntegriCloud