[Intel-gfx] [PATCH v4 00/25] Add support for GuC-based SLPC
Sagar Arun Kamble
sagar.a.kamble at intel.com
Wed Sep 7 08:22:38 UTC 2016
SLPC (Single Loop Power Controller) is a replacement for
some host-based power management features. The SLPC
implementation runs in firmware on GuC.
This series has been tested with SKL GuC firmware
version 9.18 which is yet to be released. Performance and
power testing with these patches and 9.18 firmware is at
parity and in some cases better than host solution today
on various Linux benchmarks.
The graphics power management features in SLPC in this
version are called GTPERF, BALANCER, and DCC.
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; this includes
an adaptive boost turbo method.
BALANCER adjusts balance between power budgets for IA
and GT in power limited scenarios. BALANCER is only
active when all display pipes are in "game" mode.
DCC (Duty Cycle Control) adjusts requested graphics
frequency and stalls guc-scheduler to maintain actual
graphics frequency in efficient range.
The last series can be found in the archive at
"[Intel-gfx] [PATCH v4 00/21] Add support for GuC-based SLPC"
https://lists.freedesktop.org/archives/intel-gfx/2016-April/094445.html
This series incorporates feedback from code reviews on
earlier series. It drops the display mode notification
patches as it is not needed for Turbo part of GTPERF.
This series also adds new interface changes for SLPC
support on 9.18 GuC Firmware which is not yet published.
Will like to get review started prior to firmware is published.
With SLPC disabled by default, this series
should be safe to merge now and it can be enabled once
9.18 firmware is released.
v2: Addressed review comments on v1. Removed patch to
enable SLPC by default.
v3: Addressed WARNING in igt at 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.
VIZ-6773, VIZ-6889, VIZ-6890
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter at intel.com>
Cc: Beuchat, Marc <marc.beuchat at intel.com>
Cc: Jeff McGee <jeff.mcgee at intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
Sagar Arun Kamble (7):
drm/i915: Remove RPM suspend dependency on rps.enabled and related
changes
drm/i915/slpc: Only Enable GTPERF, Disable DCC, Balancer, IBC, FPS
Stall
drm/i915/slpc: Update freq min/max softlimits
drm/i915/slpc: Check GuC load status in SLPC active check
drm/i915/slpc: Keep RP SW Mode enabled while disabling rps
drm/i915: Add sysfs interface to know the HW requested frequency
drm/i915: Mark GuC load status as PENDING in i915_drm_resume_early
Tom O'Rourke (18):
drm/i915/slpc: Expose guc functions for use with SLPC
drm/i915/slpc: Add has_slpc capability flag
drm/i915/slpc: Add SKL SLPC Support
drm/i915/slpc: Add enable_slpc module parameter
drm/i915/slpc: Sanitize SLPC version
drm/i915/slpc: Use intel_slpc_* functions if supported
drm/i915/slpc: Enable SLPC in guc if supported
drm/i915/slpc: If using SLPC, do not set frequency
drm/i915/slpc: Allocate/Release/Initialize SLPC shared data
drm/i915/slpc: Update sysfs/debugfs interfaces for frequency
parameters
drm/i915/slpc: Send reset event
drm/i915/slpc: Send shutdown event
drm/i915/slpc: Add slpc_status enum values
drm/i915/slpc: Add parameter unset/set/get functions
drm/i915/slpc: Add slpc support for max/min freq
drm/i915/slpc: Add enable/disable debugfs for slpc
drm/i915/slpc: Add i915_slpc_info to debugfs
drm/i915/slpc: Add Broxton SLPC support
drivers/gpu/drm/i915/Makefile | 3 +-
drivers/gpu/drm/i915/i915_debugfs.c | 491 ++++++++++++++++++++++++++++-
drivers/gpu/drm/i915/i915_drv.c | 21 +-
drivers/gpu/drm/i915/i915_drv.h | 4 +-
drivers/gpu/drm/i915/i915_guc_submission.c | 16 +-
drivers/gpu/drm/i915/i915_params.c | 6 +
drivers/gpu/drm/i915/i915_params.h | 1 +
drivers/gpu/drm/i915/i915_pci.c | 3 +
drivers/gpu/drm/i915/i915_sysfs.c | 49 +++
drivers/gpu/drm/i915/intel_drv.h | 13 +
drivers/gpu/drm/i915/intel_guc.h | 12 +
drivers/gpu/drm/i915/intel_guc_loader.c | 30 ++
drivers/gpu/drm/i915/intel_pm.c | 133 ++++++--
drivers/gpu/drm/i915/intel_runtime_pm.c | 3 +-
drivers/gpu/drm/i915/intel_slpc.c | 389 +++++++++++++++++++++++
drivers/gpu/drm/i915/intel_slpc.h | 215 +++++++++++++
16 files changed, 1335 insertions(+), 54 deletions(-)
create mode 100644 drivers/gpu/drm/i915/intel_slpc.c
create mode 100644 drivers/gpu/drm/i915/intel_slpc.h
--
1.9.1
More information about the Intel-gfx
mailing list