diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2011-03-15 02:55:50 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-03-15 03:42:28 -0400 |
commit | 5b2599a07eaee53d713fb68f5343eba88fa249c0 (patch) | |
tree | 43cd8d7bebd8b1d9f86ca8f2db69d985da82e94f /sound/firewire/cmp.c | |
parent | be454366324b31922a2460c63c65d5e3cebe9641 (diff) |
ALSA: firewire-lib: allocate DMA buffer separately
For correct cache coherency on some architectures, DMA buffers must be
allocated in a different cache line than data that is concurrently used
by the CPU.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/firewire/cmp.c')
-rw-r--r-- | sound/firewire/cmp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/firewire/cmp.c b/sound/firewire/cmp.c index c992dab4bb95..4a37f3a6fab9 100644 --- a/sound/firewire/cmp.c +++ b/sound/firewire/cmp.c | |||
@@ -117,9 +117,12 @@ int cmp_connection_init(struct cmp_connection *c, | |||
117 | if (ipcr_index >= (impr & IMPR_PLUGS_MASK)) | 117 | if (ipcr_index >= (impr & IMPR_PLUGS_MASK)) |
118 | return -EINVAL; | 118 | return -EINVAL; |
119 | 119 | ||
120 | err = fw_iso_resources_init(&c->resources, unit); | ||
121 | if (err < 0) | ||
122 | return err; | ||
123 | |||
120 | c->connected = false; | 124 | c->connected = false; |
121 | mutex_init(&c->mutex); | 125 | mutex_init(&c->mutex); |
122 | fw_iso_resources_init(&c->resources, unit); | ||
123 | c->last_pcr_value = cpu_to_be32(0x80000000); | 126 | c->last_pcr_value = cpu_to_be32(0x80000000); |
124 | c->pcr_index = ipcr_index; | 127 | c->pcr_index = ipcr_index; |
125 | c->max_speed = (impr & IMPR_SPEED_MASK) >> IMPR_SPEED_SHIFT; | 128 | c->max_speed = (impr & IMPR_SPEED_MASK) >> IMPR_SPEED_SHIFT; |