~apw/ubuntu/+source/linux/+git/pull:lp1248289

Last commit made on 2016-05-20
Get this branch:
git clone -b lp1248289 https://git.launchpad.net/~apw/ubuntu/+source/linux/+git/pull
Only Andy Whitcroft can upload to this branch. If you are Andy Whitcroft please log in for upload directions.

Branch merges

Branch information

Name:
lp1248289
Repository:
lp:~apw/ubuntu/+source/linux/+git/pull

Recent commits

b243331... by Andy Whitcroft

UBUNTU: [Config] add binutils-dev to the Build-Depends: to fix perf unwinding

BugLink: http://bugs.launchpad.net/bugs/1248289
Signed-off-by: Andy Whitcroft <email address hidden>

2059c78... by Kamal Mostafa

UBUNTU: Ubuntu-4.4.0-23.41

Signed-off-by: Kamal Mostafa <email address hidden>

71ddb7a... by Andy Whitcroft

UBUNTU: [Packaging] disable zfs module checks when cross-compiling

When we cross-compile we have to turn off the inbuilt zfs modules.
When doing this we also need to allow the modules so produced to go
missing in this build while still checking the remainder of the modules.

BugLink: http://bugs.launchpad.net/bugs/1581127
Signed-off-by: Andy Whitcroft <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

5930423... by Greg Kroah-Hartman <email address hidden>

Linux 4.4.10

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

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

3ec8971... by Mat Martineau <email address hidden>

drm/i915/skl: Fix DMC load on Skylake J0 and K0

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

commit a41c8882592fb80458959b10e37632ce030b68ca upstream.

The driver does not load firmware for unknown steppings, so these new
steppings must be added to the list.

Cc: Rodrigo Vivi <email address hidden>
Signed-off-by: Mat Martineau <email address hidden>
Reviewed-by: Rodrigo Vivi <email address hidden>
Signed-off-by: Rodrigo Vivi <email address hidden>
Link: http://patchwork.freedesktop.org/<email address hidden>
Cc: Jani Nikula <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

23e6930... by Vitaly Kuznetsov

lib/test-string_helpers.c: fix and improve string_get_size() tests

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

commit 72676bb53f33fd0ef3a1484fc1ecfd306dc6ff40 upstream.

Recently added commit 564b026fbd0d ("string_helpers: fix precision loss
for some inputs") fixed precision issues for string_get_size() and broke
tests.

Fix and improve them: test both STRING_UNITS_2 and STRING_UNITS_10 at a
time, better failure reporting, test small an huge values.

Fixes: 564b026fbd0d28e9 ("string_helpers: fix precision loss for some inputs")
Signed-off-by: Vitaly Kuznetsov <email address hidden>
Cc: Andy Shevchenko <email address hidden>
Cc: Rasmus Villemoes <email address hidden>
Cc: James Bottomley <email address hidden>
Cc: James Bottomley <email address hidden>
Cc: "James E.J. Bottomley" <email address hidden>
Signed-off-by: Andrew Morton <email address hidden>
Signed-off-by: Linus Torvalds <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

4e89ffd... by Shashank Sharma <email address hidden>

drm/i915: Fake HDMI live status

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

commit 60b3143c7cac7e8d2ca65c0b347466c5776395d1 upstream.

This patch does the following:
- Fakes live status of HDMI as connected (even if that's not).
  While testing certain (monitor + cable) combinations with
  various intel platforms, it seems that live status register
  doesn't work reliably on some older devices. So limit the
  live_status check for HDMI detection, only for platforms
  from gen7 onwards.

V2: restrict faking live_status to certain platforms
V3: (Ville)
   - keep the debug message for !live_status case
   - fix indentation of comment
   - remove "warning" from the debug message

    (Jani)
   - Change format of fix details in the commit message

Fixes: 237ed86c693d ("drm/i915: Check live status before reading edid")
Suggested-by: Ville Syrjala <email address hidden>
Signed-off-by: Shashank Sharma <email address hidden>
Link: http://patchwork.freedesktop.org<email address hidden>
Signed-off-by: Ville Syrjälä <email address hidden>
(cherry picked from commit 4f4a8185011773f7520d9916c6857db946e7f9d1)
Signed-off-by: Jani Nikula <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

8d9a37c... by =?utf-8?b?VmlsbGUgU3lyasOkbMOk?= <email address hidden>

drm/i915: Make RPS EI/thresholds multiple of 25 on SNB-BDW

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

commit 4ea3959018d09edfa36a9e7b5ccdbd4ec4b99e49 upstream.

Somehow my SNB GT1 (Dell XPS 8300) gets very unhappy around
GPU hangs if the RPS EI/thresholds aren't suitably aligned.
It seems like scheduling/timer interupts stop working somehow
and things get stuck eg. in usleep_range().

I bisected the problem down to
commit 8a5864377b12 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function")
I observed that before all the values were at least multiples of 25,
but afterwards they are not. And rounding things up to the next multiple
of 25 does seem to help, so lets' do that. I also tried roundup(..., 5)
but that wasn't sufficient. Also I have no idea if we might need this sort of
thing on gen9+ as well.

These are the original EI/thresholds:
 LOW_POWER
  GEN6_RP_UP_EI 12500
  GEN6_RP_UP_THRESHOLD 11800
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 21250
 BETWEEN
  GEN6_RP_UP_EI 10250
  GEN6_RP_UP_THRESHOLD 9225
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 18750
 HIGH_POWER
  GEN6_RP_UP_EI 8000
  GEN6_RP_UP_THRESHOLD 6800
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 15000

These are after 8a5864377b12:
 LOW_POWER
  GEN6_RP_UP_EI 12500
  GEN6_RP_UP_THRESHOLD 11875
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 21250
 BETWEEN
  GEN6_RP_UP_EI 10156
  GEN6_RP_UP_THRESHOLD 9140
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 18750
 HIGH_POWER
  GEN6_RP_UP_EI 7812
  GEN6_RP_UP_THRESHOLD 6640
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 15000

And these are what we have after this patch:
 LOW_POWER
  GEN6_RP_UP_EI 12500
  GEN6_RP_UP_THRESHOLD 11875
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 21250
 BETWEEN
  GEN6_RP_UP_EI 10175
  GEN6_RP_UP_THRESHOLD 9150
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 18750
 HIGH_POWER
  GEN6_RP_UP_EI 7825
  GEN6_RP_UP_THRESHOLD 6650
  GEN6_RP_DOWN_EI 25000
  GEN6_RP_DOWN_THRESHOLD 15000

Cc: Akash Goel <email address hidden>
Cc: Chris Wilson <email address hidden>
Testcase: igt/kms_pipe_crc_basic/hang-read-crc-pipe-B
Fixes: 8a5864377b12 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function")
Signed-off-by: Ville Syrjälä <email address hidden>
Link: http://patchwork.freedesktop<email address hidden>
Acked-by: Chris Wilson <email address hidden>
Reviewed-by: Patrik Jakobsson <email address hidden>
(cherry picked from commit 8a292d016d1cc4938ff14b4df25328230b08a408)
Signed-off-by: Jani Nikula <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

e173efb... by Mika Kahola <email address hidden>

drm/i915: Fix eDP low vswing for Broadwell

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

commit 992e7a41f9fcc7bcd10e7d346aee5ed7a2c241cb upstream.

It was noticed on bug #94087 that module parameter
i915.edp_vswing=2 that should override the VBT setting
to use default voltage swing (400 mV) was not applied
for Broadwell.

This patch provides a fix for this by checking if default
i.e. higher voltage swing is requested to be used and
applies the DDI translations table for DP instead of eDP
(low vswing) table.

v2: Combine two if statements into one (Jani)
v3: Change dev_priv->edp_low_vswing to use dev_priv->vbt.edp.low_vswing

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94087
Signed-off-by: Mika Kahola <email address hidden>
Link: http://patchwork.freedesktop<email address hidden>
Signed-off-by: Ville Syrjälä <email address hidden>
(cherry picked from commit 00983519214b61c1b9371ec2ed55a4dde773e384)
[Jani: s/dev_priv->vbt.edp.low_vswing/dev_priv->edp_low_vswing/ to backport]
Signed-off-by: Jani Nikula <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

83b6575... by Imre Deak <email address hidden>

drm/i915/ddi: Fix eDP VDD handling during booting and suspend/resume

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

commit 5eaa60c7109b40f17ac81090bc8b90482da76cd1 upstream.

The driver's VDD on/off logic assumes that whenever the VDD is on we
also hold an AUX power domain reference. Since BIOS can leave the VDD on
during booting and resuming and on DDI platforms we won't take a
corresponding power reference, the above assumption won't hold on those
platforms and an eventual delayed VDD off work will do an extraneous AUX
power domain put resulting in a refcount underflow. Fix this the same
way we did this for non-DDI DP encoders:

commit 6d93c0c41760c0 ("drm/i915: fix VDD state tracking after system
resume")

At the same time call the DP encoder suspend handler the same way as the
non-DDI DP encoders do to flush any pending VDD off work. Leaving the
work running may cause a HW access where we don't expect this (at a point
where power domains are suspended already).

While at it remove an unnecessary function call indirection.

This fixed for me AUX refcount underflow problems on BXT during
suspend/resume.

CC: Ville Syrjälä <email address hidden>
Signed-off-by: Imre Deak <email address hidden>
Reviewed-by: Ville Syrjälä <email address hidden>
Link: http://patchwork.freedesktop<email address hidden>
(cherry picked from commit bf93ba67e9c05882f05b7ca2d773cfc8bf462c2a)
Signed-off-by: Jani Nikula <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>

Signed-off-by: Tim Gardner <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>