Intel Prepares Updated Linux Graphics Driver Handling For GPU Firmware

Written by Michael Larabel in Intel on 6 September 2022 at 07:53 PM EDT. 4 Comments
INTEL
Back in July I called attention to the issue how Linux 5.19 was set to break Alder Lake P graphics support unless moving to new graphics micro-controller "GuC" firmware in tandem. That user-space breakage is frowned upon and following that article the upstream DRM kernel maintainers outlined explicit requirements around firmware not breaking driver support. Intel engineers ended up submitting a quick fix for Linux 5.19 to still support the existing firmware while now a more adequate solution has been devised.

Intel engineers have now had the time to better adapt the i915 kernel graphics driver to refrain from explicitly requiring new GuC/HuC microcode/firmware and having the infrastructure for better dealing with multiple possible firmware versions. This is a more long-term fix than the quick change submitted for Linux 5.19 to just retain compatibility with the older firmware at the time.


These patches have the graphics firmware handling improvements. It's summed up elegantly with this patch message:
There was a misunderstanding in how firmware file compatibility should be managed within i915. This has been clarified as:

** "i915 must support all existing firmware releases forever new minor firmware releases should replace prior versions only backwards compatibility breaking releases should be a new file." **

This patch cleans up the single fallback file support that was added as a quick fix emergency effort. That is now removed in preference to supporting arbitrary numbers of firmware files per platform.

The patch also adds support for having GuC firmware files that are named by major version only (because the major version indicates backwards breaking changes that affect the KMD) and for having HuC firmware files with no version number at all (because the KMD has no interface requirements with the HuC).

For GuC, the driver will report via dmesg if the found file is older than expected. For HuC, the KMD will no longer require updating for any new HuC release so will not be able to report what the latest expected version is.

The patches are now out for review and testing. If all goes well in short order, it's possible we could see this improved firmware handling land for next month's v6.1 cycle.
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