summaryrefslogtreecommitdiffstats
path: root/sound/pci/rme9652
diff options
context:
space:
mode:
authorThomas Charbonnel <thomas@undata.org>2005-04-25 11:35:29 +0200
committerJaroslav Kysela <perex@suse.cz>2005-05-29 10:05:23 +0200
commit7679a03099992d8e6c878d459e22b639ed8c10fa (patch)
treec8f19bcd7c9297948936fd8efe3b82c08f63c601 /sound/pci/rme9652
parent67e1b51e293cec9bbe8c9ad81680bceec1e3b7f9 (diff)
downloadlinux-7679a03099992d8e6c878d459e22b639ed8c10fa.tar.gz
linux-7679a03099992d8e6c878d459e22b639ed8c10fa.tar.bz2
linux-7679a03099992d8e6c878d459e22b639ed8c10fa.zip
[ALSA] hdsp - solved big endian problem
RME HDSP driver ppc firmware upload fix Signed-off-by: Thomas Charbonnel <thomas@undata.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci/rme9652')
-rw-r--r--sound/pci/rme9652/hdsp.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index 44ca7ddb68f6..b35ed5f0c042 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -4912,19 +4912,9 @@ static int __devinit hdsp_request_fw_loader(hdsp_t *hdsp)
release_firmware(fw);
return -EINVAL;
}
-#ifdef SNDRV_BIG_ENDIAN
- {
- int i;
- u32 *src = (u32*)fw->data;
- for (i = 0; i < ARRAY_SIZE(hdsp->firmware_cache); i++, src++)
- hdsp->firmware_cache[i] = ((*src & 0x000000ff) << 16) |
- ((*src & 0x0000ff00) << 8) |
- ((*src & 0x00ff0000) >> 8) |
- ((*src & 0xff000000) >> 16);
- }
-#else
+
memcpy(hdsp->firmware_cache, fw->data, sizeof(hdsp->firmware_cache));
-#endif
+
release_firmware(fw);
hdsp->state |= HDSP_FirmwareCached;