linux/drivers/staging/nvec
Julian Andres Klode bb0590e272 staging: nvec: Allow TX buffers only in the upper 75% of the pool
Allow TX buffers to be allocated only in the upper 75% of the pool
to avoid a completely filled buffer preventing the driver from
processing responses. This also improves performance, as RX
allocations do not require checking buffers allocated for TX
unless there are more than 16 incoming messages -- which is
highly unlikely.

An earlier version used the lower 75% for TX messages, but
that was considered to be not that effective due to the
overlaps of RX and TX buffers mentioned above.

Signed-off-by: Julian Andres Klode <jak@jak-linux.org>
Acked-by: Marc Dietrich <marvin24@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-09-29 17:41:36 -07:00
..
Kconfig staging: nvec: fix Kconfig dependencies 2011-09-29 17:40:40 -07:00
Makefile staging: nvec: add LED support 2011-09-29 17:40:38 -07:00
nvec-keytable.h staging: nvec: coding style fixes / add copyright notice 2011-09-29 17:40:37 -07:00
nvec.c staging: nvec: Allow TX buffers only in the upper 75% of the pool 2011-09-29 17:41:36 -07:00
nvec.h staging: nvec: Export nvec_msg_free() to clients 2011-09-29 17:41:36 -07:00
nvec_kbd.c staging: nvec: Enable the capslock LED in the keyboard driver 2011-09-29 17:41:34 -07:00
nvec_leds.c staging: nvec: add LED support 2011-09-29 17:40:38 -07:00
nvec_power.c staging: nvec: coding style fixes / add copyright notice 2011-09-29 17:40:37 -07:00
nvec_ps2.c staging: nvec: coding style fixes / add copyright notice 2011-09-29 17:40:37 -07:00
README Staging: initial version of the nvec driver 2011-05-19 15:36:10 -07:00
TODO staging: nvec: update ToDo list 2011-09-29 17:40:39 -07:00

NVEC: An NVidia compliant Embedded Controller Protocol Implemenation

This is an implementation of the NVEC protocol used to communicate with an
embedded controller (EC) via I2C bus. The EC is an I2C master while the host
processor is the I2C slave. Requests from the host processor to the EC are
started by triggering a gpio line.

There is no written documentation of the protocol available to the public,
but the source code[1] of the published nvec reference drivers can be a guide.
This driver is currently only used by the AC100 project[2], but it is likely,
that other Tegra boards (not yet mainlined, if ever) also use it.

[1] e.g. http://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=tree;f=arch/arm/mach-tegra/nvec;hb=android-tegra-2.6.32
[2] http://gitorious.org/ac100, http://launchpad.net/ac100