On Thu, Oct 08, 2015 at 08:50:29PM +0200, m...@tweinbrenner.net wrote: > >Synopsis: X with Broadwell GPU still not working > >Category: kernel > >Environment: > System : OpenBSD 5.8 > Details : OpenBSD 5.8-current (GENERIC.MP) #1440: Thu Oct 8 > 07:52:55 MDT 2015 > > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > > Architecture: OpenBSD.amd64 > Machine : amd64 > >Description: > When I start X (either using startx or xdm) it starts really slow and > the graphics are not really working. I don't know how to describe it exactly. > The patterns of my background are scrambled, windows arent recognizable. The > mouse moves slow - if at all. The same is true for keystrokes. > Curiously the very first snapshot with Broadwell support (I think it was > #1378) displayed the same behaviour, but startet to work after some time (or > after I managed to log in using xdm), but I wasn't able to reproduce that on > a later snapshot. > when I tried to use xrandr to setup my to monitors the computer rebootet. > > Some errors I have seen with the current snapshot: > > error: [drm:pid28330:intel_pipe_set_base] *ERROR* pin & fence failed > error: [drm:pid16808:ring_stuck] *ERROR* Kicking stuck wait on blitter ring > > >How-To-Repeat: > Boot my computer and trying to start X using the Intel GPU. > >Fix: > Use another graphic card. :( > > > WARNING !((to_i915(dev)->info)->is_haswell) failed at > ../../../../dev/pci/drm/i915/i915_drv.c:557 > WARNING ((((to_i915(dev)->info)->is_haswell) && ((dev)->pdev->device & > 0xFF00) == 0x0A00) || (((to_i915(dev)->info)->gen == 8) && > (((dev)->pdev->device & 0xf) == 0x2 || ((dev)->pdev->device & 0xf) == 0x6 || > ((dev)->pdev->device & 0xf) == 0xe))) failed at > ../../../../dev/pci/drm/i915/i915_drv.c:558
These warnings are harmless according to https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a35cc9d0c0118fb18f7c5dd7a44adb454868a679 So far all the broadwell testers have had mobile GT2 broadwell not desktops with GT3e with the extra cache. I would be interested to hear what happens when the ellc is enabled: Index: sys/dev/pci/drm/i915/intel_uncore.c =================================================================== RCS file: /cvs/src/sys/dev/pci/drm/i915/intel_uncore.c,v retrieving revision 1.2 diff -u -p -r1.2 intel_uncore.c --- sys/dev/pci/drm/i915/intel_uncore.c 25 Sep 2015 16:15:19 -0000 1.2 +++ sys/dev/pci/drm/i915/intel_uncore.c 9 Oct 2015 02:42:26 -0000 @@ -324,7 +324,7 @@ void intel_uncore_early_sanitize(struct if (HAS_FPGA_DBG_UNCLAIMED(dev)) __raw_i915_write32(dev_priv, FPGA_DBG, FPGA_DBG_RM_NOCLAIM); - if (IS_HASWELL(dev) && + if ((IS_HASWELL(dev) || IS_BROADWELL(dev)) && (__raw_i915_read32(dev_priv, HSW_EDRAM_PRESENT) == 1)) { /* The docs do not explain exactly how the calculation can be * made. It is somewhat guessable, but for now, it's always