[alsa-devel] [PATCH v1 1/4] ASoC: Intel: common: Replace custom implementation of readq / writeq

Andy Shevchenko andriy.shevchenko at linux.intel.com
Wed Feb 8 12:59:35 CET 2017


On Mon, 2017-02-06 at 22:33 +0530, Vinod Koul wrote:
> On Tue, Jan 31, 2017 at 04:14:22PM +0200, Andy Shevchenko wrote:
> > The readq() and writeq() helpers are available in the
> > linux/io-64-nonatomic-hi-lo.h and linux/io-64-nonatomic-lo-hi.h
> > headers.
> > 
> > Replace custom implementation by the generic helpers.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> > ---
> >  sound/soc/intel/common/sst-dsp.c | 9 ++++-----
> >  1 file changed, 4 insertions(+), 5 deletions(-)
> > 
> > diff --git a/sound/soc/intel/common/sst-dsp.c
> > b/sound/soc/intel/common/sst-dsp.c
> > index 11c0805393ff..748f1f5c02df 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 <linux/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));
> > +	lo_hi_writeq(value, addr + offset);
> 
> why not use writeq here and for 32bit this becomes lo_hi_writeq(), or
> did I
> miss something here..

I'm not sure our hardware will correctly handle writeq()/readq().
OCP bus which is quite likely used internally is 32-bit bus.



> 
> >  }
> >  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 lo_hi_readq(addr + offset);
> >  }
> >  EXPORT_SYMBOL_GPL(sst_shim32_read64);
> >  
> > -- 
> > 2.11.0
> > 
> 
> 

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


More information about the Alsa-devel mailing list