linux-stable/drivers/staging/greybus
Axel Haslam a8bc00fb88 greybus: uart: Add credits based tracking for transmit path
To avoid polling the firmware for space, a credit based system
is implemented.

The host will keep track of how many credits (bytes) it has
sent to the firmware, and stop sending data when the quota
is filled.

The host will be informed that the firmware has more
room for data when it handles the receive_credits request
message from the firmware, and will continue to write data
as credits become available.

The firmware and the host may implement an algorithm to aggregate
credits, and avoid extra greybus traffic.

Suggested-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Axel Haslam <ahaslam@baylibre.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2016-05-31 17:18:18 -07:00
..
Documentation greybus: Documentation/sysfs: gbphy0 is an invalid name 2016-05-26 22:33:27 -07:00
scripts greybus: checkpatch.pl: Mark --no-tree as default option 2016-04-02 19:44:30 -07:00
tools greybus: Fix loopback app after rename to gpphy 2016-05-26 22:23:25 -07:00
.gitignore greybus: tools: Add tools directory to greybus repo and add loopback 2015-12-17 18:17:07 -08:00
arche-apb-ctrl.c greybus: arche-ctrl: Don't expose driver internals to arche-platform driver 2016-04-23 09:37:21 +09:00
arche-platform.c greybus: arche-platform: Enable SVC clock during FW_FLASHING state 2016-05-25 22:36:45 -07:00
arche_platform.h greybus: arche-platform: Export fn to allow timesync driver to change the state 2016-05-05 13:49:02 -07:00
audio_apbridgea.c greybus: audio_apbridgea: fix two return values 2016-05-20 16:36:43 -07:00
audio_apbridgea.h greybus: audio: Split start and stop APBridgeA requests 2016-03-01 22:44:49 -08:00
audio_codec.c greybus: audio: Reduce codec->lock granularity 2016-05-04 11:30:20 -07:00
audio_codec.h greybus: audio: Remove redundant lock protection & is_connected field 2016-05-04 11:29:06 -07:00
audio_gb.c greybus: audio: Fix sparse warnings 2016-02-02 21:26:32 -08:00
audio_manager.c greybus: audio: gb_manager: Use valid argument while removing ida allocated id. 2016-05-18 16:33:31 -07:00
audio_manager.h greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_module.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_manager_private.h greybus: audio: Add Audio Manager 2016-01-13 16:12:56 -08:00
audio_manager_sysfs.c greybus: audio_manager: Split device type into i/p & o/p devices 2016-04-05 09:39:22 -04:00
audio_module.c greybus: audio: Fix memory leak 2016-05-23 14:41:41 -07:00
audio_topology.c greybus: audio: Update device type based on widget types 2016-04-05 09:39:22 -04:00
bootrom.c greybus: bootrom: Implement timeouts to detect Module failures 2016-05-09 08:48:10 +02:00
bootrom.h greybus: firmware: Rename to bootrom protocol 2016-04-04 21:19:06 -07:00
bundle.c greybus: Bundle: Initialize dma_mask for bundle device 2016-04-25 15:14:28 -07:00
bundle.h greybus: interface: clean up device-id handling 2016-03-30 14:23:19 -07:00
camera.c greybus: eliminate unneeded null check 2016-05-27 11:28:16 -07:00
connection.c greybus: interface: implement generic mode-switch functionality 2016-05-27 12:24:17 -07:00
connection.h greybus: interface: implement generic mode-switch functionality 2016-05-27 12:24:17 -07:00
control.c greybus: interface: implement generic mode-switch functionality 2016-05-27 12:24:17 -07:00
control.h greybus: interface: implement generic mode-switch functionality 2016-05-27 12:24:17 -07:00
core.c greybus: core: avoid I/O to disconnected interfaces 2016-05-27 12:19:29 -07:00
debugfs.c greybus: core: add device prefix to error messages 2016-02-11 21:44:17 -08:00
devices greybus: devices: endpoint description of device 2014-09-13 17:31:27 -07:00
es2.c greybus: es2: reset cports at disable 2016-05-27 12:19:29 -07:00
firmware.h greybus: fw-management: Add firmware-management protocol driver 2016-05-15 00:23:52 +02:00
fw-core.c greybus: fw-core: destroy connections on error 2016-05-20 16:36:43 -07:00
fw-download.c greybus: fw-download: Replace timer with delayed-work 2016-05-09 08:48:10 +02:00
fw-management.c greybus: fw-management: Fix error message's text 2016-05-20 16:36:43 -07:00
gb-camera.h greybus: camera-gb: Extend the configure streams interface 2016-04-11 18:47:57 -07:00
gbphy.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
gbphy.h greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
gpio.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
greybus.h greybus: legacy: remove legacy driver support 2016-05-20 16:47:30 -07:00
greybus_firmware.h greybus: fw-management: Update header's license 2016-05-16 19:59:50 -07:00
greybus_id.h greybus: fix vendor and product matching 2015-11-21 17:15:35 -08:00
greybus_manifest.h greybus: interface: Extract and store Interface feature byte 2016-05-15 11:39:57 -07:00
greybus_protocols.h greybus: uart: Add credits based tracking for transmit path 2016-05-31 17:18:18 -07:00
greybus_trace.h greybus: operation: add helper for creating core operations 2016-05-27 12:21:16 -07:00
hd.c greybus: hd: fix gb_hd_release tracepoint 2016-05-27 12:26:31 -07:00
hd.h greybus: connection: add flush host-device callback 2016-05-27 12:24:17 -07:00
hid.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00
i2c.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
interface.c greybus: interface: implement generic mode-switch functionality 2016-05-27 12:24:17 -07:00
interface.h greybus: interface: implement generic mode-switch functionality 2016-05-27 12:24:17 -07:00
kernel_ver.h greybus: kernel_ver: backport reinit_completion to pre-3.13 2016-05-27 12:24:17 -07:00
LICENSE greybus: Initial commit 2014-08-11 15:29:23 +08:00
light.c greybus: fix pointless null check 2016-05-27 11:28:16 -07:00
loopback.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
Makefile greybus: legacy: remove protocol.o from the makefile 2016-05-20 19:45:50 -07:00
manifest.c greybus: interface: Extract and store Interface feature byte 2016-05-15 11:39:57 -07:00
manifest.h greybus: manifest: Use interface descriptor instead of module descriptor to get information 2015-04-06 12:05:58 +02:00
module.c greybus: fix tracepoint-related whitespace issues 2016-05-27 12:26:31 -07:00
module.h greybus: core: add module abstraction 2016-04-25 11:08:30 -07:00
operation.c greybus: fix tracepoint-related whitespace issues 2016-05-27 12:26:31 -07:00
operation.h greybus: operation: add helper for creating core operations 2016-05-27 12:21:16 -07:00
power_supply.c greybus: use PTR_ERR_OR_ZERO() 2016-05-27 11:28:16 -07:00
pwm.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
raw.c greybus: raw: use hexadecimal notation for request types 2016-03-03 10:02:48 -08:00
README greybus: update README with info on how to build and contact me. 2014-08-11 15:44:51 +08:00
sdio.c greybus: fix unbalanced mutex 2016-05-27 11:28:16 -07:00
spi.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
spilib.c greybus: spi: add inprogress bit to xfer_flags 2016-05-16 20:02:58 -07:00
spilib.h greybus: spi: Restructure spi.c to share it with other bundle drivers 2016-05-14 23:18:32 +02:00
svc.c greybus: svc: remove deprecated hotplug operations 2016-05-27 12:24:17 -07:00
svc.h greybus: svc: add stub connection-quiescing operation 2016-05-27 12:19:29 -07:00
svc_watchdog.c greybus: svc watchdog: Disable watchdog upon entering suspend 2016-04-15 14:42:53 -07:00
uart.c greybus: uart: Add credits based tracking for transmit path 2016-05-31 17:18:18 -07:00
usb.c greybus: gpbridge: rename 'gpbridge' to 'gbphy' everywhere 2016-05-19 10:09:13 -07:00
vibrator.c greybus: convert drivers to use connection->private set/get 2016-03-22 16:47:28 -04:00

Greybus kernel code

To build against the running kernel (odds are you don't want this):
	make

To build against a specific kernel source tree (odds are you want this):
	KERNELDIR=/home/some/random/place make

Any questions / concerns about this code base, please email:
	Greg Kroah-Hartman <greg@kroah.com>