Bug 88430 - [i915] from 3.18: 3D Acceleration fails for Intel Ironlake M graphics hardware
Summary: [i915] from 3.18: 3D Acceleration fails for Intel Ironlake M graphics hardware
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: Intel GFX Bugs mailing list
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-15 01:00 UTC by Vivek Dasmohapatra
Modified: 2017-10-06 14:32 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Vivek Dasmohapatra 2015-01-15 01:00:09 UTC
While working on the latest i915 backport for
https://01.org/linuxgraphics/ (porting the i915 module from 3.18
to the ubuntu utopic kernel) we may have found a problem with the
Ironlake M support:

The symptom is that on the affected hardware we get no 3D
acceleration... in fact something like glxgears or one of the GL
screensavers simply displays a static image.

On our test machine we see this in the xorg log:

[27.437] (II) GLX: Initialized DRI2 GL provider for screen 0
[27.445] (EE) intel(0): Failed to submit rendering commands,
              disabling acceleration.

which appears to be from:

./src/sna/kgem.c:3662:
  "Failed to submit rendering commands, disabling acceleration.\n");

Tracking that back, it looks like a call to do_execbuf is failing.

With drm.debug=0x3, we see this interesting difference in the syslog:

On both kernels:

kernel: [] [drm:drm_ioctl] pid=1550, dev=0xe200, auth=1, I915_GEM_EXECBUFFER2
kernel: [] [drm:i915_gem_execbuffer2] copy 1 exec entries failed 56
kernel: [] [drm:drm_ioctl] ret = -14

Then a little later on the _working_ kernel only:

kernel: [] [drm:drm_ioctl] pid=1550, dev=0xe200, auth=1, DRM_IOCTL_SET_CLIENT_CAP
kernel: [] [drm:drm_ioctl] ret = -22

A little later, on the working kernel:

kernel: [] [drm:drm_ioctl] pid=1550, dev=0xe200, auth=1, I915_GEM_EXECBUFFER2
kernel: [] [drm:drm_ioctl] pid=1550, dev=0xe200, auth=1, DRM_IOCTL_GEM_CLOSE

Compared to the one that doesn't work:

kernel: [] [drm:drm_ioctl] pid=1550, dev=0xe200, auth=1, I915_GEM_EXECBUFFER2
kernel: [] [drm:drm_ioctl] ret = -16
kernel: [] [drm:drm_ioctl] pid=1550, dev=0xe200, auth=1, I915_GEM_THROTTLE
kernel: [] [drm:drm_ioctl] pid=1550, dev=0xe200, auth=1, DRM_IOCTL_GEM_CLOSE

Which I believe corresponds to the failure that the xorg log is
complaining about.

We're going to build a vanilla 3.18 kernel and test it on the hardware
in question, but the backport was pretty uninvasive, and didn't touch
any hardware specific code paths that I can see, which is why we think 
it might be a regression in the Ironlake M support.

I'll add more info once we've confirmed whether or not it occurs on
a 3.18 kernel on this hardware.
Comment 1 Chris Wilson 2015-01-15 07:45:12 UTC
"Fixed" by

commit d472fcc8379c062bd56a3876fc6ef22258f14a91
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Mon Nov 24 11:12:42 2014 +0100

    drm/i915: Disallow pin ioctl completely for kms drivers
Comment 2 Vivek Dasmohapatra 2015-01-15 16:09:11 UTC
Tested, works, thanks.
Comment 3 Elizabeth 2017-10-06 14:32:17 UTC
Closing old verified.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.