Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp3532619ybi; Tue, 18 Jun 2019 02:18:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqxcDRhnZsxne5J2Ew5bMYMJMds1n/xi9dlo5HsRFaB3kVPLQbyepsHuwc3Pb7YlCX+iq+3L X-Received: by 2002:a17:902:24c:: with SMTP id 70mr112049717plc.2.1560849488725; Tue, 18 Jun 2019 02:18:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560849488; cv=none; d=google.com; s=arc-20160816; b=RXbDVdBkbt8SxRvFsCEpad+/M32ZU3eJpNCEIaUxmVc2Rqh8hvfWwFWqEq1qpaowWL XPVbOTtgbk6w5DUO8DyFn6wKOxtAzblTdhaUHHxArWPAaNNpZ8InvU4u9V0VfQPAIiFx iXFSRjB3LnuVv5ao+eGJpDyrL6zq4ePmMbYxQJr4w9xWflpsHoR9DZcp6jgB23gaU4Zv AFrflXThB1PfxVzgaYp5aSQUv6DWTNUeW1y9IsQZr+3beS0/visr9EGwOdNcB9Q0+u79 +6RxUc6FMSfJ6NhzEXb2nzuAOHubkAoKx5oPxcwDJp3H8C/1WyF5b6hmeQUvi7SFmCLG KKbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=rJanYe36yi/CmGKqaCrG1otgHpkv5KX5H3hS1IRh33g=; b=srdPzjn05YlNkAyGM4ArWBUoH8aKKFvAoiTka2UVAWeBP1O0COi7Tmy3/OFnKa78/a QW3+5cTD3YD3QYTwBpVEZbgULZVmSO6zuDTZkSCeoe8yn2KV6Czo1rCQuajcxKzi7mH9 u2H5r/PWnzI6tlcJqdjohVlWbCheoJ9wCTtQLIOXwrzZ73dmXL/p+FSRqQIuw1eozxZx Aw33c9D5nsEKlf2jMQUiFUABy3w6eeGySRtV4pMbdADfdcxLyFDAeoKfKg125yQWkbdB GIahqSvOf2tUw0zLVkwDX16sqDPc73BXXZbuNMp04vLckiZaxAQW3qJB7uIxEdRT1m+m 5VJg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RiJtJdWo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y17si13498342pfe.220.2019.06.18.02.17.52; Tue, 18 Jun 2019 02:18:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RiJtJdWo; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729295AbfFRJR3 (ORCPT + 99 others); Tue, 18 Jun 2019 05:17:29 -0400 Received: from mail-lf1-f66.google.com ([209.85.167.66]:39599 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729220AbfFRJR3 (ORCPT ); Tue, 18 Jun 2019 05:17:29 -0400 Received: by mail-lf1-f66.google.com with SMTP id p24so8692936lfo.6 for ; Tue, 18 Jun 2019 02:17:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=rJanYe36yi/CmGKqaCrG1otgHpkv5KX5H3hS1IRh33g=; b=RiJtJdWoPD8zAWLrRuFlXYtFDm2X0N6/21V3ItMvPDDbdX9jIMVD2NDDE50Evpd7c5 NP91pnFt1FTIfxm71pG+sw/GLrffxSGkjN5FKLqFCZzFnGDzFCMG19dHtlagjO53JVr/ 80CRzxaL1cN4BtODGKh0tEiNCVJAKGD2hlezCr0t0JeIi0cngbJDXFeAYYfVdH4xapR0 1nFQQDgIcTIQ1+QHAOYncbIigzuTHyGJIGn5wK5x+yFT1HBY5GkQFMYtVVGMYtPf8zk4 6jr/zmJsnunS/onnUn73MCCqmxxeoLyyYlMOV/H4O9N6tMze7daUZL+ggyMfqPaVWAIO OQZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=rJanYe36yi/CmGKqaCrG1otgHpkv5KX5H3hS1IRh33g=; b=Wfr1uerZpU26NrrcQWfigM0tQAEB5/WcVEO0jw/u4YKOquKMC4Ya5VzEmnvJT6gLDk ux68fDEODlPk13yhptrIReP7E7qumqM3OZ9bSWPTM5a66di1QerPekb7CQdCaipHhdIt iwCa8uA0caoHtfbBXVRCmzjMpf0/+0Qhdvu77AKvdxYHyL/VCHmz4oLDVFD5yQIPAk3i lBZri9nknwTC303XAtrknJg0A+5Ma75L2otsNDs9BpdTWDx/70Lp79XsAk+pp0uFOwS0 rUUlImJS/w8+qdCnmOF0i+k6+wTi+ySoaSt3NrF3jwoNRHzFEROvDQxWF8Rt+13DcILI T+0A== X-Gm-Message-State: APjAAAWp5n6uTFgZFWEEwLgv5xvaAnsgU555C3lrJ+9wQUVlMaO9dfzR GmRVOSPjGVsL3RxL+PTqFBiE3w== X-Received: by 2002:ac2:482d:: with SMTP id 13mr14129676lft.132.1560849447214; Tue, 18 Jun 2019 02:17:27 -0700 (PDT) Received: from localhost.localdomain ([212.45.67.2]) by smtp.googlemail.com with ESMTPSA id b9sm2497444ljj.92.2019.06.18.02.17.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 18 Jun 2019 02:17:26 -0700 (PDT) From: Georgi Djakov To: linux-pm@vger.kernel.org Cc: daidavid1@codeaurora.org, vincent.guittot@linaro.org, bjorn.andersson@linaro.org, amit.kucheria@linaro.org, evgreen@chromium.org, dianders@chromium.org, seansw@qti.qualcomm.com, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, georgi.djakov@linaro.org Subject: [PATCH v2 0/2] interconnect: Add path tagging support Date: Tue, 18 Jun 2019 12:17:22 +0300 Message-Id: <20190618091724.28232-1-georgi.djakov@linaro.org> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. v2: - 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 (1): interconnect: Add support for path tags drivers/interconnect/core.c | 24 ++++- drivers/interconnect/qcom/sdm845.c | 131 +++++++++++++++++++------- include/linux/interconnect-provider.h | 4 +- include/linux/interconnect.h | 5 + 4 files changed, 129 insertions(+), 35 deletions(-)