Intel Working On Implementing GuC Firmware Based Power Management For Linux

Written by Michael Larabel in Intel on 10 July 2021 at 07:15 AM EDT. 14 Comments
INTEL
Going back to 2017 was work on firmware-based power management for Intel graphics with its GuC implementation. That work didn't advance with the time but now with Intel renewing their work around GuC and with future hardware may mandate this binary-only firmware, they are again revisiting the GuC power management.

Intel has been working to transition to GuC firmware-based scheduling as an option for Gen11/Icelake graphics and newer. At this time they don't appear to be looking to forcing GuC by default for existing hardware but that may change for upcoming/future Intel graphics hardware. The open-source driver work around GuC has been ongoing for years. The GuC microcontroller has been around since Skylake for being able to offload some functionality from the kernel graphics driver to this microcontroller. The one area where GuC is being used currently within the kernel is around its "HuC" for HEVC/H.265 authentication with their media driver.

With the GuC microcontroller being in better shape for Gen11+ and the possibility of requiring its usage for future Intel graphics, there's been the context scheduling work noted in recent months and then on Friday marked the new patches around GuC power management that we haven't seen touched otherwise in several years. Of course, some won't be happy about this with the GuC firmware being loaded at run-time and binary-only, but both NVIDIA and AMD also require closed-source firmware for hardware initialization for their modern GPUs.

These 15~16 patches wire up usage of the single loop power control feature in GuC for handling some power management work otherwise handled by their i915 kernel driver. "With this series, we will enable two PM features - GTPerf and GuCRC. These are the Turbo and RC6 equivalents of the host based version. GuC provides various interfaces via host-to-guc messaging, which allows KMD to enable these features after GuC is loaded and GuC submission is enabled. We will specifically disable the IA/GT Balancer and Duty Cycle control features in SLPC."

GuC SLPC when fully utilized aims to offer better efficiency for power management tasks than being handled by the kernel graphics driver. It will be interesting to see how well it works in practice on Icelake graphics and newer.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week