Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1463838

Re: [PATCH v3 3/3] i2c: designware: do not disable adapter after transfer

From Jarkko Nikula <jarkko.nikula@linux.intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH v3 3/3] i2c: designware: do not disable adapter after transfer
Date 2016-08-16 16:10 +0200
Message-ID <s6Ne2-46v-27@gated-at.bofh.it> (permalink)
References <s01F7-3X8-7@gated-at.bofh.it> <s01F7-3X8-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi, + Wolfram

On 07/29/2016 01:03 AM, Lucas De Marchi wrote:
> Disabling the adapter after each transfer adds additional delays
> for each I2C transfer. Even if we don't wait for it to be disabled
> anymore, on next transfer we will need to if we have several transfers
> in a row.
>
> Now during the transfer init we check if IC_TAR can be changed
> dynamically, the status register for no activity and TX buffer being
> empty. In this case we don't need to disable it
>
> When a transfer fails the adapter will still be disabled - this is a
> conservative approach. When transfers succeed, the adapter is left
> enabled and it's configured so to disable interrupts.
>
> Alternating register reads on 2 slaves:
> perf stat -r4 chrt -f 10 ./i2c-test /dev/i2c-1 25000 0x40 0x6 0x1e 0x00
>
> Before:
> 	8.638705161 seconds time elapsed                  ( +-  5.90% )
> After:
> 	7.516821591 seconds time elapsed                  ( +-  0.11% )
>
> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>  drivers/i2c/busses/i2c-designware-core.c | 55 +++++++++++++++++++++-----------
>  1 file changed, 37 insertions(+), 18 deletions(-)
>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

Re: [PATCH v3 3/3] i2c: designware: do not disable adapter after  transfer Jarkko Nikula <jarkko.nikula@linux.intel.com> - 2016-08-16 16:10 +0200

csiph-web