linux/sound/pci
Lucas Tanure 647d50a0c3 ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses
Only disable I2C clock 25 ms after not being used.

The current implementation enables and disables the I2C clock for each
I2C transaction. Each enable/disable call requires two verb transactions.
This means each I2C transaction requires a total of four verb transactions
to enable and disable the clock.
However, if there are multiple consecutive I2C transactions, it is not
necessary to enable and disable the clock each time, instead it is more
efficient to enable the clock for the first transaction, and disable it
after the final transaction, which would improve performance.
This is achieved by using a timeout which disables the clock if no request
to enable the clock has occurred for 25 ms.

Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Signed-off-by: Stefan Binding <sbinding@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20210811185654.6837-14-vitalyr@opensource.cirrus.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2021-08-12 13:41:48 +02:00
..
ac97 ALSA: ac97: Fix assignment in if condition 2021-06-09 17:30:02 +02:00
ali5451 ALSA: ali5451: Allocate resources with device-managed APIs 2021-07-19 16:17:00 +02:00
asihpi ALSA: asihpi: fix comment syntax in file headers 2021-03-18 10:13:25 +01:00
au88x0 ALSA: au88x0: Allocate resources with device-managed APIs 2021-07-19 16:16:51 +02:00
aw2 ALSA: aw2: Allocate resources with device-managed APIs 2021-07-19 16:16:52 +02:00
ca0106 ALSA: ca0106: Allocate resources with device-managed APIs 2021-07-19 16:16:53 +02:00
cs46xx ALSA: pci: cs46xx: Fix set up buffer type properly 2021-08-09 10:04:05 +02:00
cs5535audio ALSA: cs5535audio: Allocate resources with device-managed APIs 2021-07-19 16:16:55 +02:00
ctxfi ALSA: control - add generic LED API 2021-03-30 17:42:40 +02:00
echoaudio ALSA: echoaudio: Allocate resources with device-managed APIs 2021-07-19 16:16:55 +02:00
emu10k1 ALSA: emu10k1x: Allocate resources with device-managed APIs 2021-07-19 16:16:58 +02:00
hda ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses 2021-08-12 13:41:48 +02:00
ice1712 ALSA: ice1724: Allocate resources with device-managed APIs 2021-07-19 16:17:00 +02:00
korg1212 ALSA: pci/korg1212: completely remove 'set but not used' warnings 2021-08-05 08:23:38 +02:00
lola ALSA: lola: Allocate resources with device-managed APIs 2021-07-19 16:17:02 +02:00
lx6464es ALSA: lx6464es: Allocate resources with device-managed APIs 2021-07-19 16:17:03 +02:00
mixart ALSA: mixart: Fix assignment in if condition 2021-06-09 17:30:15 +02:00
nm256 ALSA: nm256: Fix error return code in snd_nm256_create() 2021-07-20 16:08:21 +02:00
oxygen ALSA: oxygen: Allocate resources with device-managed APIs 2021-07-19 16:17:04 +02:00
pcxhr ALSA: pcxhr: use __func__ to get funcion's name in an output message 2021-07-31 10:35:11 +02:00
riptide ALSA: riptide: Allocate resources with device-managed APIs 2021-07-19 16:17:05 +02:00
rme9652 ALSA: pci: rme: Set up buffer type properly 2021-08-09 10:04:04 +02:00
trident ALSA: trident: Allocate resources with device-managed APIs 2021-07-19 16:17:08 +02:00
vx222 ALSA: vx222: Allocate resources with device-managed APIs 2021-07-19 16:17:10 +02:00
ymfpci ALSA: ymfpci: Allocate resources with device-managed APIs 2021-07-19 16:17:11 +02:00
ad1889.c ALSA: ad1889: Allocate resources with device-managed APIs 2021-07-19 16:16:38 +02:00
ad1889.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ak4531_codec.c ALSA: ak4531: Fix assignment in if condition 2021-06-09 17:29:49 +02:00
als300.c ALSA: als300: Fix missing chip initialization 2021-07-21 00:31:56 +02:00
als4000.c ALSA: als4000: Allocate resources with device-managed APIs 2021-07-19 16:16:40 +02:00
atiixp_modem.c ALSA: atiixp: Allocate resources with device-managed APIs 2021-07-19 16:16:37 +02:00
atiixp.c ALSA: atiixp: Allocate resources with device-managed APIs 2021-07-19 16:16:37 +02:00
azt3328.c ALSA: azt3328: Allocate resources with device-managed APIs 2021-07-19 16:16:40 +02:00
azt3328.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bt87x.c ALSA: bt87x: Allocate resources with device-managed APIs 2021-07-19 16:16:41 +02:00
cmipci.c ALSA: cmipci: Allocate resources with device-managed APIs 2021-07-19 16:16:42 +02:00
cs4281.c ALSA: cs4281: Fix missing chip initialization 2021-07-21 00:31:39 +02:00
cs5530.c ALSA: cs5530: Allocate resources with device-managed APIs 2021-07-19 16:16:43 +02:00
ens1370.c ALSA: ens137x: Allocate resources with device-managed APIs 2021-07-19 16:16:44 +02:00
ens1371.c
es1938.c ALSA: es1938: Allocate resources with device-managed APIs 2021-07-19 16:16:44 +02:00
es1968.c ALSA: es1968: Allocate resources with device-managed APIs 2021-07-19 16:16:45 +02:00
fm801.c ALSA: fm801: Allocate resources with device-managed APIs 2021-07-19 16:16:46 +02:00
intel8x0.c ALSA: memalloc: Correctly name as WC 2021-08-04 08:07:58 +02:00
intel8x0m.c ALSA: intel8x0: Allocate resources with device-managed APIs 2021-07-19 16:16:36 +02:00
Kconfig sound: Fix Kconfig indentation 2019-10-07 03:53:03 +02:00
maestro3.c ALSA: maestro3: Allocate resources with device-managed APIs 2021-07-19 16:16:46 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rme32.c ALSA: rme32: Allocate resources with device-managed APIs 2021-07-19 16:16:47 +02:00
rme96.c ALSA: rme96: Allocate resources with device-managed APIs 2021-07-19 16:16:48 +02:00
sis7019.c ALSA: sis7019: Allocate resources with device-managed APIs 2021-07-19 16:16:48 +02:00
sis7019.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 274 2019-06-05 17:30:30 +02:00
sonicvibes.c ALSA: sonicvibes: Allocate resources with device-managed APIs 2021-07-19 16:16:49 +02:00
via82xx_modem.c ALSA: via82xx: Allocate resources with device-managed APIs 2021-07-19 16:16:50 +02:00
via82xx.c ALSA: via82xx: Allocate resources with device-managed APIs 2021-07-19 16:16:50 +02:00