From: "Szwichtenberg, Radoslaw" <radoslaw.szwichtenberg@intel.com>
To: "intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"Kamble, Sagar A" <sagar.a.kamble@intel.com>
Cc: "Beuchat, Marc" <marc.beuchat@intel.com>,
"Vetter, Daniel" <daniel.vetter@intel.com>
Subject: Re: [PATCH 00/20] Add support for GuC-based SLPC
Date: Tue, 12 Sep 2017 08:39:13 +0000 [thread overview]
Message-ID: <1505205550.21576.24.camel@intel.com> (raw)
In-Reply-To: <1504250723-32018-1-git-send-email-sagar.a.kamble@intel.com>
On Fri, 2017-09-01 at 12:55 +0530, Sagar Arun Kamble wrote:
> SLPC (Single Loop Power Controller) is a replacement for some host-based
> power management features. The SLPC implementation runs in GuC firmware.
> This series has been tested with SKL/APL/KBL GuC firmware v9 and v10
> which are yet to be released on 01.org.
>
> The graphics power management features in SLPC are called GTPERF,
> BALANCER, and DCC.
> 1. GTPERF is a combination of DFPS (Dynamic FPS) and Turbo. DFPS adjusts
> requested graphics frequency to maintain target framerate. Turbo adjusts
> requested graphics frequency to maintain target GT busyness.
> 2. BALANCER adjusts balance between power budgets for IA and GT in power
> limited scenarios.
> 3. DCC (Duty Cycle Control) adjusts requested graphics frequency and stalls
> guc-scheduler to maintain actual graphics frequency in efficient range.
>
> This series activates GTPERF Turbo and BALANCER in GuC SLPC.
> Patch to enable SLPC by default on platforms having support is removed
> from this series as there are following new changes to be added in future
> before we enable GuC/SLPC by default:
> 1. Link waitboost with SLPC.
> 2. Handle CPG as part of SLPC.
> 3. IA p-state logic update with GuC submission.
>
> In order to enable CI/PnP testing of SLPC and to avoid frequent
> rebase, this series should be safe for merge with feature in disabled
> state.
>
> v2: Addressed review comments on v1. Removed patch to enable SLPC by
> default.
>
> v3: Addressed WARNING in igt@drv_module_reload_basic flagged by trybot BAT.
> Added change for sanitizing GT PM during reset. Added separate patch
> for sysfs interface to know HW requested frequency. Also, earlier
> patches did not go as series hence were not correctly picked up by BAT.
>
> v4: Changes to multiple patches. CI BAT is passing. Performance run on SKL
> GT2 done and shows perf at parity with Host Turbo. For BXT, SLPC
> improves performance when GuC is enabled compared to Host Turbo.
> This series keeps only support of 9.18 firmware for better readability.
> If needed, other SLPC interfaces for different GuC version will be
> added later.
>
> v5: This series incorporates feedback from code reviews on earlier series
> and adds following new changes:
> 1. More changes for separation of RPS and RC6 handling for Gen9.
> 2. Tied up SLPC enabling with GuC load/GuC submission sequence.
> 3. SLPC structures are defined explicitly for event input/output.
> 4. Definition of SLPC parameter control and task control functions
> agnostic to the underlying param definitions as they might
> change with GuC versions and prepared helpers for common tasks.
> 5. Transition of i915 overrides done through host to guc events
> to shared data and single reset event.
> 6. Handling SLPC status post reset through shared memory.
> 7. Derived helpers for setting frequency limits.
> 8. Removed sysfs interface to know RPNSWREQ as it is available in
> debugfs interface i915_frequency_info.
> 9. Simple igt test to verify SLPC configuration by i915 in various
> driver scenarios is prepared.
>
> v6: This series adds following new changes:
> 1. Updated intel_guc_send for SLPC to receive output data from GuC.
> 2. Added task overrides and min frequency overrides in intel_slpc_init.
> min frequency is set to Rpe.
> 3. New debugfs interface added to set/unset/read SLPC parameters
> other than tasks and frequencies. SLPC reset post parameter update
> added.
> 4. SLPC parameters persist as part of i915-GuC shared data hence not
> overriding frequency limits while re-enabling SLPC.
> 5. Other minor fixes to clear pm_rps_events, clflush the shared data.
>
> v7: This series adds following new changes:
> 1. Reordered patches. SLPC communication interfaces (structures and
> functions) are pulled into patches earlier in the series.
> 2. Eliminated dependency on i915.enable_slpc at various functions where
> rps_enabled is available.
> 3. s/i915_ggtt_offset/guc_ggtt_offset and sanitization of parameter
> in intel_uc_sanitize_options.
>
> v8: Activated Balancer. Changed prototype of SLPC functions to accept
> struct intel_slpc as parameter instead of drm_i915_private.
>
> VIZ-6889, VIZ-6890
>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Daniel Vetter <daniel.vetter@intel.com>
> Cc: Beuchat, Marc <marc.beuchat@intel.com>
> Cc: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
> Cc: Jeff McGee <jeff.mcgee@intel.com>
> Cc: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> Cc: Oscar Mateo <oscar.mateo@intel.com>
> Cc: Michał Winiarski <michal.winiarski@intel.com>
I did enable SLPC on my machine and looks like everything is working fine. I
will be spending more time reviewing whole series and also running some tests on
my KBL to see if there are no functional problems.
-Radek
Acked-by: Radoslaw Szwichtenberg <radoslaw.szwichtenberg@intel.com>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2017-09-12 8:39 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-01 7:25 [PATCH 00/20] Add support for GuC-based SLPC Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 01/20] drm/i915/debugfs: Create generic string tokenize function and update CRC control parsing Sagar Arun Kamble
2017-09-08 13:23 ` Szwichtenberg, Radoslaw
2017-09-01 7:25 ` [PATCH 02/20] drm/i915/gen9+: Separate RPS and RC6 handling Sagar Arun Kamble
2017-09-08 13:31 ` Szwichtenberg, Radoslaw
2017-09-08 15:14 ` Chris Wilson
2017-09-01 7:25 ` [PATCH 03/20] drm/i915/slpc: Add has_slpc capability flag Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 04/20] drm/i915/slpc: Add enable_slpc module parameter Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 05/20] drm/i915/slpc: Sanitize GuC version Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 06/20] drm/i915/slpc: Lay out SLPC init/enable/disable/cleanup helpers Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 07/20] drm/i915/slpc: Enable SLPC in GuC if supported Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 08/20] drm/i915/slpc: Add SLPC communication interfaces Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 09/20] drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 10/20] drm/i915/slpc: Add parameter set/unset/get, task control/status functions Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 11/20] drm/i915/slpc: Send RESET event to enable SLPC Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 12/20] drm/i915/slpc: Send SHUTDOWN event Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 13/20] drm/i915/slpc: Add support for min/max frequency control Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 14/20] drm/i915/slpc: Add debugfs support to read/write/revert the parameters Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 15/20] drm/i915/slpc: Add enable/disable controls for SLPC tasks Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 16/20] drm/i915/slpc: Add i915_slpc_info to debugfs Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 17/20] drm/i915/slpc: Add SLPC banner to RPS debugfs interfaces Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 18/20] drm/i915/slpc: Add SKL SLPC Support Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 19/20] drm/i915/slpc: Add Broxton SLPC support Sagar Arun Kamble
2017-09-01 7:25 ` [PATCH 20/20] drm/i915/slpc: Add Kabylake " Sagar Arun Kamble
2017-09-12 8:39 ` Szwichtenberg, Radoslaw [this message]
2017-09-19 10:30 ` [PATCH 00/20] Add support for GuC-based SLPC Joonas Lahtinen
2017-09-19 10:49 ` Kamble, Sagar A
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=1505205550.21576.24.camel@intel.com \
--to=radoslaw.szwichtenberg@intel.com \
--cc=daniel.vetter@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=marc.beuchat@intel.com \
--cc=sagar.a.kamble@intel.com \
/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