aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2014-10-20 20:54:30 +0530
committerMark Brown <broonie@kernel.org>2014-10-21 23:58:59 +0100
commitb3baaa47cc49fab3ecffbbaee660ce003d17d1f7 (patch)
tree3f0bde8ffbb334505e48fa78737ebce33de379b4
parentASoC: Intel: Add new dependency for Haswell machine (diff)
downloadlinux-dev-b3baaa47cc49fab3ecffbbaee660ce003d17d1f7.tar.xz
linux-dev-b3baaa47cc49fab3ecffbbaee660ce003d17d1f7.zip
ASoC: intel: use __iowrite32_copy for 32 bit copy
The driver was using own method to do 32bit copy, turns out we have a kernel API so use that instead Tested-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/intel/sst/sst_loader.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/sound/soc/intel/sst/sst_loader.c b/sound/soc/intel/sst/sst_loader.c
index b6d27c14455a..00f60c1e9fda 100644
--- a/sound/soc/intel/sst/sst_loader.c
+++ b/sound/soc/intel/sst/sst_loader.c
@@ -39,14 +39,12 @@
#include "sst.h"
#include "../sst-dsp.h"
-static void memcpy32_toio(void __iomem *dst, const void *src, int count)
+static inline void memcpy32_toio(void __iomem *dst, const void *src, int count)
{
- int i;
- const u32 *src_32 = src;
- u32 *dst_32 = dst;
-
- for (i = 0; i < count/sizeof(u32); i++)
- writel(*src_32++, dst_32++);
+ /* __iowrite32_copy uses 32-bit count values so divide by 4 for
+ * right count in words
+ */
+ __iowrite32_copy(dst, src, count/4);
}
/**