* Using regmap_multi_reg_write() with regcache_sync()
@ 2015-07-31 3:01 Sudheer
2015-07-31 16:36 ` Mark Brown
0 siblings, 1 reply; 2+ messages in thread
From: Sudheer @ 2015-07-31 3:01 UTC (permalink / raw)
To: 'Mark Brown'; +Cc: plai, bgoswami, alsa-devel
Hi Mark,
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.
Your comments/suggestions are highly appreciated.
Thanks & Regards,
Sudheer
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a
Linux Foundation Collaborative Project
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Using regmap_multi_reg_write() with regcache_sync()
2015-07-31 3:01 Using regmap_multi_reg_write() with regcache_sync() Sudheer
@ 2015-07-31 16:36 ` Mark Brown
0 siblings, 0 replies; 2+ messages in thread
From: Mark Brown @ 2015-07-31 16:36 UTC (permalink / raw)
To: Sudheer; +Cc: plai, bgoswami, alsa-devel
[-- Attachment #1.1: Type: text/plain, Size: 1389 bytes --]
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.
[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-07-31 16:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-31 3:01 Using regmap_multi_reg_write() with regcache_sync() Sudheer
2015-07-31 16:36 ` Mark Brown
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.