aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/sst-firmware.c
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2014-10-20 20:54:34 +0530
committerMark Brown <broonie@kernel.org>2014-10-21 23:59:00 +0100
commit7f26680170e322730c7c7553f5625fb04de4f5b8 (patch)
tree0453e0f60041c3124899734f168462834005e58d /sound/soc/intel/sst-firmware.c
parentASoC: intel: explain why block not found isn't error always (diff)
downloadlinux-dev-7f26680170e322730c7c7553f5625fb04de4f5b8.tar.xz
linux-dev-7f26680170e322730c7c7553f5625fb04de4f5b8.zip
ASoC: intel: use __iowrite32_copy for 32 bit copy
The sst-firmware was also using own method to do 32bit copy, turns out we have a kernel API so use that instead [For BYT] Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to '')
-rw-r--r--sound/soc/intel/sst-firmware.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/sound/soc/intel/sst-firmware.c b/sound/soc/intel/sst-firmware.c
index 3bb43dac892d..cf3d19997126 100644
--- a/sound/soc/intel/sst-firmware.c
+++ b/sound/soc/intel/sst-firmware.c
@@ -32,13 +32,10 @@
static void block_module_remove(struct sst_module *module);
-static void sst_memcpy32(volatile void __iomem *dest, void *src, u32 bytes)
+static inline void sst_memcpy32(volatile void __iomem *dest, void *src, u32 bytes)
{
- u32 i;
-
- /* copy one 32 bit word at a time as 64 bit access is not supported */
- for (i = 0; i < bytes; i += 4)
- memcpy_toio(dest + i, src + i, 4);
+ /* __iowrite32_copy use 32bit size values so divide by 4 */
+ __iowrite32_copy((void *)dest, src, bytes/4);
}
/* create new generic firmware object */