i915 lacks information about the glk_dmc_ver1_04.bin firmware file in
modinfo, so it is not included in the initrd along with the i915 driver.
Thus the firmware does not get loaded. Loading the firmware is said to
prevent a hang.
In addition to that, this also causes GLK's HDMI audio codec stops
working after S3.
Add a MODULE_FIRMWARE statement for the firmware.
This information is required to let initramfs-tools includes the
Without the firmware there will be a "Direct firmware load for
i915/glk_dmc_ver1_04.bin failed with error -2" line in dmesg. With the
firmware there is no such message.
I can confirm the GLK HDMI audio issue is gone when firmware is loaded.
Minimal. Will only be loaded by i915 for specific hardware, and loading
the firmware is known to fix a hang.
Ian W MORRISON (1):
drm/i915/glk: Add MODULE_FIRMWARE for Geminilake
From: Ian W MORRISON [hidden email]
As the Geminilake firmware is now merged to linux-firmware.git
use MODUE_FIRMWARE to load the firmware.
This removes the error message in the dmesg log:
i915 0000:00:02.0: Direct firmware load for
i915/glk_dmc_ver1_04.bin failed with error -2
i915 0000:00:02.0: Failed to load DMC firmware
i915/glk_dmc_ver1_04.bin. Disabling runtime power management.
i915 0000:00:02.0: DMC firmware homepage:
and now shows that the firmware has correctly loaded:
[drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4)
Signed-off-by: Ian W MORRISON [hidden email]
Signed-off-by: Jani Nikula [hidden email]
(cherry picked from commit f6d3e06f074721ad3a231df745d85b60428c1f03)
Signed-off-by: Kai-Heng Feng [hidden email]
drivers/gpu/drm/i915/intel_csr.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index da9de47562b8..f9ee56fdf3ab 100644
@@ -35,6 +35,7 @@
#define I915_CSR_GLK "i915/glk_dmc_ver1_04.bin"
#define GLK_CSR_VERSION_REQUIRED CSR_VERSION(1, 4)
#define I915_CSR_CNL "i915/cnl_dmc_ver1_04.bin"