public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
From: Akhil P Oommen <quic_akhilpo@quicinc.com>
To: <neil.armstrong@linaro.org>
Cc: Viresh Kumar <vireshk@kernel.org>, Nishanth Menon <nm@ti.com>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Rob Clark <robdclark@gmail.com>, Sean Paul <sean@poorly.run>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Abhinav Kumar <quic_abhinavk@quicinc.com>,
	"Dmitry Baryshkov" <dmitry.baryshkov@linaro.org>,
	Marijn Suijten <marijn.suijten@somainline.org>,
	David Airlie <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	Bjorn Andersson <andersson@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Connor Abbott <cwabbott0@gmail.com>, <linux-pm@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-arm-msm@vger.kernel.org>,
	<dri-devel@lists.freedesktop.org>,
	<freedreno@lists.freedesktop.org>, <devicetree@vger.kernel.org>
Subject: Re: [PATCH v2 08/11] drm/msm: adreno: request for maximum bus bandwidth usage
Date: Wed, 27 Nov 2024 21:16:21 +0530	[thread overview]
Message-ID: <2d3a77da-cf73-4888-bc4d-68482181c908@quicinc.com> (raw)
In-Reply-To: <1965cd01-7b31-4f16-82b2-27fd56fcb77e@linaro.org>

On 11/25/2024 1:44 PM, Neil Armstrong wrote:
> On 23/11/2024 23:59, Akhil P Oommen wrote:
>> On Tue, Nov 19, 2024 at 06:56:43PM +0100, Neil Armstrong wrote:
>>> When requesting a DDR bandwidth level along a GPU frequency
>>> level via the GMU, we can also specify the bus bandwidth usage in a
>>> 16bit
>>> quantitized value.
>>>
>>> For now simply request the maximum bus usage.
>>
>> Why? You don't care about power efficiency?
>> Lets drop this patch. We don't care about AB vote yet.
> 
> I care about functionality, without this AB vote the spillall use
> case that fails on SM8650 HDK fails on the SM8650 QRD.

This should have been documented as a comment so that someone doesn't
remove it in future.

> 
> AB is a quantitized value of the BW voted, so yes I expect we can have
> 100% of the BW voted, but since we scale the BW it's perfectly fine.

Ah! no. MAX AB vote here is equal to the Max IB vote value in the hfi
table. This is why I was asking about including all BW levels from the
DT in the hfi table in the other patch.

So you are always voting for Max DDR Freq which is probably helping (or
masking?) the spill all issue. We can just add a quirk to vote for MAX
IB probably.

-Akhil

> 
> Neil
> 
>>
>> -Akhil
>>
>>>
>>> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
>>> ---
>>>   drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 11 +++++++++++
>>>   drivers/gpu/drm/msm/adreno/a6xx_hfi.h |  5 +++++
>>>   2 files changed, 16 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b/drivers/gpu/drm/
>>> msm/adreno/a6xx_gmu.c
>>> index
>>> dc2d0035544e7848e5c4ea27f1ea9a191f9c4991..36c0f67fd8e109aabf09a0804bacbed3593c39d7 100644
>>> --- a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
>>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gmu.c
>>> @@ -134,6 +134,17 @@ void a6xx_gmu_set_freq(struct msm_gpu *gpu,
>>> struct dev_pm_opp *opp,
>>>               if (bw == gmu->gpu_bw_table[bw_index])
>>>                   break;
>>>           }
>>> +
>>> +        if (bw_index) {
>>> +            /*
>>> +             * Append AB vote to the maximum bus usage.
>>> +             * AB represents a quantitized 16bit value of the
>>> +             * max ddr bandwidth we could use, let's simply
>>> +             * request the maximum for now.
>>> +             */
>>> +            bw_index |= AB_VOTE(MAX_AB_VOTE);
>>> +            bw_index |= AB_VOTE_ENABLE;
>>> +        }
>>>       }
>>>         gmu->current_perf_index = perf_index;
>>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_hfi.h b/drivers/gpu/drm/
>>> msm/adreno/a6xx_hfi.h
>>> index
>>> 528110169398f69f16443a29a1594d19c36fb595..52ba4a07d7b9a709289acd244a751ace9bdaab5d 100644
>>> --- a/drivers/gpu/drm/msm/adreno/a6xx_hfi.h
>>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_hfi.h
>>> @@ -173,6 +173,11 @@ struct a6xx_hfi_gx_bw_perf_vote_cmd {
>>>       u32 bw;
>>>   };
>>>   +#define AB_VOTE_MASK        GENMASK(31, 16)
>>> +#define MAX_AB_VOTE        (FIELD_MAX(AB_VOTE_MASK) - 1)
>>> +#define AB_VOTE(vote)        FIELD_PREP(AB_VOTE_MASK, (vote))
>>> +#define AB_VOTE_ENABLE        BIT(8)
>>> +
>>>   #define HFI_H2F_MSG_PREPARE_SLUMBER 33
>>>     struct a6xx_hfi_prep_slumber_cmd {
>>>
>>> -- 
>>> 2.34.1
>>>
> 


  reply	other threads:[~2024-11-27 15:46 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-19 17:56 [PATCH v2 00/11] drm/msm: adreno: add support for DDR bandwidth scaling via GMU Neil Armstrong
2024-11-19 17:56 ` [PATCH v2 01/11] opp: core: implement dev_pm_opp_get_bw Neil Armstrong
2024-11-25  5:18   ` Viresh Kumar
2024-11-19 17:56 ` [PATCH v2 02/11] drm/msm: adreno: rename quirks that are features Neil Armstrong
2024-11-23 19:25   ` Akhil P Oommen
2024-11-25  8:14     ` Neil Armstrong
2024-11-19 17:56 ` [PATCH v2 03/11] drm/msm: adreno: move features bits in a separate variable Neil Armstrong
2024-11-20 11:18   ` Dmitry Baryshkov
2024-11-20 18:54     ` Rob Clark
2024-11-21 18:44       ` Dmitry Baryshkov
2024-11-21 19:48         ` Rob Clark
2024-11-21 22:26           ` Dmitry Baryshkov
2024-11-19 17:56 ` [PATCH v2 04/11] drm/msm: adreno: add GMU_BW_VOTE feature flag Neil Armstrong
2024-11-20 11:19   ` Dmitry Baryshkov
2024-11-20 12:37     ` Neil Armstrong
2024-11-21 18:44       ` Dmitry Baryshkov
2024-11-21 19:50   ` Rob Clark
2024-11-21 19:53     ` Rob Clark
2024-11-23 19:43   ` Akhil P Oommen
2024-11-25  8:16     ` Neil Armstrong
2024-11-27 16:00       ` Akhil P Oommen
2024-11-27 19:01         ` neil.armstrong
2024-11-19 17:56 ` [PATCH v2 05/11] drm/msm: adreno: add plumbing to generate bandwidth vote table for GMU Neil Armstrong
2024-11-20 11:42   ` Dmitry Baryshkov
2024-11-20 12:37     ` Neil Armstrong
2024-11-21 18:45       ` Dmitry Baryshkov
2024-11-23 21:22   ` Akhil P Oommen
2024-11-23 22:46     ` Akhil P Oommen
2024-11-25  8:12       ` Neil Armstrong
2024-11-27 15:29         ` Akhil P Oommen
2024-11-27 15:47           ` neil.armstrong
2024-11-30 20:36             ` Akhil P Oommen
2024-12-11  8:23               ` neil.armstrong
2024-11-19 17:56 ` [PATCH v2 06/11] drm/msm: adreno: dynamically generate GMU bw table Neil Armstrong
2024-11-19 17:56 ` [PATCH v2 07/11] drm/msm: adreno: find bandwidth index of OPP and set it along freq index Neil Armstrong
2024-11-20 11:44   ` Dmitry Baryshkov
2024-11-19 17:56 ` [PATCH v2 08/11] drm/msm: adreno: request for maximum bus bandwidth usage Neil Armstrong
2024-11-23 22:59   ` Akhil P Oommen
2024-11-25  8:14     ` Neil Armstrong
2024-11-27 15:46       ` Akhil P Oommen [this message]
2024-11-27 15:55         ` neil.armstrong
2024-11-19 17:56 ` [PATCH v2 09/11] drm/msm: adreno: enable GMU bandwidth for A740 and A750 Neil Armstrong
2024-11-20 11:45   ` Dmitry Baryshkov
2024-11-19 17:56 ` [PATCH v2 10/11] arm64: qcom: dts: sm8550: add interconnect and opp-peak-kBps for GPU Neil Armstrong
2024-11-20 11:47   ` Dmitry Baryshkov
2024-11-20 12:38     ` Neil Armstrong
2024-11-19 17:56 ` [PATCH v2 11/11] arm64: qcom: dts: sm8650: " Neil Armstrong
2024-11-20 11:47   ` Dmitry Baryshkov

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=2d3a77da-cf73-4888-bc4d-68482181c908@quicinc.com \
    --to=quic_akhilpo@quicinc.com \
    --cc=airlied@gmail.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=cwabbott0@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.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=neil.armstrong@linaro.org \
    --cc=nm@ti.com \
    --cc=quic_abhinavk@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=robdclark@gmail.com \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=sean@poorly.run \
    --cc=simona@ffwll.ch \
    --cc=vireshk@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