[alsa-devel] [PATCH v1 1/1] sst: replace custom implementation of readq / writeq

Andy Shevchenko andriy.shevchenko at linux.intel.com
Thu Sep 17 10:57:59 CEST 2015


On Thu, 2015-08-27 at 15:09 +0300, Andy Shevchenko wrote:
> The readq() and writeq() helpers are available in the
> asm-generic/io-64-nonatomic-hi-lo.h and asm-generic/io-64-nonatomic
> -lo-hi.h
> headers. Replace custom implementation by the generic helpers.
> 

Liam, any comments on this?

> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> ---
>  sound/soc/intel/atom/sst/sst_pvt.c | 16 ++++++----------
>  sound/soc/intel/common/sst-dsp.c   |  9 ++++-----
>  2 files changed, 10 insertions(+), 15 deletions(-)
> 
> diff --git a/sound/soc/intel/atom/sst/sst_pvt.c 
> b/sound/soc/intel/atom/sst/sst_pvt.c
> index adb32fe..6cc222d 100644
> --- a/sound/soc/intel/atom/sst/sst_pvt.c
> +++ b/sound/soc/intel/atom/sst/sst_pvt.c
> @@ -31,7 +31,10 @@
>  #include <sound/pcm.h>
>  #include <sound/soc.h>
>  #include <sound/compress_driver.h>
> +
> +#include <asm-generic/io-64-nonatomic-lo-hi.h>
>  #include <asm/platform_sst_audio.h>
> +
>  #include "../sst-mfld-platform.h"
>  #include "sst.h"
>  #include "../../common/sst-dsp.h"
> @@ -49,25 +52,18 @@ u32 sst_shim_read(void __iomem *addr, int offset)
>  
>  u64 sst_reg_read64(void __iomem *addr, int offset)
>  {
> -	u64 val = 0;
> -
> -	memcpy_fromio(&val, addr + offset, sizeof(val));
> -
> -	return val;
> +	return readq(addr + offset);
>  }
>  
>  int sst_shim_write64(void __iomem *addr, int offset, u64 value)
>  {
> -	memcpy_toio(addr + offset, &value, sizeof(value));
> +	writeq(value, addr + offset);
>  	return 0;
>  }
>  
>  u64 sst_shim_read64(void __iomem *addr, int offset)
>  {
> -	u64 val = 0;
> -
> -	memcpy_fromio(&val, addr + offset, sizeof(val));
> -	return val;
> +	return readq(addr + offset);
>  }
>  
>  void sst_set_fw_state_locked(
> diff --git a/sound/soc/intel/common/sst-dsp.c 
> b/sound/soc/intel/common/sst-dsp.c
> index a627236..5274482 100644
> --- a/sound/soc/intel/common/sst-dsp.c
> +++ b/sound/soc/intel/common/sst-dsp.c
> @@ -22,6 +22,8 @@
>  #include <linux/io.h>
>  #include <linux/delay.h>
>  
> +#include <asm-generic/io-64-nonatomic-lo-hi.h>
> +
>  #include "sst-dsp.h"
>  #include "sst-dsp-priv.h"
>  
> @@ -43,16 +45,13 @@ EXPORT_SYMBOL_GPL(sst_shim32_read);
>  
>  void sst_shim32_write64(void __iomem *addr, u32 offset, u64 value)
>  {
> -	memcpy_toio(addr + offset, &value, sizeof(value));
> +	writeq(value, addr + offset);
>  }
>  EXPORT_SYMBOL_GPL(sst_shim32_write64);
>  
>  u64 sst_shim32_read64(void __iomem *addr, u32 offset)
>  {
> -	u64 val;
> -
> -	memcpy_fromio(&val, addr + offset, sizeof(val));
> -	return val;
> +	return readq(addr + offset);
>  }
>  EXPORT_SYMBOL_GPL(sst_shim32_read64);
>  

-- 
Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Intel Finland Oy


More information about the Alsa-devel mailing list