[alsa-devel] [PATCH v1 1/1] sst: replace custom implementation of readq / writeq
Vinod Koul
vinod.koul at intel.com
Thu Sep 17 13:41:40 CEST 2015
On Thu, Sep 17, 2015 at 10:24:04AM +0100, Liam Girdwood wrote:
> On Thu, 2015-09-17 at 11:57 +0300, Andy Shevchenko wrote:
> > 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?
>
> Looks good from me, but it's one of Vinod's drivers (now added to CC).
Please do test this on BYT/BSW as well, otherwise looks good
Acked-by: Vinod Koul <vinod.koul at intel.com>
--
~Vinod
>
> Liam
>
> >
> > > 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);
> > >
> >
>
More information about the Alsa-devel
mailing list