[Quantal][SRU] Updated i915 driver for HSW support

Leann Ogasawara leann.ogasawara at canonical.com
Sat Dec 1 07:13:36 UTC 2012

BugLink: http://bugs.launchpad.net/bugs/1085245

== Quantal SRU Justification ==

Beginning with the 12.04.2 point release, we are providing the 12.10
kernel as an enablement vehicle.  Enablement for Haswell graphics has
been a frequent request and highly sought after for the 12.04.2 point
release coupled with the 12.10 kernel and X stack.  Full enablement
support for Haswell will unfortunately not be available by default until
the upstream v3.8 kernel.  Given our release time frames, waiting for
the v3.8 kernel to land in an official Ubuntu release and propagate back
into 12.04 will greatly delay our ability to support Haswell in the near
future.  As an alternative solution, I'm am proposing we provide an
updated i915 driver in Quantal with Haswell support.

== Fix ==
We can provide an updated snapshot of the i915 driver which supports
Haswell.  This updated snapshot is also making it's way through the
drm-intel tree and targeting to land in the upstream v3.8 kernel.  This
updated version of the i915 driver being proposed here for the Quantal
kernel will only support Haswell pci id's which should greatly reduce
the risk of regression to non-Haswell hardware.  The following set of
patches introduces this updated i915 driver as an Ubuntu driver (ie
ubuntu-quantal/ubuntu/i915) and will be renamed to "i915_hsw".

The updated i915 snapshot was taken from
"git://people.freedesktop.org/~danvet/drm backport-3.6" which was
specifically provided by Intel to help with backporting efforts.  It is
a v3.6 based tree with primarily Haswell enablement patches applied on
top.  It should be less volatile than a drm-intel-nightly branch which
contains the same Haswell support.  The set of patches I'm proposing for
the Quantal kernel can be reviewed at:

  git://kernel.ubuntu.com/ogasawara/ubuntu-quantal.git hsw-backport-3.6

I would note I did have to include some patches which touch outside the
ubuntu/i915 space.  However, I hope most are straightforward enough to
see they pose no risk of regression (ie they only introduce new
#define's or functions which are only used by this newer driver).  I
would also note I did need to also cherry-pick some drm/fb-helper
patches which were listed in the backport-3.6 branch from Intel in order
to resolve some VGA issues I was seeing while testing.  I hope those are
also straightforward when reviewing.

== Testing ==
I've tested this on a Beta Shark Bay Desktop SDP replicating the same
package combination we'll see with the 12.04.2 point release, ie Precise
+ Quantal X stack + Quantal test kernel.  I see significant improvements
compared to a stock Quantal kernel.  With a stock Quantal kernel, the
system is unusable and the monitor powers off 3secs into booting
anyways.  With the proposed set of patches I'm able to successfully boot
and connect a monitor over HDMI and VGA.  I also did some general smoke
testing of suspend/resume, audio, ethernet, wifi, reboot/shutdown, 3D,
and monitor hotplugging all of which passed with the exception of
suspend/resume failures over VGA which I'm told is a known issue that is
being addressed.  I have also tested this on all my non-Haswell hardware
and can confirm I see no regressions.

Given this set of patches should be well contained and really only
affect Haswell hardware, I propose we try and pull it in for the
upcoming Quantal kernel SRU cycle.  It will allow us to ensure we see no
regressions on non-Haswell hardware but also allow us to start more
widespread testing against the Haswell hardware we do have access to.


More information about the kernel-team mailing list