From: Eric Huang <jinhuieric.huang-5C7GfCeVMHo@public.gmane.org>
To: "Zhu, Rex" <Rex.Zhu-5C7GfCeVMHo@public.gmane.org>,
"amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org"
<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH 2/3] drm/amd/pp: Refine get_gpu_power for VI
Date: Wed, 4 Apr 2018 12:00:02 -0400 [thread overview]
Message-ID: <dfcb5127-c6ad-2a09-793e-42ca3cdcff1d@amd.com> (raw)
In-Reply-To: <CY4PR12MB1687C34CD0753343A795544CFBA40-rpdhrqHFk06Y0SjTqZDccQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 5631 bytes --]
So you didn't compare the result with AGT, but I did. The reality is not
like your speculation.
Regards,
Eric
On 2018-04-04 11:50 AM, Zhu, Rex wrote:
>
> If user send message PPSMC_MSG_GetCurrPkgPwr, firmware will return the
> pkgpwr immediately as current power value.
>
> as no PPSMC_MSG_GetCurrPkgPwr support, so send message let firmware
> write pkgpwr to ixSMU_PM_STATUS_94,
>
> and driver delay 10ms to read ixSMU_PM_STATUS_94.
>
>
> I don't think there is any problem. otherwise, there is same issue on
> polaris/vega.
>
>
> I clean ixSMU_PM_STATUS_94 before let smu write it.
>
> The delay time is enough unless we got 0 from ixSMU_PM_STATUS_94 .
>
>
>
> Best Regards
>
> Rex
>
>
>
> ------------------------------------------------------------------------
> *From:* amd-gfx <amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org> on behalf of
> Eric Huang <jinhuieric.huang-5C7GfCeVMHo@public.gmane.org>
> *Sent:* Wednesday, April 4, 2018 11:36 PM
> *To:* amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> *Subject:* Re: [PATCH 2/3] drm/amd/pp: Refine get_gpu_power for VI
> Sampling period is too short. The power reading value will be not
> aligned with AGT's. It will confuse user that why AMD provides two
> different power results.
>
> Regards,
> Eric
>
> On 2018-04-04 04:25 AM, Rex Zhu wrote:
> > 1. On polaris10/11/12, Sending smu message PPSMC_MSG_GetCurrPkgPwr to
> > read currentpkgpwr directly.
> > 2. On Fiji/tonga/bonaire/hawwii, no PPSMC_MSG_GetCurrPkgPwr support.
> > Send PPSMC_MSG_PmStatusLogStart to let smu write currentpkgpwr
> > to ixSMU_PM_STATUS_94. this is asynchronous. need to delay no less
> > than 1ms.
> > 3. Clean ixSMU_PM_STATUS_94 immediately when send
> PPSMC_MSG_PmStatusLogStart
> > to avoid read old value.
> > 4. delay 10 ms instand of 20 ms. so the result will more similar to
> > the output of PPSMC_MSG_GetCurrPkgPwr.
> > 5. remove max power/vddc/vddci output to keep consistent with vega.
> > 6. for vddc/vddci power, we can calculate the average value per
> > [10ms, 4s] in other interface if needed.
> >
> > Signed-off-by: Rex Zhu <Rex.Zhu-5C7GfCeVMHo@public.gmane.org>
> > ---
> > drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 45
> +++++++++++-------------
> > 1 file changed, 21 insertions(+), 24 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> > index 40f2f87..c0ce672 100644
> > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> > @@ -3363,30 +3363,27 @@ static int smu7_get_pp_table_entry(struct
> pp_hwmgr *hwmgr,
> > static int smu7_get_gpu_power(struct pp_hwmgr *hwmgr,
> > struct pp_gpu_power *query)
> > {
> > - PP_ASSERT_WITH_CODE(!smum_send_msg_to_smc(hwmgr,
> > - PPSMC_MSG_PmStatusLogStart),
> > - "Failed to start pm status log!",
> > - return -1);
> > -
> > - msleep_interruptible(20);
> > -
> > - PP_ASSERT_WITH_CODE(!smum_send_msg_to_smc(hwmgr,
> > - PPSMC_MSG_PmStatusLogSample),
> > - "Failed to sample pm status log!",
> > - return -1);
> > -
> > - query->vddc_power = cgs_read_ind_register(hwmgr->device,
> > - CGS_IND_REG__SMC,
> > - ixSMU_PM_STATUS_40);
> > - query->vddci_power = cgs_read_ind_register(hwmgr->device,
> > - CGS_IND_REG__SMC,
> > - ixSMU_PM_STATUS_49);
> > - query->max_gpu_power = cgs_read_ind_register(hwmgr->device,
> > - CGS_IND_REG__SMC,
> > - ixSMU_PM_STATUS_94);
> > - query->average_gpu_power = cgs_read_ind_register(hwmgr->device,
> > - CGS_IND_REG__SMC,
> > - ixSMU_PM_STATUS_95);
> > + if (!query)
> > + return -EINVAL;
> > +
> > + memset(query, 0, sizeof *query);
> > +
> > + if (hwmgr->chip_id >= CHIP_POLARIS10) {
> > + smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetCurrPkgPwr);
> > + query->average_gpu_power =
> cgs_read_register(hwmgr->device, mmSMC_MSG_ARG_0);
> > + } else {
> > + smum_send_msg_to_smc(hwmgr, PPSMC_MSG_PmStatusLogStart);
> > + cgs_write_ind_register(hwmgr->device, CGS_IND_REG__SMC,
> > + ixSMU_PM_STATUS_94, 0);
> > +
> > + msleep_interruptible(10);
> > +
> > + smum_send_msg_to_smc(hwmgr, PPSMC_MSG_PmStatusLogSample);
> > +
> > + query->average_gpu_power =
> cgs_read_ind_register(hwmgr->device,
> > + CGS_IND_REG__SMC,
> > + ixSMU_PM_STATUS_94);
> > + }
> >
> > return 0;
> > }
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
> amd-gfx Info Page - freedesktop.org
> <https://lists.freedesktop.org/mailman/listinfo/amd-gfx>
> lists.freedesktop.org
> Subscribing to amd-gfx: Subscribe to amd-gfx by filling out the
> following form. Use of all freedesktop.org lists is subject to our
> Code of Conduct.
>
>
>
[-- Attachment #1.2: Type: text/html, Size: 19432 bytes --]
[-- Attachment #2: Type: text/plain, Size: 154 bytes --]
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2018-04-04 16:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-04 8:25 [PATCH 1/3] Revert "drm/amd/powerply: fix power reading on Fiji" Rex Zhu
[not found] ` <1522830304-15505-1-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org>
2018-04-04 8:25 ` [PATCH 2/3] drm/amd/pp: Refine get_gpu_power for VI Rex Zhu
[not found] ` <1522830304-15505-2-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org>
2018-04-04 15:36 ` Eric Huang
[not found] ` <a3566d2f-4b35-00b4-1df1-ab50076f704c-5C7GfCeVMHo@public.gmane.org>
2018-04-04 15:50 ` Zhu, Rex
[not found] ` <CY4PR12MB1687C34CD0753343A795544CFBA40-rpdhrqHFk06Y0SjTqZDccQdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2018-04-04 16:00 ` Eric Huang [this message]
[not found] ` <dfcb5127-c6ad-2a09-793e-42ca3cdcff1d-5C7GfCeVMHo@public.gmane.org>
2018-04-04 16:05 ` Zhu, Rex
2018-04-04 8:25 ` [PATCH 3/3] drm/amd/pp: Remove dead struct pp_gpu_power Rex Zhu
2018-04-04 15:15 ` [PATCH 1/3] Revert "drm/amd/powerply: fix power reading on Fiji" Eric Huang
-- strict thread matches above, loose matches on Subject: below --
2018-04-11 6:31 Rex Zhu
[not found] ` <1523428307-7969-1-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org>
2018-04-11 6:31 ` [PATCH 2/3] drm/amd/pp: Refine get_gpu_power for VI Rex Zhu
[not found] ` <1523428307-7969-2-git-send-email-Rex.Zhu-5C7GfCeVMHo@public.gmane.org>
2018-04-11 17:21 ` Alex Deucher
[not found] ` <CADnq5_Mysj0jkxyA+v1BcBDFrdqKNdaH0o4f8wEWcCNa8isoMA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-04-11 17:38 ` Eric Huang
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=dfcb5127-c6ad-2a09-793e-42ca3cdcff1d@amd.com \
--to=jinhuieric.huang-5c7gfcevmho@public.gmane.org \
--cc=Rex.Zhu-5C7GfCeVMHo@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.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