Linux-ARM-MSM Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v4 0/3] interconnect: Add path tagging support
@ 2019-08-13 14:53 Georgi Djakov
  2019-08-13 14:53 ` [PATCH v4 1/3] interconnect: Add support for path tags Georgi Djakov
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Georgi Djakov @ 2019-08-13 14:53 UTC (permalink / raw)
  To: linux-pm, evgreen
  Cc: daidavid1, vincent.guittot, bjorn.andersson, amit.kucheria,
	dianders, seansw, linux-kernel, linux-arm-kernel, linux-arm-msm,
	georgi.djakov

SoCs that have multiple coexisting CPUs and DSPs, may have shared
interconnect buses between them. In such cases, each CPU/DSP may have
different bandwidth needs, depending on whether it is active or sleeping.
This means that we have to keep different bandwidth configurations for
the CPU (active/sleep). In such systems, usually there is a way to
communicate and synchronize this information with some firmware or pass
it to another processor responsible for monitoring and switching the
interconnect configurations based on the state of each CPU/DSP.

The above problem can be solved by introducing the path tagging concept,
that allows consumers to optionally attach a tag to each path they use.
This tag is used to differentiate between the aggregated bandwidth values
for each state. The tag is generic and how it's handled is up to the
platform specific interconnect provider drivers.

v4:
- Picked Reviewed-by tags (Thanks Evan!)
- Addressed comments on patch 3.

v3: https://lore.kernel.org/lkml/20190809121325.8138-1-georgi.djakov@linaro.org/
- New patch to add a pre_aggregate() callback.

v2: https://lore.kernel.org/lkml/20190618091724.28232-1-georgi.djakov@linaro.org/
- Store tag with the request. (Evan)
- Reorganize the code to save bandwidth values into buckets and use the
  tag as a bitfield. (Evan)
- Clear the aggregated values after icc_set().

v1: https://lore.kernel.org/lkml/20190208172152.1807-1-georgi.djakov@linaro.org/


David Dai (1):
  interconnect: qcom: Add tagging and wake/sleep support for sdm845

Georgi Djakov (2):
  interconnect: Add support for path tags
  interconnect: Add pre_aggregate() callback

 drivers/interconnect/core.c           |  27 ++++-
 drivers/interconnect/qcom/sdm845.c    | 141 ++++++++++++++++++++------
 include/linux/interconnect-provider.h |   7 +-
 include/linux/interconnect.h          |   5 +
 4 files changed, 145 insertions(+), 35 deletions(-)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-13 14:53 [PATCH v4 0/3] interconnect: Add path tagging support Georgi Djakov
2019-08-13 14:53 ` [PATCH v4 1/3] interconnect: Add support for path tags Georgi Djakov
2019-08-13 14:53 ` [PATCH v4 2/3] interconnect: Add pre_aggregate() callback Georgi Djakov
2019-08-13 14:53 ` [PATCH v4 3/3] interconnect: qcom: Add tagging and wake/sleep support for sdm845 Georgi Djakov
2019-08-13 17:08   ` Evan Green

Linux-ARM-MSM Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-arm-msm/0 linux-arm-msm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-arm-msm linux-arm-msm/ https://lore.kernel.org/linux-arm-msm \
		linux-arm-msm@vger.kernel.org linux-arm-msm@archiver.kernel.org
	public-inbox-index linux-arm-msm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-arm-msm


AGPL code for this site: git clone https://public-inbox.org/ public-inbox