ASoC: intel: use __iowrite32_copy for 32 bit copy
authorVinod Koul <vinod.koul@intel.com>
Mon, 20 Oct 2014 15:24:34 +0000 (20:54 +0530)
committerMark Brown <broonie@kernel.org>
Tue, 21 Oct 2014 22:59:00 +0000 (23:59 +0100)
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>
sound/soc/intel/sst-firmware.c

index 3bb43dac892df4e99cbf4cb0bfcfb554cca74418..cf3d19997126853db7c63276c2fdd2bec0adcb5f 100644 (file)
 
 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 */