[alsa-devel] Using regmap_multi_reg_write() with regcache_sync()

Mark Brown broonie at kernel.org
Fri Jul 31 18:36:32 CEST 2015


On Thu, Jul 30, 2015 at 08:01:07PM -0700, Sudheer wrote:

> We are trying to measure cold start output latency for audio playback
> usecase on our platform and observing that the latency is high. As a part of
> optimization, we have profiled regcache_sync() API when the codec is out of
> reset and observed that regcache_sync() takes little long time for synching
> all of the codec registers (around 100 registers). But, the bus connecting
> the codec has the capability to send multiple register writes at once. It
> seems regmap_multi_reg_write() can be used for triggering multiple register
> writes at once. So, we would like to know, if it is possible to use
> regmap_multi_reg_write() or a similar function with regcache_sync that
> intern calls bus driver's multi_reg_write API to sync to the HW, that will
> help in reducing the latency.

We already coalesce register writes using _raw_write() in the cache code
where appropriate, if your device isn't able to use that for some reason
then falling back to multi write sounds sensible, though it'd be a bit
surprising to see a device that uses that.

In general please post proposed changes as patches rather than vague
design questions (it's easier to answer and avoids disappointment later
if there's some hidden issues which present problems), and please
remember to send mails to the relevant lists - linux-kernel for regmap.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20150731/290ae721/attachment.sig>


More information about the Alsa-devel mailing list