]> git.baikalelectronics.ru Git - kernel.git/commit
interconnect: Add generic on-chip interconnect API
authorGeorgi Djakov <georgi.djakov@linaro.org>
Wed, 16 Jan 2019 16:10:56 +0000 (18:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Jan 2019 12:37:25 +0000 (13:37 +0100)
commit011f637d6b0750cb922e87d85af6c43d3f5fdb47
tree36f1f8c883a4d268b8b9e5c55d0b22e85cda8a8e
parent1eb614399d54dfb3a9effcc7791f9014f34c10f8
interconnect: Add generic on-chip interconnect API

This patch introduces a new API to get requirements and configure the
interconnect buses across the entire chipset to fit with the current
demand.

The API is using a consumer/provider-based model, where the providers are
the interconnect buses and the consumers could be various drivers.
The consumers request interconnect resources (path) between endpoints and
set the desired constraints on this data flow path. The providers receive
requests from consumers and aggregate these requests for all master-slave
pairs on that path. Then the providers configure each node along the path
to support a bandwidth that satisfies all bandwidth requests that cross
through that node. The topology could be complicated and multi-tiered and
is SoC specific.

Reviewed-by: Evan Green <evgreen@chromium.org>
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/interconnect/interconnect.rst [new file with mode: 0644]
drivers/Kconfig
drivers/Makefile
drivers/interconnect/Kconfig [new file with mode: 0644]
drivers/interconnect/Makefile [new file with mode: 0644]
drivers/interconnect/core.c [new file with mode: 0644]
include/linux/interconnect-provider.h [new file with mode: 0644]
include/linux/interconnect.h [new file with mode: 0644]