From: Mike Tipton <quic_mdtipton@quicinc.com>
To: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Georgi Djakov <djakov@kernel.org>, Andy Gross <agross@kernel.org>,
Bjorn Andersson <andersson@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
<cros-qcom-dts-watchers@chromium.org>,
Marijn Suijten <marijn.suijten@somainline.org>,
<linux-arm-msm@vger.kernel.org>, <linux-pm@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 00/53] icc-rpmh multi-RSC voting groundwork
Date: Tue, 12 Sep 2023 18:29:51 -0700 [thread overview]
Message-ID: <20230913012951.GA19284@hu-mdtipton-lv.qualcomm.com> (raw)
In-Reply-To: <10520827-dc01-475c-b09a-35cefc9e0a62@linaro.org>
On Wed, Sep 06, 2023 at 02:14:14PM +0200, Konrad Dybcio wrote:
> > The general idea is that we could use tags for this. So, instead of...
> >
> > path = icc_get(dev, MASTER_MDP_DISP, SLAVE_EBI1_DISP);
> >
> > it would be...
> >
> > path = icc_get(dev, MASTER_MDP, SLAVE_EBI1);
> > icc_set_tag(path, QCOM_ICC_TAG_VOTER_DISP);
> >
> > I have an early prototype with basic testing already. I can hopefully
> > clean it up and post for review in the next couple of weeks.
> I was initially not very happy with this approach (overloading tags
> with additional information), but it grew on me over time.
>
> My only concern is that if we reserve say bits 16-31 for path tags
> (remember, dt-bindings are ABI), we may eventually run out of them.
The voter tags wouldn't require bitmasks like the bucket tags do. We'd
just need an integer for each voter shifted into the proper position in
the tag value. Thus, reserving N bits for the voters would give us 2**N
voters, which should be plenty. For example:
#define QCOM_ICC_VOTERS_START 16
#define QCOM_ICC_VOTERS_END 23
#define QCOM_ICC_TAG_VOTER_HLOS (0 << QCOM_ICC_VOTERS_START)
#define QCOM_ICC_TAG_VOTER_DISP (1 << QCOM_ICC_VOTERS_START)
#define QCOM_ICC_TAG_VOTER_CAM_IFE_0 (2 << QCOM_ICC_VOTERS_START)
#define QCOM_ICC_TAG_VOTER_CAM_IFE_1 (3 << QCOM_ICC_VOTERS_START)
#define QCOM_ICC_TAG_VOTER_CAM_IFE_2 (4 << QCOM_ICC_VOTERS_START)
The applicable voters should likely be defined in the target-specific
headers, rather than the common qcom,icc.h. The bit range used for them
could be common, but each target may only support a small subset of the
total set of possible voters across all targets.
Clients requiring multiple voters for the same logical path should be
rare. On the off-chance they require that, they could just request the
same path multiple times with different voter tags applied and call
icc_set_bw() for each of them separately.
I'm back from travel and vacation and plan to pick this up again soon.
next prev parent reply other threads:[~2023-09-13 1:30 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 12:17 Konrad Dybcio
2023-07-11 12:18 ` [PATCH 01/53] dt-bindings: interconnect: qcom,icc: Introduce fixed BCM voter indices Konrad Dybcio
2023-07-12 20:39 ` Krzysztof Kozlowski
2023-07-15 15:09 ` Konrad Dybcio
2023-07-11 12:18 ` [PATCH 02/53] dt-bindings: interconnect: qcom,bcm-voter: Add qcom,bcm-voter-idx Konrad Dybcio
2023-07-11 13:13 ` Rob Herring
2023-07-12 20:43 ` Krzysztof Kozlowski
2023-07-15 15:09 ` Konrad Dybcio
2023-08-05 21:21 ` Krzysztof Kozlowski
2023-09-06 12:43 ` Konrad Dybcio
2023-07-11 12:18 ` [PATCH 03/53] interconnect: qcom: icc-rpmh: Store direct BCM voter references Konrad Dybcio
2023-07-11 12:18 ` [PATCH 04/53] interconnect: qcom: icc-rpmh: Retire dead code Konrad Dybcio
2023-07-11 12:18 ` [PATCH 05/53] interconnect: qcom: icc-rpmh: Implement voting on non-APPS RSCs Konrad Dybcio
2023-07-11 12:18 ` [PATCH 06/53] interconnect: qcom: sc7180: Retire DEFINE_QNODE Konrad Dybcio
2023-07-11 12:18 ` [PATCH 07/53] interconnect: qcom: sdm670: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 08/53] interconnect: qcom: sdm845: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 09/53] interconnect: qcom: sdx55: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 10/53] interconnect: qcom: sdx65: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 11/53] interconnect: qcom: sm6350: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 12/53] interconnect: qcom: sm8150: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 13/53] interconnect: qcom: sm8250: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 14/53] interconnect: qcom: sm8350: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 15/53] interconnect: qcom: icc-rpmh: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 16/53] interconnect: qcom: sc7180: Retire DEFINE_QBCM Konrad Dybcio
2023-07-11 12:18 ` [PATCH 17/53] interconnect: qcom: sdm670: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 18/53] interconnect: qcom: sdm845: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 19/53] interconnect: qcom: sdx55: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 20/53] interconnect: qcom: sdx65: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 21/53] interconnect: qcom: sm6350: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 22/53] interconnect: qcom: sm8150: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 23/53] interconnect: qcom: sm8250: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 24/53] interconnect: qcom: sm8350: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 25/53] interconnect: qcom: icc-rpmh: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 26/53] interconnect: qcom: qdu1000: Explicitly assign voter_idx Konrad Dybcio
2023-07-11 12:18 ` [PATCH 27/53] interconnect: qcom: sa8775p: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 28/53] interconnect: qcom: sc7280: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 29/53] interconnect: qcom: sc8180x: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 30/53] interconnect: qcom: sc8280xp: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 31/53] interconnect: qcom: sm8450: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 32/53] interconnect: qcom: sm8550: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 33/53] arm64: dts: qcom: qdu1000: add qcom,bcm-voter-idx Konrad Dybcio
2023-07-11 12:18 ` [PATCH 34/53] arm64: dts: qcom: sa8775p: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 35/53] arm64: dts: qcom: sc7180: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 36/53] arm64: dts: qcom: sc7280: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 37/53] arm64: dts: qcom: sc8180x: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 38/53] arm64: dts: qcom: sc8280xp: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 39/53] arm64: dts: qcom: sdm670: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 40/53] arm64: dts: qcom: sdm845: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 41/53] arm64: dts: qcom: sdx75: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 42/53] arm64: dts: qcom: sm6350: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 43/53] arm64: dts: qcom: sm8150: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 44/53] arm64: dts: qcom: sm8250: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 45/53] arm64: dts: qcom: sm8350: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 46/53] arm64: dts: qcom: sm8450: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 47/53] arm64: dts: qcom: sm8550: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 48/53] arm64: dts: qcom: sdx55: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 49/53] arm64: dts: qcom: sdx65: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 50/53] interconnect: qcom: sm8350: Point display paths to the display RSC Konrad Dybcio
2023-07-11 14:17 ` Dmitry Baryshkov
2023-07-11 14:18 ` Konrad Dybcio
2023-07-11 12:18 ` [PATCH 51/53] interconnect: qcom: sm8450: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 52/53] interconnect: qcom: sm8550: " Konrad Dybcio
2023-07-11 12:18 ` [PATCH 53/53] interconnect: qcom: sm8550: Point camera paths to the camera RSC Konrad Dybcio
2023-08-03 16:48 ` [PATCH 00/53] icc-rpmh multi-RSC voting groundwork Georgi Djakov
2023-08-07 21:57 ` Mike Tipton
2023-09-06 12:14 ` Konrad Dybcio
2023-09-13 1:29 ` Mike Tipton [this message]
2023-09-13 8:31 ` Konrad Dybcio
2023-09-14 2:32 ` Mike Tipton
2023-09-15 13:43 ` Konrad Dybcio
2023-09-15 16:05 ` Mike Tipton
2023-09-16 0:54 ` Konrad Dybcio
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230913012951.GA19284@hu-mdtipton-lv.qualcomm.com \
--to=quic_mdtipton@quicinc.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=cros-qcom-dts-watchers@chromium.org \
--cc=devicetree@vger.kernel.org \
--cc=djakov@kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=marijn.suijten@somainline.org \
--cc=robh+dt@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®