fix for i915 Kaby Lake ( *ERROR* failed to load firmware i915/kbl_dmc_ver1.bin )

Tobias Nygren <[email protected]>
Newsgroups gmane.os.netbsd.devel.x11
Message-ID <[email protected]>
Hi,

I found a bunch of references to this error in the mail archives.
Instead of responding to them all individually I'll just post here.
While we wait for someone to do a kernel drm update, here is a patch
that makes i915 work properly (i.e. no GPU hangs in Xorg) on at least
my Lenovo t470s with Kaby Lake.

For this to work you also need to find these firmware files on the
Internet and install them in your system:

/libdata/firmware/i915drmkms/i915/kbl_guc_ver9_14.bin
/libdata/firmware/i915drmkms/i915/kbl_dmc_ver1_04.bin

--- sys/external/bsd/drm2/dist/drm/i915/intel_csr.c	14 Feb 2020 14:34:58 -0000	1.6
+++ sys/external/bsd/drm2/dist/drm/i915/intel_csr.c	27 Oct 2020 02:12:52 -0000
@@ -47,7 +47,7 @@ __KERNEL_RCSID(0, "$NetBSD: intel_csr.c,
  * be moved to FW_FAILED.
  */
 
-#define I915_CSR_KBL "i915/kbl_dmc_ver1.bin"
+#define I915_CSR_KBL "i915/kbl_dmc_ver1_04.bin"
 #define I915_CSR_SKL "i915/skl_dmc_ver1.bin"
 #define I915_CSR_BXT "i915/bxt_dmc_ver1.bin"
 
@@ -190,7 +190,7 @@ struct stepping_info {
  * is the right firmware for KBL A0 (revid 0).
  */
 static const struct stepping_info kbl_stepping_info[] = {
-	{'H', '0'}, {'I', '0'}
+	{'H', '0'}, {'I', '0'}, {'J', '0'}
 };
 
 static const struct stepping_info skl_stepping_info[] = {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.