[Intel-gfx] Problem with i915 driver when mixing Skylake CPU with Kabylake chipset

Jani Nikula jani.nikula at linux.intel.com
Wed Feb 1 13:50:31 UTC 2017


On Wed, 01 Feb 2017, Rainer Koenig <Rainer.Koenig at ts.fujitsu.com> wrote:
> Hello,
>
> I'm investigating a problem on a machine that has a Kabylake PCH but a
> Skylake CPU i5-6500.
>
> Problem is that I can install and use distributions that are based on an
> older kernel, but newer Linux dristributions fail to boot even the
> installer.
>
> So far I managed to get Fedora 25 with a 4.9 kernel installed, but I
> cannot reach runlevel 5. Booting to runlevel 3 shows this message in the
> dmesg:
>
> [    1.816627] ------------[ cut here ]------------
> [    1.816943] WARNING: CPU: 5 PID: 373 at
> drivers/gpu/drm/i915/i915_drv.c:210 i915_driver_load+0x1157/0x1410 [i915]
> [    1.817193] WARN_ON(!((&({ struct drm_i915_private *__p; if
> (__builtin_types_compatible_p(typeof(*dev), struct drm_i915_private))
> __p = (struct drm_i915_private *)dev; else if
> (__builtin_types_compatible_p(typeof(*dev), struct drm_device)) __p =
> to_i915((struct drm_device *)dev); else do { bool __cond = !(!(1));
> extern void __compiletime_assert_210(void)
> __attribute__((error("BUILD_BUG failed"))); if (__cond)
> __compiletime_assert_210(); do { } while (0); } while (0); __p;
> })->info)->is_kabylake))
> [    1.817251] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
> [    1.818020] Modules linked in:
> [    1.818185]  i915(+) i2c_algo_bit e1000e drm_kms_helper crc32c_intel
> drm ptp serio_raw pps_core video i2c_hid fjes
> [    1.819091] CPU: 5 PID: 373 Comm: systemd-udevd Not tainted
> 4.9.5-200.fc25.x86_64 #1
>
> Looking at i95_drv.c I find this code snipped that seems to be
> responsible:
>
>
>                         } else if (id == INTEL_PCH_SPT_DEVICE_ID_TYPE) {
>                                 dev_priv->pch_type = PCH_SPT;
>                                 DRM_DEBUG_KMS("Found SunrisePoint PCH\n");
>                                 WARN_ON(!IS_SKYLAKE(dev_priv) &&
>                                         !IS_KABYLAKE(dev_priv));
>                         } else if (id == INTEL_PCH_SPT_LP_DEVICE_ID_TYPE) {
>                                 dev_priv->pch_type = PCH_SPT;
>                                 DRM_DEBUG_KMS("Found SunrisePoint LP
> PCH\n");
>                                 WARN_ON(!IS_SKYLAKE(dev_priv) &&
>                                         !IS_KABYLAKE(dev_priv));
>                         } else if (id == INTEL_PCH_KBP_DEVICE_ID_TYPE) {
>                                 dev_priv->pch_type = PCH_KBP;
>                                 DRM_DEBUG_KMS("Found KabyPoint PCH\n");
>                                 WARN_ON(!IS_KABYLAKE(dev_priv));
>
>
> I read from that, that the driver issues the warning when PCH is a
> Kabypoint PCH, but the CPU based graphics is not from a Kabylake CPU.

It's just a warning. But if there really are such combos out there, we
should get rid of the warning. Patch sent [1].

[1] http://patchwork.freedesktop.org/patch/msgid/1485956769-26015-1-git-send-email-jani.nikula@intel.com

> This explains the warnings in the dmesg. But if I want to start the GUI,
> the next problem rises:
>
> [  125.777880] gnome-shell[1665]: segfault at 0 ip 00007f49b6712789 sp
> 00007fff9100ca30 error 4 in libEGL.so.1.0.0[7f49b66f8000+30000]
>
> So from my perspective it looks like, that something inside the i915
> driver is going wrong when we mix up Skylake CPUs with Kabylake
> Chipsets. The same system works pretty well when I replace the Skylake
> CPU with a Kabylake CPU.
>
> On the other hand we have boards with a H110 chipset (Sunrise Point)
> that also support Kabylake CPUs and where this problem doesn't occur.
>
> So my questions is what is the status of the driver regarding the
> combination of Skylake CPU with Kabylake chipset?

I'm not aware of any issues, IIUC there shouldn't be differences between
the PCHs that would affect your perceived userspace segfault, and it
shouldn't segfault anyway based on what i915 does.

BR,
Jani.


>
> Thanks
> Rainer

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list