]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Feb 2014 00:31:27 +0000 (16:31 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Feb 2014 00:31:27 +0000 (16:31 -0800)
added patches:
drm-cirrus-correct-register-values-for-16bpp.patch
drm-i915-fix-the-offset-issue-for-the-stolen-gem-objects.patch
drm-i915-flush-outstanding-requests-before-allocating-new-seqno.patch
drm-i915-vlv2-fix-hotplug-detect-bits.patch
drm-mgag200-fix-typo-causing-bw-limits-to-be-ignored-on-some-chips.patch
drm-nouveau-fix-m2mf-copy-to-tiled-gart.patch
i2c-i801-smbus-patch-for-intel-coleto-creek-deviceids.patch
i915-remove-pm_qos-request-on-error.patch
mfd-lpc_ich-add-support-for-intel-avoton-soc.patch
mfd-lpc_ich-itco_wdt-patch-for-intel-coleto-creek-deviceids.patch

queue-3.10/drm-cirrus-correct-register-values-for-16bpp.patch [new file with mode: 0644]
queue-3.10/drm-i915-fix-the-offset-issue-for-the-stolen-gem-objects.patch [new file with mode: 0644]
queue-3.10/drm-i915-flush-outstanding-requests-before-allocating-new-seqno.patch [new file with mode: 0644]
queue-3.10/drm-i915-vlv2-fix-hotplug-detect-bits.patch [new file with mode: 0644]
queue-3.10/drm-mgag200-fix-typo-causing-bw-limits-to-be-ignored-on-some-chips.patch [new file with mode: 0644]
queue-3.10/drm-nouveau-fix-m2mf-copy-to-tiled-gart.patch [new file with mode: 0644]
queue-3.10/i2c-i801-smbus-patch-for-intel-coleto-creek-deviceids.patch [new file with mode: 0644]
queue-3.10/i915-remove-pm_qos-request-on-error.patch [new file with mode: 0644]
queue-3.10/mfd-lpc_ich-add-support-for-intel-avoton-soc.patch [new file with mode: 0644]
queue-3.10/mfd-lpc_ich-itco_wdt-patch-for-intel-coleto-creek-deviceids.patch [new file with mode: 0644]
queue-3.10/series

diff --git a/queue-3.10/drm-cirrus-correct-register-values-for-16bpp.patch b/queue-3.10/drm-cirrus-correct-register-values-for-16bpp.patch
new file mode 100644 (file)
index 0000000..34a45cc
--- /dev/null
@@ -0,0 +1,39 @@
+From 2510538fa000dd13a3e57b79bf073ffb1748976c Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 21 Jan 2014 14:34:51 -0800
+Subject: drm/cirrus: correct register values for 16bpp
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 2510538fa000dd13a3e57b79bf073ffb1748976c upstream.
+
+When the mode is set with 16bpp on QEMU, the output gets totally broken.
+The culprit is the bogus register values set for 16bpp, which was likely
+copied from from a wrong place.
+
+Addresses https://bugzilla.novell.com/show_bug.cgi?id=799216
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jiri Slaby <jslaby@suse.cz>
+Cc: David Airlie <airlied@linux.ie>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/cirrus/cirrus_mode.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/cirrus/cirrus_mode.c
++++ b/drivers/gpu/drm/cirrus/cirrus_mode.c
+@@ -273,8 +273,8 @@ static int cirrus_crtc_mode_set(struct d
+               sr07 |= 0x11;
+               break;
+       case 16:
+-              sr07 |= 0xc1;
+-              hdr = 0xc0;
++              sr07 |= 0x17;
++              hdr = 0xc1;
+               break;
+       case 24:
+               sr07 |= 0x15;
diff --git a/queue-3.10/drm-i915-fix-the-offset-issue-for-the-stolen-gem-objects.patch b/queue-3.10/drm-i915-fix-the-offset-issue-for-the-stolen-gem-objects.patch
new file mode 100644 (file)
index 0000000..1a62a13
--- /dev/null
@@ -0,0 +1,42 @@
+From ec14ba47791965d2c08e0a681ff44eacbf3c4553 Mon Sep 17 00:00:00 2001
+From: Akash Goel <akash.goel@intel.com>
+Date: Mon, 13 Jan 2014 16:24:45 +0530
+Subject: drm/i915: Fix the offset issue for the stolen GEM objects
+
+From: Akash Goel <akash.goel@intel.com>
+
+commit ec14ba47791965d2c08e0a681ff44eacbf3c4553 upstream.
+
+The 'offset' field of the 'scatterlist' structure was wrongly
+programmed with the offset value from the base of stolen area,
+whereas this field indicates the offset from where the interested
+data starts within the first PAGE pointed to by 'scattterlist'
+structure. As a result when a new GEM object allocated from stolen
+area is mapped to GTT, it could lead to an overwrite of GTT entries
+as the page count calculation will go wrong, refer the function
+'sg_page_count'.
+
+v2: Modified the commit message. (Chris)
+
+Signed-off-by: Akash Goel <akash.goel@intel.com>
+Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71908
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69104
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_gem_stolen.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
++++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
+@@ -222,7 +222,7 @@ i915_pages_create_for_stolen(struct drm_
+       }
+       sg = st->sgl;
+-      sg->offset = offset;
++      sg->offset = 0;
+       sg->length = size;
+       sg_dma_address(sg) = (dma_addr_t)dev_priv->mm.stolen_base + offset;
diff --git a/queue-3.10/drm-i915-flush-outstanding-requests-before-allocating-new-seqno.patch b/queue-3.10/drm-i915-flush-outstanding-requests-before-allocating-new-seqno.patch
new file mode 100644 (file)
index 0000000..36ec13d
--- /dev/null
@@ -0,0 +1,78 @@
+From 304d695c3dc8eb65206b9eaf16f8d1a41510d1cf Mon Sep 17 00:00:00 2001
+From: Chris Wilson <chris@chris-wilson.co.uk>
+Date: Thu, 2 Jan 2014 14:32:35 +0000
+Subject: drm/i915: Flush outstanding requests before allocating new seqno
+
+From: Chris Wilson <chris@chris-wilson.co.uk>
+
+commit 304d695c3dc8eb65206b9eaf16f8d1a41510d1cf upstream.
+
+In very rare cases (such as a memory failure stress test) it is possible
+to fill the entire ring without emitting a request. Under this
+circumstance, the outstanding request is flushed and waited upon. After
+space on the ring is cleared, we return to emitting the new command -
+except that we just cleared the seqno allocated for this operation and
+trigger the sanity check that a request is only ever emitted with a
+valid seqno. The fix is to rearrange the code to make sure the
+allocation of the seqno for this operation is after any required flushes
+of outstanding operations.
+
+The bug exists since the preallocation was introduced in
+commit 9d7730914f4cd496e356acfab95b41075aa8eae8
+Author: Chris Wilson <chris@chris-wilson.co.uk>
+Date:   Tue Nov 27 16:22:52 2012 +0000
+
+    drm/i915: Preallocate next seqno before touching the ring
+
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Cc: Mika Kuoppala <mika.kuoppala@intel.com>
+Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
+Reviewed-by: Jani Nikula <jani.nikula@intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_ringbuffer.c |   12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
++++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
+@@ -1459,8 +1459,8 @@ intel_ring_alloc_seqno(struct intel_ring
+       return i915_gem_get_seqno(ring->dev, &ring->outstanding_lazy_request);
+ }
+-static int __intel_ring_begin(struct intel_ring_buffer *ring,
+-                            int bytes)
++static int __intel_ring_prepare(struct intel_ring_buffer *ring,
++                              int bytes)
+ {
+       int ret;
+@@ -1476,7 +1476,6 @@ static int __intel_ring_begin(struct int
+                       return ret;
+       }
+-      ring->space -= bytes;
+       return 0;
+ }
+@@ -1491,12 +1490,17 @@ int intel_ring_begin(struct intel_ring_b
+       if (ret)
+               return ret;
++      ret = __intel_ring_prepare(ring, num_dwords * sizeof(uint32_t));
++      if (ret)
++              return ret;
++
+       /* Preallocate the olr before touching the ring */
+       ret = intel_ring_alloc_seqno(ring);
+       if (ret)
+               return ret;
+-      return __intel_ring_begin(ring, num_dwords * sizeof(uint32_t));
++      ring->space -= num_dwords * sizeof(uint32_t);
++      return 0;
+ }
+ void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno)
diff --git a/queue-3.10/drm-i915-vlv2-fix-hotplug-detect-bits.patch b/queue-3.10/drm-i915-vlv2-fix-hotplug-detect-bits.patch
new file mode 100644 (file)
index 0000000..b235442
--- /dev/null
@@ -0,0 +1,100 @@
+From 232a6ee9af8adb185640f67fcaaa9014a9aa0573 Mon Sep 17 00:00:00 2001
+From: Todd Previte <tprevite@gmail.com>
+Date: Thu, 23 Jan 2014 00:13:41 -0700
+Subject: drm/i915: VLV2 - Fix hotplug detect bits
+
+From: Todd Previte <tprevite@gmail.com>
+
+commit 232a6ee9af8adb185640f67fcaaa9014a9aa0573 upstream.
+
+Add new definitions for hotplug live status bits for VLV2 since they're
+in reverse order from the gen4x ones.
+
+Changelog:
+- Restored gen4 bit definitions
+- Added new definitions for VLV2
+- Added platform check for IS_VALLEYVIEW() in dp_detect to use the correct
+  bit defintions
+- Replaced a lost trailing brace for the added switch()
+
+Signed-off-by: Todd Previte <tprevite@gmail.com>
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73951
+[danvet: Switch to _VLV postfix instead of prefix and regroupg
+comments again so that the g4x warning is right next to those defines.
+Also add a _G4X suffix for those special ones. Also cc stable.]
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_reg.h |   10 +++++++---
+ drivers/gpu/drm/i915/intel_dp.c |   40 ++++++++++++++++++++++++++++------------
+ 2 files changed, 35 insertions(+), 15 deletions(-)
+
+--- a/drivers/gpu/drm/i915/i915_reg.h
++++ b/drivers/gpu/drm/i915/i915_reg.h
+@@ -1682,9 +1682,13 @@
+  * Please check the detailed lore in the commit message for for experimental
+  * evidence.
+  */
+-#define   PORTD_HOTPLUG_LIVE_STATUS               (1 << 29)
+-#define   PORTC_HOTPLUG_LIVE_STATUS               (1 << 28)
+-#define   PORTB_HOTPLUG_LIVE_STATUS               (1 << 27)
++#define   PORTD_HOTPLUG_LIVE_STATUS_G4X               (1 << 29)
++#define   PORTC_HOTPLUG_LIVE_STATUS_G4X               (1 << 28)
++#define   PORTB_HOTPLUG_LIVE_STATUS_G4X               (1 << 27)
++/* VLV DP/HDMI bits again match Bspec */
++#define   PORTD_HOTPLUG_LIVE_STATUS_VLV               (1 << 27)
++#define   PORTC_HOTPLUG_LIVE_STATUS_VLV               (1 << 28)
++#define   PORTB_HOTPLUG_LIVE_STATUS_VLV               (1 << 29)
+ #define   PORTD_HOTPLUG_INT_STATUS            (3 << 21)
+ #define   PORTC_HOTPLUG_INT_STATUS            (3 << 19)
+ #define   PORTB_HOTPLUG_INT_STATUS            (3 << 17)
+--- a/drivers/gpu/drm/i915/intel_dp.c
++++ b/drivers/gpu/drm/i915/intel_dp.c
+@@ -2277,18 +2277,34 @@ g4x_dp_detect(struct intel_dp *intel_dp)
+               return status;
+       }
+-      switch (intel_dig_port->port) {
+-      case PORT_B:
+-              bit = PORTB_HOTPLUG_LIVE_STATUS;
+-              break;
+-      case PORT_C:
+-              bit = PORTC_HOTPLUG_LIVE_STATUS;
+-              break;
+-      case PORT_D:
+-              bit = PORTD_HOTPLUG_LIVE_STATUS;
+-              break;
+-      default:
+-              return connector_status_unknown;
++      if (IS_VALLEYVIEW(dev)) {
++              switch (intel_dig_port->port) {
++              case PORT_B:
++                      bit = PORTB_HOTPLUG_LIVE_STATUS_VLV;
++                      break;
++              case PORT_C:
++                      bit = PORTC_HOTPLUG_LIVE_STATUS_VLV;
++                      break;
++              case PORT_D:
++                      bit = PORTD_HOTPLUG_LIVE_STATUS_VLV;
++                      break;
++              default:
++                      return connector_status_unknown;
++              }
++      } else {
++              switch (intel_dig_port->port) {
++              case PORT_B:
++                      bit = PORTB_HOTPLUG_LIVE_STATUS_G4X;
++                      break;
++              case PORT_C:
++                      bit = PORTC_HOTPLUG_LIVE_STATUS_G4X;
++                      break;
++              case PORT_D:
++                      bit = PORTD_HOTPLUG_LIVE_STATUS_G4X;
++                      break;
++              default:
++                      return connector_status_unknown;
++              }
+       }
+       if ((I915_READ(PORT_HOTPLUG_STAT) & bit) == 0)
diff --git a/queue-3.10/drm-mgag200-fix-typo-causing-bw-limits-to-be-ignored-on-some-chips.patch b/queue-3.10/drm-mgag200-fix-typo-causing-bw-limits-to-be-ignored-on-some-chips.patch
new file mode 100644 (file)
index 0000000..b19422c
--- /dev/null
@@ -0,0 +1,36 @@
+From ec22b4aa993abbd18f5bbbcb20a1c56be3b1d38b Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Wed, 5 Feb 2014 14:13:56 +1000
+Subject: drm/mgag200: fix typo causing bw limits to be ignored on some chips
+
+From: Dave Airlie <airlied@redhat.com>
+
+commit ec22b4aa993abbd18f5bbbcb20a1c56be3b1d38b upstream.
+
+mode->mdev otherwise the bw limits never kick in.
+
+Reported in RHEL testing.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/mgag200/mgag200_mode.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
++++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
+@@ -1477,11 +1477,11 @@ static int mga_vga_mode_valid(struct drm
+               (mga_vga_calculate_mode_bandwidth(mode, bpp)
+                       > (32700 * 1024))) {
+               return MODE_BANDWIDTH;
+-      } else if (mode->type == G200_EH &&
++      } else if (mdev->type == G200_EH &&
+               (mga_vga_calculate_mode_bandwidth(mode, bpp)
+                       > (37500 * 1024))) {
+               return MODE_BANDWIDTH;
+-      } else if (mode->type == G200_ER &&
++      } else if (mdev->type == G200_ER &&
+               (mga_vga_calculate_mode_bandwidth(mode,
+                       bpp) > (55000 * 1024))) {
+               return MODE_BANDWIDTH;
diff --git a/queue-3.10/drm-nouveau-fix-m2mf-copy-to-tiled-gart.patch b/queue-3.10/drm-nouveau-fix-m2mf-copy-to-tiled-gart.patch
new file mode 100644 (file)
index 0000000..aaace84
--- /dev/null
@@ -0,0 +1,96 @@
+From ce8f7699f2b6ffe4aa8368b8d9d370875accaa5f Mon Sep 17 00:00:00 2001
+From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+Date: Tue, 12 Nov 2013 13:34:08 +0100
+Subject: drm/nouveau: fix m2mf copy to tiled gart
+
+From: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+
+commit ce8f7699f2b6ffe4aa8368b8d9d370875accaa5f upstream.
+
+Commit de7b7d59d54852c introduced tiled GART, but a linear copy is
+still performed. This may result in errors on eviction, fix it by
+checking tiling from memtype.
+
+Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
+Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/nouveau/nouveau_bo.c |   33 ++++++++-------------------------
+ 1 file changed, 8 insertions(+), 25 deletions(-)
+
+--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
++++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
+@@ -788,25 +788,25 @@ nv50_bo_move_m2mf(struct nouveau_channel
+                 struct ttm_mem_reg *old_mem, struct ttm_mem_reg *new_mem)
+ {
+       struct nouveau_mem *node = old_mem->mm_node;
+-      struct nouveau_bo *nvbo = nouveau_bo(bo);
+       u64 length = (new_mem->num_pages << PAGE_SHIFT);
+       u64 src_offset = node->vma[0].offset;
+       u64 dst_offset = node->vma[1].offset;
++      int src_tiled = !!node->memtype;
++      int dst_tiled = !!((struct nouveau_mem *)new_mem->mm_node)->memtype;
+       int ret;
+       while (length) {
+               u32 amount, stride, height;
++              ret = RING_SPACE(chan, 18 + 6 * (src_tiled + dst_tiled));
++              if (ret)
++                      return ret;
++
+               amount  = min(length, (u64)(4 * 1024 * 1024));
+               stride  = 16 * 4;
+               height  = amount / stride;
+-              if (old_mem->mem_type == TTM_PL_VRAM &&
+-                  nouveau_bo_tile_layout(nvbo)) {
+-                      ret = RING_SPACE(chan, 8);
+-                      if (ret)
+-                              return ret;
+-
++              if (src_tiled) {
+                       BEGIN_NV04(chan, NvSubCopy, 0x0200, 7);
+                       OUT_RING  (chan, 0);
+                       OUT_RING  (chan, 0);
+@@ -816,19 +816,10 @@ nv50_bo_move_m2mf(struct nouveau_channel
+                       OUT_RING  (chan, 0);
+                       OUT_RING  (chan, 0);
+               } else {
+-                      ret = RING_SPACE(chan, 2);
+-                      if (ret)
+-                              return ret;
+-
+                       BEGIN_NV04(chan, NvSubCopy, 0x0200, 1);
+                       OUT_RING  (chan, 1);
+               }
+-              if (new_mem->mem_type == TTM_PL_VRAM &&
+-                  nouveau_bo_tile_layout(nvbo)) {
+-                      ret = RING_SPACE(chan, 8);
+-                      if (ret)
+-                              return ret;
+-
++              if (dst_tiled) {
+                       BEGIN_NV04(chan, NvSubCopy, 0x021c, 7);
+                       OUT_RING  (chan, 0);
+                       OUT_RING  (chan, 0);
+@@ -838,18 +829,10 @@ nv50_bo_move_m2mf(struct nouveau_channel
+                       OUT_RING  (chan, 0);
+                       OUT_RING  (chan, 0);
+               } else {
+-                      ret = RING_SPACE(chan, 2);
+-                      if (ret)
+-                              return ret;
+-
+                       BEGIN_NV04(chan, NvSubCopy, 0x021c, 1);
+                       OUT_RING  (chan, 1);
+               }
+-              ret = RING_SPACE(chan, 14);
+-              if (ret)
+-                      return ret;
+-
+               BEGIN_NV04(chan, NvSubCopy, 0x0238, 2);
+               OUT_RING  (chan, upper_32_bits(src_offset));
+               OUT_RING  (chan, upper_32_bits(dst_offset));
diff --git a/queue-3.10/i2c-i801-smbus-patch-for-intel-coleto-creek-deviceids.patch b/queue-3.10/i2c-i801-smbus-patch-for-intel-coleto-creek-deviceids.patch
new file mode 100644 (file)
index 0000000..c1a68f1
--- /dev/null
@@ -0,0 +1,68 @@
+From f39901c1befa556bc91902516a3e2e460000b4a8 Mon Sep 17 00:00:00 2001
+From: Seth Heasley <seth.heasley@intel.com>
+Date: Wed, 19 Jun 2013 16:59:57 -0700
+Subject: i2c: i801: SMBus patch for Intel Coleto Creek DeviceIDs
+
+From: Seth Heasley <seth.heasley@intel.com>
+
+commit f39901c1befa556bc91902516a3e2e460000b4a8 upstream.
+
+This patch adds the i801 SMBus Controller DeviceIDs for the Intel Coleto Creek PCH.
+
+Signed-off-by: Seth Heasley <seth.heasley@intel.com>
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+Cc: "Chan, Wei Sern" <wei.sern.chan@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ Documentation/i2c/busses/i2c-i801 |    1 +
+ drivers/i2c/busses/Kconfig        |    1 +
+ drivers/i2c/busses/i2c-i801.c     |    3 +++
+ 3 files changed, 5 insertions(+)
+
+--- a/Documentation/i2c/busses/i2c-i801
++++ b/Documentation/i2c/busses/i2c-i801
+@@ -24,6 +24,7 @@ Supported adapters:
+   * Intel Lynx Point-LP (PCH)
+   * Intel Avoton (SOC)
+   * Intel Wellsburg (PCH)
++  * Intel Coleto Creek (PCH)
+    Datasheets: Publicly available at the Intel website
+ On Intel Patsburg and later chipsets, both the normal host SMBus controller
+--- a/drivers/i2c/busses/Kconfig
++++ b/drivers/i2c/busses/Kconfig
+@@ -108,6 +108,7 @@ config I2C_I801
+           Lynx Point-LP (PCH)
+           Avoton (SOC)
+           Wellsburg (PCH)
++          Coleto Creek (PCH)
+         This driver can also be built as a module.  If so, the module
+         will be called i2c-i801.
+--- a/drivers/i2c/busses/i2c-i801.c
++++ b/drivers/i2c/busses/i2c-i801.c
+@@ -58,6 +58,7 @@
+   Wellsburg (PCH) MS    0x8d7d     32     hard     yes     yes     yes
+   Wellsburg (PCH) MS    0x8d7e     32     hard     yes     yes     yes
+   Wellsburg (PCH) MS    0x8d7f     32     hard     yes     yes     yes
++  Coleto Creek (PCH)    0x23b0     32     hard     yes     yes     yes
+   Features supported by this driver:
+   Software PEC                     no
+@@ -169,6 +170,7 @@
+ #define PCI_DEVICE_ID_INTEL_PANTHERPOINT_SMBUS        0x1e22
+ #define PCI_DEVICE_ID_INTEL_AVOTON_SMBUS      0x1f3c
+ #define PCI_DEVICE_ID_INTEL_DH89XXCC_SMBUS    0x2330
++#define PCI_DEVICE_ID_INTEL_COLETOCREEK_SMBUS 0x23b0
+ #define PCI_DEVICE_ID_INTEL_5_3400_SERIES_SMBUS       0x3b30
+ #define PCI_DEVICE_ID_INTEL_LYNXPOINT_SMBUS   0x8c22
+ #define PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS   0x8d22
+@@ -817,6 +819,7 @@ static DEFINE_PCI_DEVICE_TABLE(i801_ids)
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS0) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS1) },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_WELLSBURG_SMBUS_MS2) },
++      { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_COLETOCREEK_SMBUS) },
+       { 0, }
+ };
diff --git a/queue-3.10/i915-remove-pm_qos-request-on-error.patch b/queue-3.10/i915-remove-pm_qos-request-on-error.patch
new file mode 100644 (file)
index 0000000..510c007
--- /dev/null
@@ -0,0 +1,49 @@
+From 22accca01713b13dac386ca90b787aadf88f6551 Mon Sep 17 00:00:00 2001
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+Date: Sat, 25 Jan 2014 10:13:37 +0100
+Subject: i915: remove pm_qos request on error
+
+From: Stanislaw Gruszka <sgruszka@redhat.com>
+
+commit 22accca01713b13dac386ca90b787aadf88f6551 upstream.
+
+Not removing pm qos request and free memory for it can cause crash,
+when some other driver use pm qos. For example, this oops:
+
+BUG: unable to handle kernel paging request at fffffffffffffff8
+IP: [<ffffffff81307a6b>] plist_add+0x5b/0xd0
+Call Trace:
+ [<ffffffff810acf25>] pm_qos_update_target+0x125/0x1e0
+ [<ffffffff810ad071>] pm_qos_add_request+0x91/0x100
+ [<ffffffffa053ec14>] e1000_open+0xe4/0x5b0 [e1000e]
+
+was caused by earlier i915 probe failure:
+
+[drm:i915_report_and_clear_eir] *ERROR* EIR stuck: 0x00000010, masking
+[drm:init_ring_common] *ERROR* render ring initialization failed ctl 0001f001 head 00003004 tail 00000000 start 00003000
+[drm:i915_driver_load] *ERROR* failed to init modeset
+i915: probe of 0000:00:02.0 failed with error -5
+
+Bug report:
+http://bugzilla.redhat.com/show_bug.cgi?id=1057533
+
+Reported-by: Giandomenico De Tullio <ghisha@gmail.com>
+Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
+[danvet: Drop unnecessary code movement.]
+Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/i915_dma.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/gpu/drm/i915/i915_dma.c
++++ b/drivers/gpu/drm/i915/i915_dma.c
+@@ -1687,6 +1687,7 @@ out_gem_unload:
+       intel_teardown_gmbus(dev);
+       intel_teardown_mchbar(dev);
++      pm_qos_remove_request(&dev_priv->pm_qos);
+       destroy_workqueue(dev_priv->wq);
+ out_mtrrfree:
+       if (dev_priv->mm.gtt_mtrr >= 0) {
diff --git a/queue-3.10/mfd-lpc_ich-add-support-for-intel-avoton-soc.patch b/queue-3.10/mfd-lpc_ich-add-support-for-intel-avoton-soc.patch
new file mode 100644 (file)
index 0000000..c3d2ad5
--- /dev/null
@@ -0,0 +1,61 @@
+From 8477128fe0c3c455e9dfb1ba7ad7e6d09489d33c Mon Sep 17 00:00:00 2001
+From: James Ralston <james.d.ralston@intel.com>
+Date: Thu, 9 May 2013 12:38:53 -0700
+Subject: mfd: lpc_ich: Add support for Intel Avoton SoC
+
+From: James Ralston <james.d.ralston@intel.com>
+
+commit 8477128fe0c3c455e9dfb1ba7ad7e6d09489d33c upstream.
+
+This patch adds the LPC Controller Device IDs for Watchdog and GPIO for
+Intel Avoton SoC, to the lpc_ich driver.
+
+Signed-off-by: James Ralston <james.d.ralston@intel.com>
+Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
+Cc: "Chan, Wei Sern" <wei.sern.chan@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/mfd/lpc_ich.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/drivers/mfd/lpc_ich.c
++++ b/drivers/mfd/lpc_ich.c
+@@ -51,6 +51,7 @@
+  *    document number TBD : Lynx Point
+  *    document number TBD : Lynx Point-LP
+  *    document number TBD : Wellsburg
++ *    document number TBD : Avoton SoC
+  */
+ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+@@ -207,6 +208,7 @@ enum lpc_chipsets {
+       LPC_LPT,        /* Lynx Point */
+       LPC_LPT_LP,     /* Lynx Point-LP */
+       LPC_WBG,        /* Wellsburg */
++      LPC_AVN,        /* Avoton SoC */
+ };
+ struct lpc_ich_info lpc_chipset_info[] = {
+@@ -491,6 +493,10 @@ struct lpc_ich_info lpc_chipset_info[] =
+               .name = "Wellsburg",
+               .iTCO_version = 2,
+       },
++      [LPC_AVN] = {
++              .name = "Avoton SoC",
++              .iTCO_version = 1,
++      },
+ };
+ /*
+@@ -704,6 +710,10 @@ static DEFINE_PCI_DEVICE_TABLE(lpc_ich_i
+       { PCI_VDEVICE(INTEL, 0x8d5d), LPC_WBG},
+       { PCI_VDEVICE(INTEL, 0x8d5e), LPC_WBG},
+       { PCI_VDEVICE(INTEL, 0x8d5f), LPC_WBG},
++      { PCI_VDEVICE(INTEL, 0x1f38), LPC_AVN},
++      { PCI_VDEVICE(INTEL, 0x1f39), LPC_AVN},
++      { PCI_VDEVICE(INTEL, 0x1f3a), LPC_AVN},
++      { PCI_VDEVICE(INTEL, 0x1f3b), LPC_AVN},
+       { 0, },                 /* End of list */
+ };
+ MODULE_DEVICE_TABLE(pci, lpc_ich_ids);
diff --git a/queue-3.10/mfd-lpc_ich-itco_wdt-patch-for-intel-coleto-creek-deviceids.patch b/queue-3.10/mfd-lpc_ich-itco_wdt-patch-for-intel-coleto-creek-deviceids.patch
new file mode 100644 (file)
index 0000000..c256188
--- /dev/null
@@ -0,0 +1,58 @@
+From 283aae8ab88e695a660c610d6535ca44bc5b8835 Mon Sep 17 00:00:00 2001
+From: Seth Heasley <seth.heasley@intel.com>
+Date: Wed, 19 Jun 2013 17:04:25 -0700
+Subject: mfd: lpc_ich: iTCO_wdt patch for Intel Coleto Creek DeviceIDs
+
+From: Seth Heasley <seth.heasley@intel.com>
+
+commit 283aae8ab88e695a660c610d6535ca44bc5b8835 upstream.
+
+This patch adds the LPC Controller DeviceIDs for iTCO Watchdog for
+the Intel Coleto Creek PCH.
+
+Signed-off-by: Seth Heasley <seth.heasley@intel.com>
+Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
+Cc: "Chan, Wei Sern" <wei.sern.chan@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/mfd/lpc_ich.c |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/mfd/lpc_ich.c
++++ b/drivers/mfd/lpc_ich.c
+@@ -52,6 +52,7 @@
+  *    document number TBD : Lynx Point-LP
+  *    document number TBD : Wellsburg
+  *    document number TBD : Avoton SoC
++ *    document number TBD : Coleto Creek
+  */
+ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+@@ -209,6 +210,7 @@ enum lpc_chipsets {
+       LPC_LPT_LP,     /* Lynx Point-LP */
+       LPC_WBG,        /* Wellsburg */
+       LPC_AVN,        /* Avoton SoC */
++      LPC_COLETO,     /* Coleto Creek */
+ };
+ struct lpc_ich_info lpc_chipset_info[] = {
+@@ -497,6 +499,10 @@ struct lpc_ich_info lpc_chipset_info[] =
+               .name = "Avoton SoC",
+               .iTCO_version = 1,
+       },
++      [LPC_COLETO] = {
++              .name = "Coleto Creek",
++              .iTCO_version = 2,
++      },
+ };
+ /*
+@@ -714,6 +720,7 @@ static DEFINE_PCI_DEVICE_TABLE(lpc_ich_i
+       { PCI_VDEVICE(INTEL, 0x1f39), LPC_AVN},
+       { PCI_VDEVICE(INTEL, 0x1f3a), LPC_AVN},
+       { PCI_VDEVICE(INTEL, 0x1f3b), LPC_AVN},
++      { PCI_VDEVICE(INTEL, 0x2390), LPC_COLETO},
+       { 0, },                 /* End of list */
+ };
+ MODULE_DEVICE_TABLE(pci, lpc_ich_ids);
index 6aee1b6e32ed2d4bd08d7b989b74464617fc4a56..7db15cc6ceb915ea07c97d09113c263ce349c87b 100644 (file)
@@ -56,3 +56,13 @@ drm-radeon-set-the-full-cache-bit-for-fences-on-r7xx.patch
 drm-radeon-fix-dac-interrupt-handling-on-dce5.patch
 drm-radeon-dce4-clear-bios-scratch-dpms-bit-v2.patch
 dm-sysfs-fix-a-module-unload-race.patch
+drm-nouveau-fix-m2mf-copy-to-tiled-gart.patch
+drm-i915-flush-outstanding-requests-before-allocating-new-seqno.patch
+drm-i915-fix-the-offset-issue-for-the-stolen-gem-objects.patch
+drm-i915-vlv2-fix-hotplug-detect-bits.patch
+i915-remove-pm_qos-request-on-error.patch
+drm-cirrus-correct-register-values-for-16bpp.patch
+drm-mgag200-fix-typo-causing-bw-limits-to-be-ignored-on-some-chips.patch
+mfd-lpc_ich-add-support-for-intel-avoton-soc.patch
+mfd-lpc_ich-itco_wdt-patch-for-intel-coleto-creek-deviceids.patch
+i2c-i801-smbus-patch-for-intel-coleto-creek-deviceids.patch