[alsa-devel] [PATCH 2/2] ASoC: add driver for Rockchip RK3xxx I2S controller

Mark Brown broonie at kernel.org
Wed Jul 2 12:23:10 CEST 2014


On Wed, Jul 02, 2014 at 09:01:49AM +0800, Huang Tao wrote:
> 于 2014年07月02日 01:07, Mark Brown 写道:
> >> +static inline void i2s_writel(struct rk_i2s_dev *i2s, u32 value,
> >> > +			      unsigned int offset)
> >> > +{
> >> > +	writel_relaxed(value, i2s->regs + offset);
> >> > +}
> >> > +
> >> > +static inline u32 i2s_readl(struct rk_i2s_dev *i2s, unsigned int offset)
> >> > +{
> >> > +	return readl_relaxed(i2s->regs + offset);
> >> > +}
> > Perhaps use regmap?  The main advantage would be the debug
> > infrastructure, though you could also use _update_bits() to reduce the
> > amount of time spent locked.

> Are you sure? This is a I2S driver, we can write the register directly,
> do not through I2C or SPI bus.
> Write a register is only a few instructions on ARM, but write through
> regmap, it may take a long path.
> I think it will just consume CPU power and make the whole thing more
> complex.
> Could you tell me what benefits we can get if use regmap? Or something I
> just missing?

The main thing is the diagnostic infrastructure, plus the cache if you
find you need that for suspend and resume (which you didn't implement
yet) - that's the main reason things use regmap for memory mapped
registers.  There is some overhead but it's not *that* big.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20140702/bb8d3ae3/attachment.sig>


More information about the Alsa-devel mailing list