public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* Add support for GuC-based SLPC
@ 2016-08-20  5:08 Sagar Arun Kamble
  2016-08-20  5:09 ` drm/i915: Remove RPM suspend dependency on rps.enabled and related changes Sagar Arun Kamble
                   ` (28 more replies)
  0 siblings, 29 replies; 150+ messages in thread
From: Sagar Arun Kamble @ 2016-08-20  5:08 UTC (permalink / raw)
  To: intel-gfx; +Cc: Beuchat, Marc, Daniel Vetter

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 when 9.18 firmware is released. 

VIZ-6773, VIZ-6889

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Beuchat, Marc <marc.beuchat@intel.com>
Cc: Jeff McGee <jeff.mcgee@intel.com>

Sagar Arun Kamble (7):
  drm/i915: Remove RPM suspend dependency on rps.enabled and related
    changes
  drm/i915: Check GuC load status for Host to GuC action and SLPC status
  drm/i915: Mark GuC load status as PENDING in i915_drm_resume_early
  drm/i915/slpc: Only Enable GTPERF, Disable DCC, Balancer, IBC, FPS
    Stall
  drm/i915/slpc: Keep RP SW Mode enabled while disabling rps
  drm/i915: Add support for SKL/BXT 9.18 GuC Firmware for SLPC
  drm/i915/slpc: Update freq min/max softlimits

Tom O'Rourke (19):
  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 current requested frequency
  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 support
  drm/i915/slpc: Enable SLPC, where supported

 drivers/gpu/drm/i915/Makefile              |   3 +-
 drivers/gpu/drm/i915/i915_debugfs.c        | 461 +++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_drv.c            |  17 +-
 drivers/gpu/drm/i915/i915_drv.h            |   7 +
 drivers/gpu/drm/i915/i915_guc_submission.c |  21 +-
 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_reg.h            |   1 +
 drivers/gpu/drm/i915/i915_sysfs.c          |  26 ++
 drivers/gpu/drm/i915/intel_drv.h           |  13 +
 drivers/gpu/drm/i915/intel_guc.h           |  10 +
 drivers/gpu/drm/i915/intel_guc_loader.c    |  50 +++-
 drivers/gpu/drm/i915/intel_pm.c            | 132 ++++++---
 drivers/gpu/drm/i915/intel_slpc.c          | 370 +++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_slpc.h          | 212 +++++++++++++
 16 files changed, 1281 insertions(+), 52 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/intel_slpc.c
 create mode 100644 drivers/gpu/drm/i915/intel_slpc.h

-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 150+ messages in thread

end of thread, other threads:[~2016-09-09  9:37 UTC | newest]

Thread overview: 150+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-20  5:08 Add support for GuC-based SLPC Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915: Remove RPM suspend dependency on rps.enabled and related changes Sagar Arun Kamble
2016-08-20  8:04   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Expose guc functions for use with SLPC Sagar Arun Kamble
2016-08-20  8:05   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Add has_slpc capability flag Sagar Arun Kamble
2016-08-20  8:08   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Add SKL SLPC Support Sagar Arun Kamble
2016-08-20  8:07   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Add enable_slpc module parameter Sagar Arun Kamble
2016-08-20  8:15   ` David Weinehall
2016-08-22  8:39   ` kbuild test robot
2016-08-20  5:09 ` drm/i915/slpc: Sanitize SLPC version Sagar Arun Kamble
2016-08-20  8:06   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Use intel_slpc_* functions if supported Sagar Arun Kamble
2016-08-20  8:27   ` David Weinehall
2016-08-21  6:05     ` Kamble, Sagar A
2016-08-20  5:09 ` drm/i915/slpc: Enable SLPC in guc " Sagar Arun Kamble
2016-08-20  8:08   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: If using SLPC, do not set frequency Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Sagar Arun Kamble
2016-08-20  8:22   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Update current requested frequency Sagar Arun Kamble
2016-08-20  8:09   ` David Weinehall
2016-08-20  8:15   ` Chris Wilson
2016-08-21  6:12     ` Kamble, Sagar A
2016-08-20  5:09 ` drm/i915/slpc: Send reset event Sagar Arun Kamble
2016-08-20  8:10   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Send shutdown event Sagar Arun Kamble
2016-08-20  8:16   ` David Weinehall
2016-08-20  5:09 ` drm/i915/slpc: Add slpc_status enum values Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Add parameter unset/set/get functions Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Add slpc support for max/min freq Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Add enable/disable debugfs for slpc Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Add i915_slpc_info to debugfs Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Add broxton support Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Enable SLPC, where supported Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915: Check GuC load status for Host to GuC action and SLPC status Sagar Arun Kamble
2016-08-20  5:10   ` Deepak S
2016-08-21  6:06     ` Kamble, Sagar A
2016-08-20  5:09 ` drm/i915: Mark GuC load status as PENDING in i915_drm_resume_early Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Only Enable GTPERF, Disable DCC, Balancer, IBC, FPS Stall Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Keep RP SW Mode enabled while disabling rps Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915: Add support for SKL/BXT 9.18 GuC Firmware for SLPC Sagar Arun Kamble
2016-08-20  5:09 ` drm/i915/slpc: Update freq min/max softlimits Sagar Arun Kamble
2016-08-20  8:02   ` Chris Wilson
2016-08-21  6:09     ` Kamble, Sagar A
2016-08-21  8:39       ` Chris Wilson
2016-08-21 16:09         ` Kamble, Sagar A
2016-08-24  8:37           ` Chris Wilson
2016-08-25  4:53             ` Kamble, Sagar A
2016-08-20  6:13 ` ✗ Ro.CI.BAT: failure for drm/i915/slpc: Add slpc support for max/min freq Patchwork
2016-08-20  8:16 ` Add support for GuC-based SLPC Chris Wilson
2016-08-21  6:14   ` Kamble, Sagar A
2016-08-21  6:19 ` Sagar Arun Kamble
2016-08-21  6:19   ` drm/i915: Remove RPM suspend dependency on rps.enabled and related changes Sagar Arun Kamble
2016-08-21  6:19   ` drm/i915/slpc: Expose guc functions for use with SLPC Sagar Arun Kamble
2016-08-21  6:19   ` drm/i915/slpc: Add has_slpc capability flag Sagar Arun Kamble
2016-08-21  6:19   ` drm/i915/slpc: Add SKL SLPC Support Sagar Arun Kamble
2016-08-22  6:30     ` kbuild test robot
2016-08-21  6:19   ` drm/i915/slpc: Add enable_slpc module parameter Sagar Arun Kamble
2016-08-21  6:19   ` drm/i915/slpc: Sanitize SLPC version Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Use intel_slpc_* functions if supported Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Enable SLPC in guc " Sagar Arun Kamble
2016-08-22  5:59     ` kbuild test robot
2016-08-22  6:00     ` kbuild test robot
2016-08-21  6:20   ` drm/i915/slpc: If using SLPC, do not set frequency Sagar Arun Kamble
2016-08-22  8:32     ` kbuild test robot
2016-08-22 10:30     ` kbuild test robot
2016-08-21  6:20   ` drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Add/Update interface for requested frequency Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Send reset event Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Send shutdown event Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Add slpc_status enum values Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Add parameter unset/set/get functions Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Add slpc support for max/min freq Sagar Arun Kamble
2016-08-22  7:47     ` kbuild test robot
2016-08-22  9:33     ` kbuild test robot
2016-08-21  6:20   ` drm/i915/slpc: Add enable/disable debugfs for slpc Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Add i915_slpc_info to debugfs Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Add broxton support Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915: Check GuC load status for Host to GuC action and SLPC status Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915: Mark GuC load status as PENDING in i915_drm_resume_early Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Only Enable GTPERF, Disable DCC, Balancer, IBC, FPS Stall Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Keep RP SW Mode enabled while disabling rps Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915: Add support for SKL/BXT 9.18 GuC Firmware for SLPC Sagar Arun Kamble
2016-08-21  6:20   ` drm/i915/slpc: Update freq min/max softlimits Sagar Arun Kamble
2016-08-23 10:39   ` [PATCH v3 00/27] Add support for GuC-based SLPC Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 01/27] drm/i915: Remove RPM suspend dependency on rps.enabled and related changes Sagar Arun Kamble
2016-08-23 13:09       ` kbuild test robot
2016-08-23 13:21       ` kbuild test robot
2016-08-23 10:39     ` [PATCH v3 02/27] drm/i915/slpc: Expose guc functions for use with SLPC Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 03/27] drm/i915/slpc: Add has_slpc capability flag Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 04/27] drm/i915/slpc: Add SKL SLPC Support Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 05/27] drm/i915/slpc: Add enable_slpc module parameter Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 06/27] drm/i915/slpc: Sanitize SLPC version Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 07/27] drm/i915/slpc: Use intel_slpc_* functions if supported Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 08/27] drm/i915/slpc: Enable SLPC in guc " Sagar Arun Kamble
2016-09-03 23:43       ` kbuild test robot
2016-08-23 10:39     ` [PATCH v3 09/27] drm/i915/slpc: If using SLPC, do not set frequency Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 10/27] drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 11/27] drm/i915/slpc: Update sysfs/debugfs interfaces for frequency parameters Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 12/27] drm/i915: Add sysfs interface to know the HW requested frequency Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 13/27] drm/i915/slpc: Send reset event Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 14/27] drm/i915/slpc: Send shutdown event Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 15/27] drm/i915/slpc: Add slpc_status enum values Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 16/27] drm/i915/slpc: Add parameter unset/set/get functions Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 17/27] drm/i915/slpc: Add slpc support for max/min freq Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 18/27] drm/i915/slpc: Add enable/disable debugfs for slpc Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 19/27] drm/i915/slpc: Add i915_slpc_info to debugfs Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 20/27] drm/i915/slpc: Add broxton support Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 21/27] drm/i915: Check GuC load status for Host to GuC action and SLPC status Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 22/27] drm/i915: Mark GuC load status as PENDING in i915_drm_resume_early Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 23/27] drm/i915/slpc: Only Enable GTPERF, Disable DCC, Balancer, IBC, FPS Stall Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 24/27] drm/i915/slpc: Keep RP SW Mode enabled while disabling rps Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 25/27] drm/i915: Sanitize GT PM before reset Sagar Arun Kamble
2016-08-23 10:39     ` [PATCH v3 26/27] drm/i915: Add support for SKL/BXT 9.18 GuC Firmware for SLPC Sagar Arun Kamble
2016-08-23 10:40     ` [PATCH v3 27/27] drm/i915/slpc: Update freq min/max softlimits Sagar Arun Kamble
2016-08-23 13:42       ` kbuild test robot
2016-08-23 16:09       ` kbuild test robot
2016-09-07  8:22     ` [PATCH v4 00/25] Add support for GuC-based SLPC Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 01/25] drm/i915: Remove RPM suspend dependency on rps.enabled and related changes Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 02/25] drm/i915/slpc: Expose guc functions for use with SLPC Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 03/25] drm/i915/slpc: Add has_slpc capability flag Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 04/25] drm/i915/slpc: Add SKL SLPC Support Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 05/25] drm/i915/slpc: Add enable_slpc module parameter Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 06/25] drm/i915/slpc: Sanitize SLPC version Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 07/25] drm/i915/slpc: Use intel_slpc_* functions if supported Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 08/25] drm/i915/slpc: Enable SLPC in guc " Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 09/25] drm/i915/slpc: If using SLPC, do not set frequency Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 10/25] drm/i915/slpc: Allocate/Release/Initialize SLPC shared data Sagar Arun Kamble
2016-09-07 13:52         ` kbuild test robot
2016-09-07 14:56           ` Dave Gordon
2016-09-09  9:37             ` Kamble, Sagar A
2016-09-07  8:22       ` [PATCH v4 11/25] drm/i915/slpc: Update sysfs/debugfs interfaces for frequency parameters Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 12/25] drm/i915/slpc: Send reset event Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 13/25] drm/i915/slpc: Send shutdown event Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 14/25] drm/i915/slpc: Add slpc_status enum values Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 15/25] drm/i915/slpc: Add parameter unset/set/get functions Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 16/25] drm/i915/slpc: Add slpc support for max/min freq Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 17/25] drm/i915/slpc: Add enable/disable debugfs for slpc Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 18/25] drm/i915/slpc: Add i915_slpc_info to debugfs Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 19/25] drm/i915/slpc: Add Broxton SLPC support Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 20/25] drm/i915/slpc: Only Enable GTPERF, Disable DCC, Balancer, IBC, FPS Stall Sagar Arun Kamble
2016-09-07  8:22       ` [PATCH v4 21/25] drm/i915/slpc: Update freq min/max softlimits Sagar Arun Kamble
2016-09-07  8:23       ` [PATCH v4 22/25] drm/i915/slpc: Check GuC load status in SLPC active check Sagar Arun Kamble
2016-09-07  8:23       ` [PATCH v4 23/25] drm/i915/slpc: Keep RP SW Mode enabled while disabling rps Sagar Arun Kamble
2016-09-07  8:23       ` [PATCH v4 24/25] drm/i915: Add sysfs interface to know the HW requested frequency Sagar Arun Kamble
2016-09-07  8:23       ` [PATCH v4 25/25] drm/i915: Mark GuC load status as PENDING in i915_drm_resume_early Sagar Arun Kamble
2016-08-23 15:50   ` ✗ Fi.CI.BAT: warning for series starting with [v3,01/27] drm/i915: Remove RPM suspend dependency on rps.enabled and related changes Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox