]> git.pld-linux.org Git - packages/kernel.git/commitdiff
- removed patches applied upstream
authorwrobell <wrobell@pld-linux.org>
Tue, 31 May 2011 22:57:53 +0000 (22:57 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    ipset-netlink.patch -> 1.2
    kernel-drm-intel-2011Q1.patch -> 1.2
    kernel-warnings.patch -> 1.5

ipset-netlink.patch [deleted file]
kernel-drm-intel-2011Q1.patch [deleted file]
kernel-warnings.patch [deleted file]

diff --git a/ipset-netlink.patch b/ipset-netlink.patch
deleted file mode 100644 (file)
index 2bb9cca..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/include/linux/netfilter/nfnetlink.h b/include/linux/netfilter/nfnetlink.h
-index 361d6b5..2b11fc1 100644
---- a/include/linux/netfilter/nfnetlink.h
-+++ b/include/linux/netfilter/nfnetlink.h
-@@ -47,7 +47,8 @@ struct nfgenmsg {
- #define NFNL_SUBSYS_QUEUE             3
- #define NFNL_SUBSYS_ULOG              4
- #define NFNL_SUBSYS_OSF                       5
--#define NFNL_SUBSYS_COUNT             6
-+#define NFNL_SUBSYS_IPSET             6
-+#define NFNL_SUBSYS_COUNT             7
- #ifdef __KERNEL__
-diff --git a/include/net/netlink.h b/include/net/netlink.h
-index 373f1a9..8a3906a 100644
---- a/include/net/netlink.h
-+++ b/include/net/netlink.h
-@@ -856,18 +856,27 @@ static inline int nla_put_msecs(struct sk_buff *skb, int attrtype,
- #define NLA_PUT_BE16(skb, attrtype, value) \
-       NLA_PUT_TYPE(skb, __be16, attrtype, value)
-+#define NLA_PUT_NET16(skb, attrtype, value) \
-+      NLA_PUT_BE16(skb, attrtype | NLA_F_NET_BYTEORDER, value)
-+
- #define NLA_PUT_U32(skb, attrtype, value) \
-       NLA_PUT_TYPE(skb, u32, attrtype, value)
- #define NLA_PUT_BE32(skb, attrtype, value) \
-       NLA_PUT_TYPE(skb, __be32, attrtype, value)
-+#define NLA_PUT_NET32(skb, attrtype, value) \
-+      NLA_PUT_BE32(skb, attrtype | NLA_F_NET_BYTEORDER, value)
-+
- #define NLA_PUT_U64(skb, attrtype, value) \
-       NLA_PUT_TYPE(skb, u64, attrtype, value)
- #define NLA_PUT_BE64(skb, attrtype, value) \
-       NLA_PUT_TYPE(skb, __be64, attrtype, value)
-+#define NLA_PUT_NET64(skb, attrtype, value) \
-+      NLA_PUT_BE64(skb, attrtype | NLA_F_NET_BYTEORDER, value)
-+
- #define NLA_PUT_STRING(skb, attrtype, value) \
-       NLA_PUT(skb, attrtype, strlen(value) + 1, value)
-
diff --git a/kernel-drm-intel-2011Q1.patch b/kernel-drm-intel-2011Q1.patch
deleted file mode 100644 (file)
index 73ec678..0000000
+++ /dev/null
@@ -1,531 +0,0 @@
-commit c94249d2a6911daf74f329e05c42e076af2cd024
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Thu Mar 24 20:34:41 2011 +0000
-
-    drm/i915: Enable GPU semaphores by default
-    
-    It looks like we have fixed the underlying bugs, so enable GPU
-    semaphores by default again.
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index 22ec066..b1fbb09 100644
---- a/drivers/gpu/drm/i915/i915_drv.c
-+++ b/drivers/gpu/drm/i915/i915_drv.c
-@@ -46,7 +46,7 @@ module_param_named(fbpercrtc, i915_fbpercrtc, int, 0400);
- unsigned int i915_powersave = 1;
- module_param_named(powersave, i915_powersave, int, 0600);
--unsigned int i915_semaphores = 0;
-+unsigned int i915_semaphores = 1;
- module_param_named(semaphores, i915_semaphores, int, 0600);
- unsigned int i915_enable_rc6 = 0;
-
-commit 8d6eefa3e760be5cfb71ae11ce1714fd8b26801a
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Sun Mar 20 21:09:12 2011 +0000
-
-    drm/i915: Avoid unmapping pages from a NULL address space
-    
-    Found by gem_stress.
-    
-    As we perform retirement from a workqueue, it is possible for us to free
-    and unbind objects after the last close on the device, and so after the
-    address space has been torn down and reset to NULL:
-    
-    BUG: unable to handle kernel NULL pointer dereference at 00000054
-    IP: [<c1295a20>] mutex_lock+0xf/0x27
-    *pde = 00000000
-    Oops: 0002 [#1] SMP
-    last sysfs file: /sys/module/vt/parameters/default_utf8
-    
-    Pid: 5, comm: kworker/u:0 Not tainted 2.6.38+ #214
-    EIP: 0060:[<c1295a20>] EFLAGS: 00010206 CPU: 1
-    EIP is at mutex_lock+0xf/0x27
-    EAX: 00000054 EBX: 00000054 ECX: 00000000 EDX: 00012fff
-    ESI: 00000028 EDI: 00000000 EBP: f706fe20 ESP: f706fe18
-     DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
-    Process kworker/u:0 (pid: 5, ti=f706e000 task=f7060d00 task.ti=f706e000)
-    Stack:
-     f5aa3c60 00000000 f706fe74 c107e7df 00000246 dea55380 00000054 f5aa3c60
-     f706fe44 00000061 f70b4000 c13fff84 00000008 f706fe54 00000000 00000000
-     00012f00 00012fff 00000028 c109e575 f6b36700 00100000 00000000 f706fe90
-    Call Trace:
-     [<c107e7df>] unmap_mapping_range+0x7d/0x1e6
-     [<c109e575>] ? mntput_no_expire+0x52/0xb6
-     [<c11c12f6>] i915_gem_release_mmap+0x49/0x58
-     [<c11c3449>] i915_gem_object_unbind+0x4c/0x125
-     [<c11c353f>] i915_gem_free_object_tail+0x1d/0xdb
-     [<c11c55a2>] i915_gem_free_object+0x3d/0x41
-     [<c11a6be2>] ? drm_gem_object_free+0x0/0x27
-     [<c11a6c07>] drm_gem_object_free+0x25/0x27
-     [<c113c3ca>] kref_put+0x39/0x42
-     [<c11c0a59>] drm_gem_object_unreference+0x16/0x18
-     [<c11c0b15>] i915_gem_object_move_to_inactive+0xba/0xbe
-     [<c11c0c87>] i915_gem_retire_requests_ring+0x16e/0x1a5
-     [<c11c3645>] i915_gem_retire_requests+0x48/0x63
-     [<c11c36ac>] i915_gem_retire_work_handler+0x4c/0x117
-     [<c10385d1>] process_one_work+0x140/0x21b
-     [<c103734c>] ? __need_more_worker+0x13/0x2a
-     [<c10373b1>] ? need_to_create_worker+0x1c/0x35
-     [<c11c3660>] ? i915_gem_retire_work_handler+0x0/0x117
-     [<c1038faf>] worker_thread+0xd4/0x14b
-     [<c1038edb>] ? worker_thread+0x0/0x14b
-     [<c103be1b>] kthread+0x68/0x6d
-     [<c103bdb3>] ? kthread+0x0/0x6d
-     [<c12970f6>] kernel_thread_helper+0x6/0x10
-    Code: 00 e8 98 fe ff ff 5d c3 55 89 e5 3e 8d 74 26 00 ba 01 00 00 00 e8
-    84 fe ff ff 5d c3 55 89 e5 53 8d 64 24 fc 3e 8d 74 26 00 89 c3 <f0> ff
-    08 79 05 e8 ab ff ff ff 89 e0 25 00 e0 ff ff 89 43 10 58
-    EIP: [<c1295a20>] mutex_lock+0xf/0x27 SS:ESP 0068:f706fe18
-    CR2: 0000000000000054
-    
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 882a82f..6c435a3 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -1321,9 +1321,10 @@ i915_gem_release_mmap(struct drm_i915_gem_object *obj)
-       if (!obj->fault_mappable)
-               return;
--      unmap_mapping_range(obj->base.dev->dev_mapping,
--                          (loff_t)obj->base.map_list.hash.key<<PAGE_SHIFT,
--                          obj->base.size, 1);
-+      if (obj->base.dev->dev_mapping)
-+              unmap_mapping_range(obj->base.dev->dev_mapping,
-+                                  (loff_t)obj->base.map_list.hash.key<<PAGE_SHIFT,
-+                                  obj->base.size, 1);
-       obj->fault_mappable = false;
- }
-
-commit ca5b7809a236b337c2b51ed30660ab92052fe648
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Wed Mar 23 08:26:43 2011 +0000
-
-    drm/i915: Restore missing command flush before interrupt on BLT ring
-    
-    We always skipped flushing the BLT ring if the request flush did not
-    include the RENDER domain. However, this neglects that we try to flush
-    the COMMAND domain after every batch and before the breadcrumb interrupt
-    (to make sure the batch is indeed completed prior to the interrupt
-    firing and so insuring CPU coherency). As a result of the missing flush,
-    incoherency did indeed creep in, most notable when using lots of command
-    buffers and so potentially rewritting an active command buffer (i.e.
-    the GPU was still executing from it even though the following interrupt
-    had already fired and the request/buffer retired).
-    
-    As all ring->flush routines now have the same preconditions, de-duplicate
-    and move those checks up into i915_gem_flush_ring().
-    
-    Fixes gem_linear_blit.
-    
-    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35284
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-    Tested-by: mengmeng.meng@intel.com
-    [ickle: backported to 2.6.38]
-    
-    Conflicts:
-    
-       drivers/gpu/drm/i915/i915_gem.c
-       drivers/gpu/drm/i915/intel_ringbuffer.c
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 07cd0a3..882a82f 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -1669,9 +1669,8 @@ i915_gem_object_is_purgeable(struct drm_i915_gem_object *obj)
- }
- static void
--i915_gem_process_flushing_list(struct drm_device *dev,
--                             uint32_t flush_domains,
--                             struct intel_ring_buffer *ring)
-+i915_gem_process_flushing_list(struct intel_ring_buffer *ring,
-+                             uint32_t flush_domains)
- {
-       struct drm_i915_gem_object *obj, *next;
-@@ -1684,7 +1683,7 @@ i915_gem_process_flushing_list(struct drm_device *dev,
-                       obj->base.write_domain = 0;
-                       list_del_init(&obj->gpu_write_list);
-                       i915_gem_object_move_to_active(obj, ring,
--                                                     i915_gem_next_request_seqno(dev, ring));
-+                                                     i915_gem_next_request_seqno(ring->dev, ring));
-                       trace_i915_gem_object_change_domain(obj,
-                                                           obj->base.read_domains,
-@@ -2178,11 +2177,16 @@ i915_gem_flush_ring(struct drm_device *dev,
- {
-       int ret;
-+      if (((invalidate_domains | flush_domains) & I915_GEM_GPU_DOMAINS) == 0)
-+              return 0;
-+
-       ret = ring->flush(ring, invalidate_domains, flush_domains);
-       if (ret)
-               return ret;
--      i915_gem_process_flushing_list(dev, flush_domains, ring);
-+      if (flush_domains & I915_GEM_GPU_DOMAINS)
-+              i915_gem_process_flushing_list(ring, flush_domains);
-+
-       return 0;
- }
-diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
-index 445f27e..9fde32e 100644
---- a/drivers/gpu/drm/i915/intel_ringbuffer.c
-+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
-@@ -62,77 +62,63 @@ render_ring_flush(struct intel_ring_buffer *ring,
-                 u32   flush_domains)
- {
-       struct drm_device *dev = ring->dev;
--      drm_i915_private_t *dev_priv = dev->dev_private;
-       u32 cmd;
-       int ret;
--#if WATCH_EXEC
--      DRM_INFO("%s: invalidate %08x flush %08x\n", __func__,
--                invalidate_domains, flush_domains);
--#endif
--
--      trace_i915_gem_request_flush(dev, dev_priv->next_seqno,
--                                   invalidate_domains, flush_domains);
-+      /*
-+       * read/write caches:
-+       *
-+       * I915_GEM_DOMAIN_RENDER is always invalidated, but is
-+       * only flushed if MI_NO_WRITE_FLUSH is unset.  On 965, it is
-+       * also flushed at 2d versus 3d pipeline switches.
-+       *
-+       * read-only caches:
-+       *
-+       * I915_GEM_DOMAIN_SAMPLER is flushed on pre-965 if
-+       * MI_READ_FLUSH is set, and is always flushed on 965.
-+       *
-+       * I915_GEM_DOMAIN_COMMAND may not exist?
-+       *
-+       * I915_GEM_DOMAIN_INSTRUCTION, which exists on 965, is
-+       * invalidated when MI_EXE_FLUSH is set.
-+       *
-+       * I915_GEM_DOMAIN_VERTEX, which exists on 965, is
-+       * invalidated with every MI_FLUSH.
-+       *
-+       * TLBs:
-+       *
-+       * On 965, TLBs associated with I915_GEM_DOMAIN_COMMAND
-+       * and I915_GEM_DOMAIN_CPU in are invalidated at PTE write and
-+       * I915_GEM_DOMAIN_RENDER and I915_GEM_DOMAIN_SAMPLER
-+       * are flushed at any MI_FLUSH.
-+       */
--      if ((invalidate_domains | flush_domains) & I915_GEM_GPU_DOMAINS) {
-+      cmd = MI_FLUSH | MI_NO_WRITE_FLUSH;
-+      if ((invalidate_domains|flush_domains) &
-+          I915_GEM_DOMAIN_RENDER)
-+              cmd &= ~MI_NO_WRITE_FLUSH;
-+      if (INTEL_INFO(dev)->gen < 4) {
-               /*
--               * read/write caches:
--               *
--               * I915_GEM_DOMAIN_RENDER is always invalidated, but is
--               * only flushed if MI_NO_WRITE_FLUSH is unset.  On 965, it is
--               * also flushed at 2d versus 3d pipeline switches.
--               *
--               * read-only caches:
--               *
--               * I915_GEM_DOMAIN_SAMPLER is flushed on pre-965 if
--               * MI_READ_FLUSH is set, and is always flushed on 965.
--               *
--               * I915_GEM_DOMAIN_COMMAND may not exist?
--               *
--               * I915_GEM_DOMAIN_INSTRUCTION, which exists on 965, is
--               * invalidated when MI_EXE_FLUSH is set.
--               *
--               * I915_GEM_DOMAIN_VERTEX, which exists on 965, is
--               * invalidated with every MI_FLUSH.
--               *
--               * TLBs:
--               *
--               * On 965, TLBs associated with I915_GEM_DOMAIN_COMMAND
--               * and I915_GEM_DOMAIN_CPU in are invalidated at PTE write and
--               * I915_GEM_DOMAIN_RENDER and I915_GEM_DOMAIN_SAMPLER
--               * are flushed at any MI_FLUSH.
-+               * On the 965, the sampler cache always gets flushed
-+               * and this bit is reserved.
-                */
-+              if (invalidate_domains & I915_GEM_DOMAIN_SAMPLER)
-+                      cmd |= MI_READ_FLUSH;
-+      }
-+      if (invalidate_domains & I915_GEM_DOMAIN_INSTRUCTION)
-+              cmd |= MI_EXE_FLUSH;
--              cmd = MI_FLUSH | MI_NO_WRITE_FLUSH;
--              if ((invalidate_domains|flush_domains) &
--                  I915_GEM_DOMAIN_RENDER)
--                      cmd &= ~MI_NO_WRITE_FLUSH;
--              if (INTEL_INFO(dev)->gen < 4) {
--                      /*
--                       * On the 965, the sampler cache always gets flushed
--                       * and this bit is reserved.
--                       */
--                      if (invalidate_domains & I915_GEM_DOMAIN_SAMPLER)
--                              cmd |= MI_READ_FLUSH;
--              }
--              if (invalidate_domains & I915_GEM_DOMAIN_INSTRUCTION)
--                      cmd |= MI_EXE_FLUSH;
--
--              if (invalidate_domains & I915_GEM_DOMAIN_COMMAND &&
--                  (IS_G4X(dev) || IS_GEN5(dev)))
--                      cmd |= MI_INVALIDATE_ISP;
-+      if (invalidate_domains & I915_GEM_DOMAIN_COMMAND &&
-+          (IS_G4X(dev) || IS_GEN5(dev)))
-+              cmd |= MI_INVALIDATE_ISP;
--#if WATCH_EXEC
--              DRM_INFO("%s: queue flush %08x to ring\n", __func__, cmd);
--#endif
--              ret = intel_ring_begin(ring, 2);
--              if (ret)
--                      return ret;
-+      ret = intel_ring_begin(ring, 2);
-+      if (ret)
-+              return ret;
--              intel_ring_emit(ring, cmd);
--              intel_ring_emit(ring, MI_NOOP);
--              intel_ring_advance(ring);
--      }
-+      intel_ring_emit(ring, cmd);
-+      intel_ring_emit(ring, MI_NOOP);
-+      intel_ring_advance(ring);
-       return 0;
- }
-@@ -580,9 +566,6 @@ bsd_ring_flush(struct intel_ring_buffer *ring,
- {
-       int ret;
--      if ((flush_domains & I915_GEM_DOMAIN_RENDER) == 0)
--              return 0;
--
-       ret = intel_ring_begin(ring, 2);
-       if (ret)
-               return ret;
-@@ -1064,9 +1047,6 @@ static int gen6_ring_flush(struct intel_ring_buffer *ring,
-       uint32_t cmd;
-       int ret;
--      if (((invalidate | flush) & I915_GEM_GPU_DOMAINS) == 0)
--              return 0;
--
-       ret = intel_ring_begin(ring, 4);
-       if (ret)
-               return ret;
-@@ -1238,9 +1218,6 @@ static int blt_ring_flush(struct intel_ring_buffer *ring,
-       uint32_t cmd;
-       int ret;
--      if (((invalidate | flush) & I915_GEM_DOMAIN_RENDER) == 0)
--              return 0;
--
-       ret = blt_ring_begin(ring, 4);
-       if (ret)
-               return ret;
-
-commit fc33e71579d6c1faf3326a94f5f6d1ffad47ecdd
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Sat Feb 12 10:33:12 2011 +0000
-
-    drm/i915/dp: Sanity check eDP existence
-    
-    Some hardware claims to have both an LVDS panel and an eDP output.
-    Whilst this may be true in a rare case, more often it is just broken
-    hardware. If we see an eDP device we know that it must be connected and
-    so we can confirm its existence with a simple probe.
-    
-    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34165
-    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=24822
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-
-diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 51cb4e3..27e2088 100644
---- a/drivers/gpu/drm/i915/intel_dp.c
-+++ b/drivers/gpu/drm/i915/intel_dp.c
-@@ -1917,7 +1917,11 @@ intel_dp_init(struct drm_device *dev, int output_reg)
-                               dev_priv->no_aux_handshake = intel_dp->dpcd[3] &
-                                       DP_NO_AUX_HANDSHAKE_LINK_TRAINING;
-               } else {
--                      DRM_ERROR("failed to retrieve link info\n");
-+                      /* if this fails, presume the device is a ghost */
-+                      DRM_INFO("failed to retrieve link info, disabling eDP\n");
-+                      intel_dp_encoder_destroy(&intel_dp->base.base);
-+                      intel_dp_destroy(&intel_connector->base);
-+                      return;
-               }
-               if (!was_on)
-                       ironlake_edp_panel_off(dev);
-
-commit 1c9fa75a74b584952ef406291e99a48a9d1476fd
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Tue Mar 15 11:04:41 2011 +0000
-
-    drm: Retry i2c transfer of EDID block after failure
-    
-    Usually EDID retrieval is fine. However, sometimes, especially when the
-    machine is loaded, it fails, but succeeds after a few retries.
-    
-    Based on a patch by Michael Buesch.
-    
-    Reported-by: Michael Buesch <mb@bu3sch.de>
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-    Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
-    Signed-off-by: Dave Airlie <airlied@redhat.com>
-
-diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index a245d17..ddc3da9 100644
---- a/drivers/gpu/drm/drm_edid.c
-+++ b/drivers/gpu/drm/drm_edid.c
-@@ -230,24 +230,32 @@ drm_do_probe_ddc_edid(struct i2c_adapter *adapter, unsigned char *buf,
-                     int block, int len)
- {
-       unsigned char start = block * EDID_LENGTH;
--      struct i2c_msg msgs[] = {
--              {
--                      .addr   = DDC_ADDR,
--                      .flags  = 0,
--                      .len    = 1,
--                      .buf    = &start,
--              }, {
--                      .addr   = DDC_ADDR,
--                      .flags  = I2C_M_RD,
--                      .len    = len,
--                      .buf    = buf,
--              }
--      };
-+      int ret, retries = 5;
--      if (i2c_transfer(adapter, msgs, 2) == 2)
--              return 0;
-+      /* The core i2c driver will automatically retry the transfer if the
-+       * adapter reports EAGAIN. However, we find that bit-banging transfers
-+       * are susceptible to errors under a heavily loaded machine and
-+       * generate spurious NAKs and timeouts. Retrying the transfer
-+       * of the individual block a few times seems to overcome this.
-+       */
-+      do {
-+              struct i2c_msg msgs[] = {
-+                      {
-+                              .addr   = DDC_ADDR,
-+                              .flags  = 0,
-+                              .len    = 1,
-+                              .buf    = &start,
-+                      }, {
-+                              .addr   = DDC_ADDR,
-+                              .flags  = I2C_M_RD,
-+                              .len    = len,
-+                              .buf    = buf,
-+                      }
-+              };
-+              ret = i2c_transfer(adapter, msgs, 2);
-+      } while (ret != 2 && --retries);
--      return -1;
-+      return ret == 2 ? 0 : -1;
- }
- static u8 *
-
-commit f48629cff5bf3a0df923ce0314ace584212afbe7
-Author: Chris Wilson <chris@chris-wilson.co.uk>
-Date:   Thu Mar 17 15:23:22 2011 +0000
-
-    drm/i915: Fix tiling corruption from pipelined fencing
-    
-    ... even though it was disabled. A mistake in the handling of fence reuse
-    caused us to skip the vital delay of waiting for the object to finish
-    rendering before changing the register. This resulted in us changing the
-    fence register whilst the bo was active and so causing the blits to
-    complete using the wrong stride or even the wrong tiling. (Visually the
-    effect is that small blocks of the screen look like they have been
-    interlaced). The fix is to wait for the GPU to finish using the memory
-    region pointed to by the fence before changing it.
-    
-    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34584
-    Cc: Andy Whitcroft <apw@canonical.com>
-    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
-    Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-    [Note for 2.6.38-stable, we need to reintroduce the interruptible passing]
-    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-    Tested-by: Dave Airlie <airlied@linux.ie>
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 36e66cc..10378a3 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -2544,8 +2544,25 @@ i915_gem_object_get_fence(struct drm_i915_gem_object *obj,
-               reg = &dev_priv->fence_regs[obj->fence_reg];
-               list_move_tail(&reg->lru_list, &dev_priv->mm.fence_list);
--              if (!obj->fenced_gpu_access && !obj->last_fenced_seqno)
--                      pipelined = NULL;
-+              if (obj->tiling_changed) {
-+                      ret = i915_gem_object_flush_fence(obj,
-+                                                        pipelined,
-+                                                        interruptible);
-+                      if (ret)
-+                              return ret;
-+
-+                      if (!obj->fenced_gpu_access && !obj->last_fenced_seqno)
-+                              pipelined = NULL;
-+
-+                      if (pipelined) {
-+                              reg->setup_seqno =
-+                                      i915_gem_next_request_seqno(dev, pipelined);
-+                              obj->last_fenced_seqno = reg->setup_seqno;
-+                              obj->last_fenced_ring = pipelined;
-+                      }
-+
-+                      goto update;
-+              }
-               if (!pipelined) {
-                       if (reg->setup_seqno) {
-@@ -2568,31 +2585,6 @@ i915_gem_object_get_fence(struct drm_i915_gem_object *obj,
-                                                         interruptible);
-                       if (ret)
-                               return ret;
--              } else if (obj->tiling_changed) {
--                      if (obj->fenced_gpu_access) {
--                              if (obj->base.write_domain & I915_GEM_GPU_DOMAINS) {
--                                      ret = i915_gem_flush_ring(obj->base.dev, obj->ring,
--                                                                0, obj->base.write_domain);
--                                      if (ret)
--                                              return ret;
--                              }
--
--                              obj->fenced_gpu_access = false;
--                      }
--              }
--
--              if (!obj->fenced_gpu_access && !obj->last_fenced_seqno)
--                      pipelined = NULL;
--              BUG_ON(!pipelined && reg->setup_seqno);
--
--              if (obj->tiling_changed) {
--                      if (pipelined) {
--                              reg->setup_seqno =
--                                      i915_gem_next_request_seqno(dev, pipelined);
--                              obj->last_fenced_seqno = reg->setup_seqno;
--                              obj->last_fenced_ring = pipelined;
--                      }
--                      goto update;
-               }
-               return 0;
diff --git a/kernel-warnings.patch b/kernel-warnings.patch
deleted file mode 100644 (file)
index f10dcc7..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
---- linux-2.6.20/arch/powerpc/kernel/prom_init.c~      2007-02-04 19:44:54.000000000 +0100
-+++ linux-2.6.20/arch/powerpc/kernel/prom_init.c       2007-04-10 01:59:33.712570500 +0200
-@@ -429,14 +429,14 @@
-       }
- }
--static int inline prom_getprop(phandle node, const char *pname,
-+static inline int prom_getprop(phandle node, const char *pname,
-                              void *value, size_t valuelen)
- {
-       return call_prom("getprop", 4, 1, node, ADDR(pname),
-                        (u32)(unsigned long) value, (u32) valuelen);
- }
--static int inline prom_getproplen(phandle node, const char *pname)
-+static inline int prom_getproplen(phandle node, const char *pname)
- {
-       return call_prom("getproplen", 2, 1, node, ADDR(pname));
- }
---- linux-2.6.24-rc8/fs/ocfs2/dir.c.org        2008-01-23 08:32:50.134566450 +0100
-+++ linux-2.6.24-rc8/fs/ocfs2/dir.c    2008-01-23 08:32:57.441604337 +0100
-@@ -126,7 +126,7 @@
- /*
-  * Returns 0 if not found, -1 on failure, and 1 on success
-  */
--static int inline ocfs2_search_dirblock(struct buffer_head *bh,
-+static inline int ocfs2_search_dirblock(struct buffer_head *bh,
-                                       struct inode *dir,
-                                       const char *name, int namelen,
-                                       unsigned long offset,
---- linux-2.6.20/drivers/media/video/cx88/cx88.h~      2007-04-10 01:58:14.000000000 +0200
-+++ linux-2.6.20/drivers/media/video/cx88/cx88.h       2007-04-10 02:17:05.442299500 +0200
-@@ -89,13 +89,13 @@
- /* ----------------------------------------------------------- */
- /* tv norms                                                    */
--static unsigned int inline norm_maxw(v4l2_std_id norm)
-+static inline unsigned int norm_maxw(v4l2_std_id norm)
- {
-       return (norm & (V4L2_STD_MN & ~V4L2_STD_PAL_Nc)) ? 720 : 768;
- }
--static unsigned int inline norm_maxh(v4l2_std_id norm)
-+static inline unsigned int norm_maxh(v4l2_std_id norm)
- {
-       return (norm & V4L2_STD_625_50) ? 576 : 480;
- }
---- linux-2.6.20/drivers/isdn/hardware/eicon/platform.h~       2007-02-04 19:44:54.000000000 +0100
-+++ linux-2.6.20/drivers/isdn/hardware/eicon/platform.h        2007-04-10 02:20:13.490051750 +0200
-@@ -219,7 +219,7 @@
- /*
- **  I/O Port utilities
- */
--int diva_os_register_io_port (void *adapter, int register, unsigned long port,
-+int diva_os_register_io_port (void *adapter, register int, unsigned long port,
-                               unsigned long length, const char* name, int id);
- /*
- **  I/O port access abstraction
-@@ -287,13 +287,13 @@
- **  atomic operation, fake because we use threads
- */
- typedef int diva_os_atomic_t;
--static diva_os_atomic_t __inline__
-+static __inline__ diva_os_atomic_t
- diva_os_atomic_increment(diva_os_atomic_t* pv)
- {
-   *pv += 1;
-   return (*pv);
- }
--static diva_os_atomic_t __inline__
-+static __inline__ diva_os_atomic_t
- diva_os_atomic_decrement(diva_os_atomic_t* pv)
- {
-   *pv -= 1;
This page took 0.084782 seconds and 4 git commands to generate.