[kernel] r19957 - in dists/sid/linux/debian: . patches patches/bugfix/all patches/bugfix/powerpc patches/bugfix/s390 patches/bugfix/x86 patches/features/all/drm

Ben Hutchings benh at alioth.debian.org
Sun Mar 31 05:16:08 UTC 2013


Author: benh
Date: Sun Mar 31 05:16:07 2013
New Revision: 19957

Log:
Update to 3.2.42; drm, agp: Update to 3.4.38

Deleted:
   dists/sid/linux/debian/patches/bugfix/all/dcbnl-fix-various-netlink-info-leaks.patch
   dists/sid/linux/debian/patches/bugfix/all/efi_pstore-Introducing-workqueue-updating-sysfs.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-Add-module-parameter-to-disable-use-as-a-pst.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-Allow-disabling-use-as-a-pstore-backend.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-Fix-check-for-CONFIG_EFI_VARS_PSTORE_DEFAULT.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-Handle-duplicate-names-from-get_next_variabl.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-explicitly-calculate-length-of-VariableName.patch
   dists/sid/linux/debian/patches/bugfix/all/efivars-pstore-do-not-check-size-when-erasing-variable.patch
   dists/sid/linux/debian/patches/bugfix/all/i915-initialize-CADL-in-opregion.patch
   dists/sid/linux/debian/patches/bugfix/all/isofs-avoid-info-leak-on-export.patch
   dists/sid/linux/debian/patches/bugfix/all/kernel-signal.c-use-__ARCH_HAS_SA_RESTORER-instead-o.patch
   dists/sid/linux/debian/patches/bugfix/all/rds-limit-the-size-allocated-by-rds_message_alloc.patch
   dists/sid/linux/debian/patches/bugfix/all/rtnl-fix-info-leak-on-rtm_getlink-request-for-vf-devices.patch
   dists/sid/linux/debian/patches/bugfix/all/signal-fix-use-of-missing-sa_restorer-field.patch
   dists/sid/linux/debian/patches/bugfix/all/udf-avoid-info-leak-on-export.patch
   dists/sid/linux/debian/patches/bugfix/all/vhost-net-fix-heads-usage-of-ubuf_info.patch
   dists/sid/linux/debian/patches/bugfix/powerpc/powerpc-fix-cputable-entry-for-970mp-rev-1.0.patch
   dists/sid/linux/debian/patches/bugfix/s390/s390-mm-fix-flush_tlb_kernel_range.patch
   dists/sid/linux/debian/patches/bugfix/x86/drm-i915-bounds-check-execbuffer-relocation-count.patch
Modified:
   dists/sid/linux/debian/changelog
   dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch
   dists/sid/linux/debian/patches/series

Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog	Sun Mar 31 03:53:40 2013	(r19956)
+++ dists/sid/linux/debian/changelog	Sun Mar 31 05:16:07 2013	(r19957)
@@ -1,8 +1,38 @@
-linux (3.2.41-3) UNRELEASED; urgency=low
+linux (3.2.42-1) UNRELEASED; urgency=low
 
+  * New upstream stable update:
+    http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.42
+    - TTY: do not reset master's packet mode
+    - l2tp: Restore socket refcount when sendmsg succeeds
+    - tun: add a missing nf_reset() in tun_net_xmit()
+    - netlabel: correctly list all the static label mappings
+    - sctp: Use correct sideffect command in duplicate cookie handling
+    - inet: limit length of fragment queue hash table bucket lists
+    - sfc: Properly sync RX DMA buffer when it is not the last in the page
+    - sfc: Fix efx_rx_buf_offset() in the presence of swiotlb
+    - sfc: Only use TX push if a single descriptor is to be written
+    - ext4: fix the wrong number of the allocated blocks in ext4_split_extent()
+    - jbd2: fix use after free in jbd2_journal_dirty_metadata()
+    - ext4: convert number of blocks to clusters properly
+    - ext4: use atomic64_t for the per-flexbg free_clusters count
+    - cifs: delay super block destruction until all cifsFileInfo objects are
+      gone
+    - USB: xhci: correctly enable interrupts (possibly fix for #703470)
+    - [amd64] Fix the failure case in copy_user_handle_tail()
+    - dm thin: fix discard corruption
+    - USB: serial: fix interface refcounting
+    - vfs,proc: guarantee unique inodes in /proc
+
+  [ Ben Hutchings ]
   * Input: MT: add tracking and frame synchronisation to core
   * Input: add support for Cypress PS/2 Trackpads (Closes: #703607),
     thanks to Apollon Oikonomopoulos
+  * drm, agp: Update to 3.4.38:  
+    - drm/i915: restrict kernel address leak in debugfs
+    - KMS: fix EDID detailed timing vsync parsing
+    - KMS: fix EDID detailed timing frame rate
+    - drm/radeon: add support for Richland APUs
+    - drm/radeon/benchmark: make sure bo blit copy exists before using it
 
  -- Ben Hutchings <ben at decadent.org.uk>  Wed, 27 Mar 2013 14:10:40 +0000
 

Modified: dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch	Sun Mar 31 03:53:40 2013	(r19956)
+++ dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch	Sun Mar 31 05:16:07 2013	(r19957)
@@ -2238,7 +2238,7 @@
  	atomic_inc(&dev->counts[_DRM_STAT_IOCTLS]);
  	++file_priv->ioctl_count;
 diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
-index 9080eb7..384edc6 100644
+index 7211f67..8b77fd3 100644
 --- a/drivers/gpu/drm/drm_edid.c
 +++ b/drivers/gpu/drm/drm_edid.c
 @@ -154,8 +154,7 @@ EXPORT_SYMBOL(drm_edid_header_is_valid);
@@ -2304,7 +2304,7 @@
  			mode = drm_gtf_mode_complex(dev, hsize, vsize,
  						    vrefresh_rate, 0, 0,
  						    drm_gtf2_m(edid),
-@@ -1338,6 +1322,7 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid,
+@@ -1339,6 +1323,7 @@ add_detailed_modes(struct drm_connector *connector, struct edid *edid,
  
  #define HDMI_IDENTIFIER 0x000C03
  #define AUDIO_BLOCK	0x01
@@ -2312,7 +2312,7 @@
  #define VENDOR_BLOCK    0x03
  #define SPEAKER_BLOCK	0x04
  #define EDID_BASIC_AUDIO	(1 << 6)
-@@ -1368,6 +1353,47 @@ u8 *drm_find_cea_extension(struct edid *edid)
+@@ -1369,6 +1354,47 @@ u8 *drm_find_cea_extension(struct edid *edid)
  }
  EXPORT_SYMBOL(drm_find_cea_extension);
  
@@ -2360,7 +2360,7 @@
  static void
  parse_hdmi_vsdb(struct drm_connector *connector, uint8_t *db)
  {
-@@ -1451,26 +1477,29 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
+@@ -1452,26 +1478,29 @@ void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
  	eld[18] = edid->prod_code[0];
  	eld[19] = edid->prod_code[1];
  
@@ -2409,7 +2409,7 @@
  	eld[5] |= sad_count << 4;
  	eld[2] = (20 + mnl + sad_count * 3 + 3) / 4;
  
-@@ -1742,6 +1771,7 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
+@@ -1743,6 +1772,7 @@ int drm_add_edid_modes(struct drm_connector *connector, struct edid *edid)
  	num_modes += add_established_modes(connector, edid);
  	if (edid->features & DRM_EDID_FEATURE_DEFAULT_GTF)
  		num_modes += add_inferred_modes(connector, edid);
@@ -42866,7 +42866,7 @@
  	  dvo_ch7xxx.o \
  	  dvo_ch7017.o \
 diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 5620192..e6162a1 100644
+index 9b4e5c6..34791fb 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
 @@ -30,7 +30,6 @@
@@ -42889,8 +42889,8 @@
  static void
  describe_obj(struct seq_file *m, struct drm_i915_gem_object *obj)
  {
--	seq_printf(m, "%p: %s%s %8zd %04x %04x %d %d%s%s%s",
-+	seq_printf(m, "%p: %s%s %8zdKiB %04x %04x %d %d%s%s%s",
+-	seq_printf(m, "%pK: %s%s %8zd %04x %04x %d %d%s%s%s",
++	seq_printf(m, "%pK: %s%s %8zdKiB %04x %04x %d %d%s%s%s",
  		   &obj->base,
  		   get_pin_flag(obj),
  		   get_tiling_flag(obj),
@@ -45460,7 +45460,7 @@
  		return ret;
  
 diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index 878b989..d4417e3 100644
+index b1bb734..e97ed61 100644
 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
 @@ -203,9 +203,9 @@ i915_gem_object_set_to_gpu_domain(struct drm_i915_gem_object *obj,
@@ -45734,7 +45734,7 @@
  				   exec[i].handle, i);
  			ret = -ENOENT;
  			goto err;
-@@ -993,6 +1043,31 @@ i915_gem_execbuffer_retire_commands(struct drm_device *dev,
+@@ -998,6 +1048,31 @@ i915_gem_execbuffer_retire_commands(struct drm_device *dev,
  }
  
  static int
@@ -45766,7 +45766,7 @@
  i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  		       struct drm_file *file,
  		       struct drm_i915_gem_execbuffer2 *args,
-@@ -1010,7 +1085,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1015,7 +1090,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  	int ret, mode, i;
  
  	if (!i915_gem_check_execbuffer(args)) {
@@ -45775,7 +45775,7 @@
  		return -EINVAL;
  	}
  
-@@ -1025,20 +1100,20 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1030,20 +1105,20 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  		break;
  	case I915_EXEC_BSD:
  		if (!HAS_BSD(dev)) {
@@ -45799,7 +45799,7 @@
  			  (int)(args->flags & I915_EXEC_RING_MASK));
  		return -EINVAL;
  	}
-@@ -1064,18 +1139,18 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1069,18 +1144,18 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  		}
  		break;
  	default:
@@ -45821,7 +45821,7 @@
  			return -EINVAL;
  		}
  
-@@ -1125,7 +1200,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1130,7 +1205,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  		obj = to_intel_bo(drm_gem_object_lookup(dev, file,
  							exec[i].handle));
  		if (&obj->base == NULL) {
@@ -45830,7 +45830,7 @@
  				   exec[i].handle, i);
  			/* prevent error path from reading uninitialized data */
  			ret = -ENOENT;
-@@ -1133,7 +1208,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1138,7 +1213,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  		}
  
  		if (!list_empty(&obj->exec_list)) {
@@ -45839,7 +45839,7 @@
  				   obj, exec[i].handle, i);
  			ret = -EINVAL;
  			goto err;
-@@ -1171,7 +1246,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1176,7 +1251,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  
  	/* Set the pending read domains for the batch buffer to COMMAND */
  	if (batch_obj->base.pending_write_domain) {
@@ -45848,7 +45848,7 @@
  		ret = -EINVAL;
  		goto err;
  	}
-@@ -1188,7 +1263,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1193,7 +1268,7 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  			 * so every billion or so execbuffers, we need to stall
  			 * the GPU in order to reset the counters.
  			 */
@@ -45857,7 +45857,7 @@
  			if (ret)
  				goto err;
  
-@@ -1211,6 +1286,12 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
+@@ -1216,6 +1291,12 @@ i915_gem_do_execbuffer(struct drm_device *dev, void *data,
  		dev_priv->relative_constants_mode = mode;
  	}
  
@@ -45870,7 +45870,7 @@
  	trace_i915_gem_ring_dispatch(ring, seqno);
  
  	exec_start = batch_obj->gtt_offset + args->batch_start_offset;
-@@ -1270,7 +1351,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -1275,7 +1356,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
  	int ret, i;
  
  	if (args->buffer_count < 1) {
@@ -45879,7 +45879,7 @@
  		return -EINVAL;
  	}
  
-@@ -1278,7 +1359,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -1283,7 +1364,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
  	exec_list = drm_malloc_ab(sizeof(*exec_list), args->buffer_count);
  	exec2_list = drm_malloc_ab(sizeof(*exec2_list), args->buffer_count);
  	if (exec_list == NULL || exec2_list == NULL) {
@@ -45888,7 +45888,7 @@
  			  args->buffer_count);
  		drm_free_large(exec_list);
  		drm_free_large(exec2_list);
-@@ -1289,7 +1370,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -1294,7 +1375,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
  			     (uintptr_t) args->buffers_ptr,
  			     sizeof(*exec_list) * args->buffer_count);
  	if (ret != 0) {
@@ -45897,7 +45897,7 @@
  			  args->buffer_count, ret);
  		drm_free_large(exec_list);
  		drm_free_large(exec2_list);
-@@ -1330,7 +1411,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -1335,7 +1416,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
  				   sizeof(*exec_list) * args->buffer_count);
  		if (ret) {
  			ret = -EFAULT;
@@ -45906,7 +45906,7 @@
  				  "back to user (%d)\n",
  				  args->buffer_count, ret);
  		}
-@@ -1351,7 +1432,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
+@@ -1356,7 +1437,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
  
  	if (args->buffer_count < 1 ||
  	    args->buffer_count > UINT_MAX / sizeof(*exec2_list)) {
@@ -45915,7 +45915,7 @@
  		return -EINVAL;
  	}
  
-@@ -1361,7 +1442,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
+@@ -1366,7 +1447,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
  		exec2_list = drm_malloc_ab(sizeof(*exec2_list),
  					   args->buffer_count);
  	if (exec2_list == NULL) {
@@ -45924,7 +45924,7 @@
  			  args->buffer_count);
  		return -ENOMEM;
  	}
-@@ -1370,7 +1451,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
+@@ -1375,7 +1456,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
  			     (uintptr_t) args->buffers_ptr,
  			     sizeof(*exec2_list) * args->buffer_count);
  	if (ret != 0) {
@@ -45933,7 +45933,7 @@
  			  args->buffer_count, ret);
  		drm_free_large(exec2_list);
  		return -EFAULT;
-@@ -1385,7 +1466,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
+@@ -1390,7 +1471,7 @@ i915_gem_execbuffer2(struct drm_device *dev, void *data,
  				   sizeof(*exec2_list) * args->buffer_count);
  		if (ret) {
  			ret = -EFAULT;
@@ -47709,7 +47709,7 @@
  
  	drm_encoder_helper_add(&crt->base.base, &intel_crt_helper_funcs);
 diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 4591582..7ccf896 100644
+index 17961df..7ccf896 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
 @@ -75,7 +75,7 @@ struct intel_limit {
@@ -49256,12 +49256,8 @@
  	gen6_gt_force_wake_get(dev_priv);
  
  	/* disable the counters and set deterministic thresholds */
-@@ -8059,12 +8364,23 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
- 	I915_WRITE(GEN6_RC_SLEEP, 0);
- 	I915_WRITE(GEN6_RC1e_THRESHOLD, 1000);
- 	I915_WRITE(GEN6_RC6_THRESHOLD, 50000);
--	I915_WRITE(GEN6_RC6p_THRESHOLD, 100000);
-+	I915_WRITE(GEN6_RC6p_THRESHOLD, 150000);
+@@ -8062,9 +8367,20 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
+ 	I915_WRITE(GEN6_RC6p_THRESHOLD, 150000);
  	I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */
  
 -	if (intel_enable_rc6(dev_priv->dev))
@@ -76688,7 +76684,7 @@
  #define CAYMAN_DB_DEPTH_INFO				0x2803C
  #define CAYMAN_PA_SC_AA_CONFIG				0x28BE0
 diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
-index 636255b..9934c9d 100644
+index 636255b..7dffc57 100644
 --- a/drivers/gpu/drm/radeon/ni.c
 +++ b/drivers/gpu/drm/radeon/ni.c
 @@ -42,6 +42,8 @@ extern void evergreen_irq_suspend(struct radeon_device *rdev);
@@ -76779,7 +76775,7 @@
  		rdev->config.cayman.max_shader_engines = 2;
  		rdev->config.cayman.max_pipes_per_simd = 4;
  		rdev->config.cayman.max_tile_pipes = 8;
-@@ -632,6 +651,56 @@ static void cayman_gpu_init(struct radeon_device *rdev)
+@@ -632,6 +651,65 @@ static void cayman_gpu_init(struct radeon_device *rdev)
  		rdev->config.cayman.sc_hiz_tile_fifo_size = 0x30;
  		rdev->config.cayman.sc_earlyz_tile_fifo_size = 0x130;
  		break;
@@ -76795,13 +76791,19 @@
 +		    (rdev->pdev->device == 0x9907) ||
 +		    (rdev->pdev->device == 0x9908) ||
 +		    (rdev->pdev->device == 0x9909) ||
++		    (rdev->pdev->device == 0x990B) ||
++		    (rdev->pdev->device == 0x990C) ||
++		    (rdev->pdev->device == 0x990F) ||
 +		    (rdev->pdev->device == 0x9910) ||
-+		    (rdev->pdev->device == 0x9917)) {
++		    (rdev->pdev->device == 0x9917) ||
++		    (rdev->pdev->device == 0x9999)) {
 +			rdev->config.cayman.max_simds_per_se = 6;
 +			rdev->config.cayman.max_backends_per_se = 2;
 +		} else if ((rdev->pdev->device == 0x9903) ||
 +			   (rdev->pdev->device == 0x9904) ||
 +			   (rdev->pdev->device == 0x990A) ||
++			   (rdev->pdev->device == 0x990D) ||
++			   (rdev->pdev->device == 0x990E) ||
 +			   (rdev->pdev->device == 0x9913) ||
 +			   (rdev->pdev->device == 0x9918)) {
 +			rdev->config.cayman.max_simds_per_se = 4;
@@ -76810,6 +76812,9 @@
 +			   (rdev->pdev->device == 0x9990) ||
 +			   (rdev->pdev->device == 0x9991) ||
 +			   (rdev->pdev->device == 0x9994) ||
++			   (rdev->pdev->device == 0x9995) ||
++			   (rdev->pdev->device == 0x9996) ||
++			   (rdev->pdev->device == 0x999A) ||
 +			   (rdev->pdev->device == 0x99A0)) {
 +			rdev->config.cayman.max_simds_per_se = 3;
 +			rdev->config.cayman.max_backends_per_se = 1;
@@ -76836,7 +76841,7 @@
  	}
  
  	/* Initialize HDP */
-@@ -652,7 +721,9 @@ static void cayman_gpu_init(struct radeon_device *rdev)
+@@ -652,7 +730,9 @@ static void cayman_gpu_init(struct radeon_device *rdev)
  
  	cc_rb_backend_disable = RREG32(CC_RB_BACKEND_DISABLE);
  	cc_gc_shader_pipe_config = RREG32(CC_GC_SHADER_PIPE_CONFIG);
@@ -76847,7 +76852,7 @@
  	gc_user_rb_backend_disable = RREG32(GC_USER_RB_BACKEND_DISABLE);
  	gc_user_shader_pipe_config = RREG32(GC_USER_SHADER_PIPE_CONFIG);
  	cgts_user_tcc_disable = RREG32(CGTS_USER_TCC_DISABLE);
-@@ -804,17 +875,23 @@ static void cayman_gpu_init(struct radeon_device *rdev)
+@@ -804,17 +884,23 @@ static void cayman_gpu_init(struct radeon_device *rdev)
  		rdev->config.cayman.tile_config |= (3 << 0);
  		break;
  	}
@@ -76881,7 +76886,7 @@
  	}
  	rdev->config.cayman.tile_config |=
  		((gb_addr_config & PIPE_INTERLEAVE_SIZE_MASK) >> PIPE_INTERLEAVE_SIZE_SHIFT) << 8;
-@@ -944,7 +1021,7 @@ void cayman_pcie_gart_tlb_flush(struct radeon_device *rdev)
+@@ -944,7 +1030,7 @@ void cayman_pcie_gart_tlb_flush(struct radeon_device *rdev)
  
  int cayman_pcie_gart_enable(struct radeon_device *rdev)
  {
@@ -76890,7 +76895,7 @@
  
  	if (rdev->gart.robj == NULL) {
  		dev_err(rdev->dev, "No VRAM object for PCIE GART.\n");
-@@ -955,9 +1032,12 @@ int cayman_pcie_gart_enable(struct radeon_device *rdev)
+@@ -955,9 +1041,12 @@ int cayman_pcie_gart_enable(struct radeon_device *rdev)
  		return r;
  	radeon_gart_restore(rdev);
  	/* Setup TLB control */
@@ -76904,7 +76909,7 @@
  	       SYSTEM_APERTURE_UNMAPPED_ACCESS_PASS_THRU);
  	/* Setup L2 cache */
  	WREG32(VM_L2_CNTL, ENABLE_L2_CACHE |
-@@ -977,9 +1057,26 @@ int cayman_pcie_gart_enable(struct radeon_device *rdev)
+@@ -977,9 +1066,26 @@ int cayman_pcie_gart_enable(struct radeon_device *rdev)
  	WREG32(VM_CONTEXT0_CNTL2, 0);
  	WREG32(VM_CONTEXT0_CNTL, ENABLE_CONTEXT | PAGE_TABLE_DEPTH(0) |
  				RANGE_PROTECTION_FAULT_ENABLE_DEFAULT);
@@ -76932,7 +76937,7 @@
  
  	cayman_pcie_gart_tlb_flush(rdev);
  	DRM_INFO("PCIE GART of %uM enabled (table at 0x%016llX).\n",
-@@ -1016,9 +1113,69 @@ void cayman_pcie_gart_fini(struct radeon_device *rdev)
+@@ -1016,9 +1122,69 @@ void cayman_pcie_gart_fini(struct radeon_device *rdev)
  	radeon_gart_fini(rdev);
  }
  
@@ -77002,7 +77007,7 @@
  static void cayman_cp_enable(struct radeon_device *rdev, bool enable)
  {
  	if (enable)
-@@ -1059,63 +1216,64 @@ static int cayman_cp_load_microcode(struct radeon_device *rdev)
+@@ -1059,63 +1225,64 @@ static int cayman_cp_load_microcode(struct radeon_device *rdev)
  
  static int cayman_cp_start(struct radeon_device *rdev)
  {
@@ -77098,7 +77103,7 @@
  
  	/* XXX init other rings */
  
-@@ -1125,11 +1283,12 @@ static int cayman_cp_start(struct radeon_device *rdev)
+@@ -1125,11 +1292,12 @@ static int cayman_cp_start(struct radeon_device *rdev)
  static void cayman_cp_fini(struct radeon_device *rdev)
  {
  	cayman_cp_enable(rdev, false);
@@ -77112,7 +77117,7 @@
  	u32 tmp;
  	u32 rb_bufsz;
  	int r;
-@@ -1146,7 +1305,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1146,7 +1314,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
  	WREG32(GRBM_SOFT_RESET, 0);
  	RREG32(GRBM_SOFT_RESET);
  
@@ -77122,7 +77127,7 @@
  
  	/* Set the write pointer delay */
  	WREG32(CP_RB_WPTR_DELAY, 0);
-@@ -1155,7 +1315,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1155,7 +1324,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
  
  	/* ring 0 - compute and gfx */
  	/* Set ring buffer size */
@@ -77132,7 +77137,7 @@
  	tmp = (drm_order(RADEON_GPU_PAGE_SIZE/8) << 8) | rb_bufsz;
  #ifdef __BIG_ENDIAN
  	tmp |= BUF_SWAP_32BIT;
-@@ -1164,8 +1325,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1164,8 +1334,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
  
  	/* Initialize the ring buffer's read and write pointers */
  	WREG32(CP_RB0_CNTL, tmp | RB_RPTR_WR_ENA);
@@ -77143,7 +77148,7 @@
  
  	/* set the wb address wether it's enabled or not */
  	WREG32(CP_RB0_RPTR_ADDR, (rdev->wb.gpu_addr + RADEON_WB_CP_RPTR_OFFSET) & 0xFFFFFFFC);
-@@ -1182,13 +1343,14 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1182,13 +1352,14 @@ int cayman_cp_resume(struct radeon_device *rdev)
  	mdelay(1);
  	WREG32(CP_RB0_CNTL, tmp);
  
@@ -77161,7 +77166,7 @@
  	tmp = (drm_order(RADEON_GPU_PAGE_SIZE/8) << 8) | rb_bufsz;
  #ifdef __BIG_ENDIAN
  	tmp |= BUF_SWAP_32BIT;
-@@ -1197,8 +1359,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1197,8 +1368,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
  
  	/* Initialize the ring buffer's read and write pointers */
  	WREG32(CP_RB1_CNTL, tmp | RB_RPTR_WR_ENA);
@@ -77172,7 +77177,7 @@
  
  	/* set the wb address wether it's enabled or not */
  	WREG32(CP_RB1_RPTR_ADDR, (rdev->wb.gpu_addr + RADEON_WB_CP1_RPTR_OFFSET) & 0xFFFFFFFC);
-@@ -1207,13 +1369,14 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1207,13 +1378,14 @@ int cayman_cp_resume(struct radeon_device *rdev)
  	mdelay(1);
  	WREG32(CP_RB1_CNTL, tmp);
  
@@ -77190,7 +77195,7 @@
  	tmp = (drm_order(RADEON_GPU_PAGE_SIZE/8) << 8) | rb_bufsz;
  #ifdef __BIG_ENDIAN
  	tmp |= BUF_SWAP_32BIT;
-@@ -1222,8 +1385,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1222,8 +1394,8 @@ int cayman_cp_resume(struct radeon_device *rdev)
  
  	/* Initialize the ring buffer's read and write pointers */
  	WREG32(CP_RB2_CNTL, tmp | RB_RPTR_WR_ENA);
@@ -77201,7 +77206,7 @@
  
  	/* set the wb address wether it's enabled or not */
  	WREG32(CP_RB2_RPTR_ADDR, (rdev->wb.gpu_addr + RADEON_WB_CP2_RPTR_OFFSET) & 0xFFFFFFFC);
-@@ -1232,28 +1395,28 @@ int cayman_cp_resume(struct radeon_device *rdev)
+@@ -1232,28 +1404,28 @@ int cayman_cp_resume(struct radeon_device *rdev)
  	mdelay(1);
  	WREG32(CP_RB2_CNTL, tmp);
  
@@ -77240,7 +77245,7 @@
  {
  	u32 srbm_status;
  	u32 grbm_status;
-@@ -1266,20 +1429,20 @@ bool cayman_gpu_is_lockup(struct radeon_device *rdev)
+@@ -1266,20 +1438,20 @@ bool cayman_gpu_is_lockup(struct radeon_device *rdev)
  	grbm_status_se0 = RREG32(GRBM_STATUS_SE0);
  	grbm_status_se1 = RREG32(GRBM_STATUS_SE1);
  	if (!(grbm_status & GUI_ACTIVE)) {
@@ -77268,7 +77273,7 @@
  }
  
  static int cayman_gpu_soft_reset(struct radeon_device *rdev)
-@@ -1299,6 +1462,15 @@ static int cayman_gpu_soft_reset(struct radeon_device *rdev)
+@@ -1299,6 +1471,15 @@ static int cayman_gpu_soft_reset(struct radeon_device *rdev)
  		RREG32(GRBM_STATUS_SE1));
  	dev_info(rdev->dev, "  SRBM_STATUS=0x%08X\n",
  		RREG32(SRBM_STATUS));
@@ -77284,7 +77289,7 @@
  	evergreen_mc_stop(rdev, &save);
  	if (evergreen_mc_wait_for_idle(rdev)) {
  		dev_warn(rdev->dev, "Wait for MC idle timedout !\n");
-@@ -1329,6 +1501,7 @@ static int cayman_gpu_soft_reset(struct radeon_device *rdev)
+@@ -1329,6 +1510,7 @@ static int cayman_gpu_soft_reset(struct radeon_device *rdev)
  	(void)RREG32(GRBM_SOFT_RESET);
  	/* Wait a little for things to settle down */
  	udelay(50);
@@ -77292,7 +77297,7 @@
  	dev_info(rdev->dev, "  GRBM_STATUS=0x%08X\n",
  		RREG32(GRBM_STATUS));
  	dev_info(rdev->dev, "  GRBM_STATUS_SE0=0x%08X\n",
-@@ -1348,23 +1521,35 @@ int cayman_asic_reset(struct radeon_device *rdev)
+@@ -1348,23 +1530,35 @@ int cayman_asic_reset(struct radeon_device *rdev)
  
  static int cayman_startup(struct radeon_device *rdev)
  {
@@ -77336,7 +77341,7 @@
  
  	r = r600_vram_scratch_init(rdev);
  	if (r)
-@@ -1379,15 +1564,42 @@ static int cayman_startup(struct radeon_device *rdev)
+@@ -1379,15 +1573,42 @@ static int cayman_startup(struct radeon_device *rdev)
  	r = evergreen_blit_init(rdev);
  	if (r) {
  		r600_blit_fini(rdev);
@@ -77380,7 +77385,7 @@
  	/* Enable IRQ */
  	r = r600_irq_init(rdev);
  	if (r) {
-@@ -1397,7 +1609,9 @@ static int cayman_startup(struct radeon_device *rdev)
+@@ -1397,7 +1618,9 @@ static int cayman_startup(struct radeon_device *rdev)
  	}
  	evergreen_irq_set(rdev);
  
@@ -77391,7 +77396,7 @@
  	if (r)
  		return r;
  	r = cayman_cp_load_microcode(rdev);
-@@ -1407,6 +1621,21 @@ static int cayman_startup(struct radeon_device *rdev)
+@@ -1407,6 +1630,21 @@ static int cayman_startup(struct radeon_device *rdev)
  	if (r)
  		return r;
  
@@ -77413,7 +77418,7 @@
  	return 0;
  }
  
-@@ -1421,32 +1650,27 @@ int cayman_resume(struct radeon_device *rdev)
+@@ -1421,32 +1659,27 @@ int cayman_resume(struct radeon_device *rdev)
  	/* post card */
  	atom_asic_init(rdev->mode_info.atom_context);
  
@@ -77452,7 +77457,7 @@
  	return 0;
  }
  
-@@ -1458,6 +1682,7 @@ int cayman_suspend(struct radeon_device *rdev)
+@@ -1458,6 +1691,7 @@ int cayman_suspend(struct radeon_device *rdev)
   */
  int cayman_init(struct radeon_device *rdev)
  {
@@ -77460,7 +77465,7 @@
  	int r;
  
  	/* This don't do much */
-@@ -1510,8 +1735,8 @@ int cayman_init(struct radeon_device *rdev)
+@@ -1510,8 +1744,8 @@ int cayman_init(struct radeon_device *rdev)
  	if (r)
  		return r;
  
@@ -77471,7 +77476,7 @@
  
  	rdev->ih.ring_obj = NULL;
  	r600_ih_ring_init(rdev, 64 * 1024);
-@@ -1520,35 +1745,40 @@ int cayman_init(struct radeon_device *rdev)
+@@ -1520,35 +1754,40 @@ int cayman_init(struct radeon_device *rdev)
  	if (r)
  		return r;
  
@@ -77525,7 +77530,7 @@
  		DRM_ERROR("radeon: MC ucode required for NI+.\n");
  		return -EINVAL;
  	}
-@@ -1561,12 +1791,16 @@ void cayman_fini(struct radeon_device *rdev)
+@@ -1561,12 +1800,16 @@ void cayman_fini(struct radeon_device *rdev)
  	r600_blit_fini(rdev);
  	cayman_cp_fini(rdev);
  	r600_irq_fini(rdev);
@@ -77543,7 +77548,7 @@
  	radeon_fence_driver_fini(rdev);
  	radeon_bo_fini(rdev);
  	radeon_atombios_fini(rdev);
-@@ -1574,3 +1808,89 @@ void cayman_fini(struct radeon_device *rdev)
+@@ -1574,3 +1817,89 @@ void cayman_fini(struct radeon_device *rdev)
  	rdev->bios = NULL;
  }
  
@@ -85488,7 +85493,7 @@
  		bios_2_scratch = RREG32(R600_BIOS_2_SCRATCH);
  	else
 diff --git a/drivers/gpu/drm/radeon/radeon_benchmark.c b/drivers/gpu/drm/radeon/radeon_benchmark.c
-index 17e1a9b..fef7b72 100644
+index 441de38..89a0eec 100644
 --- a/drivers/gpu/drm/radeon/radeon_benchmark.c
 +++ b/drivers/gpu/drm/radeon/radeon_benchmark.c
 @@ -43,17 +43,19 @@ static int radeon_benchmark_do_move(struct radeon_device *rdev, unsigned size,
@@ -85524,7 +85529,16 @@
  		time = radeon_benchmark_do_move(rdev, size, saddr, daddr,
  						RADEON_BENCHMARK_COPY_DMA, n);
  		if (time < 0)
-@@ -208,42 +210,42 @@ void radeon_benchmark(struct radeon_device *rdev, int test_number)
+@@ -139,7 +141,7 @@ static void radeon_benchmark_move(struct radeon_device *rdev, unsigned size,
+ 						     sdomain, ddomain, "dma");
+ 	}
+ 
+-	if (rdev->asic->copy_blit) {
++	if (rdev->asic->copy.blit) {
+ 		time = radeon_benchmark_do_move(rdev, size, saddr, daddr,
+ 						RADEON_BENCHMARK_COPY_BLIT, n);
+ 		if (time < 0)
+@@ -210,42 +212,42 @@ void radeon_benchmark(struct radeon_device *rdev, int test_number)
  		break;
  	case 3:
  		/* GTT to VRAM, buffer size sweep, powers of 2 */
@@ -106081,7 +106095,7 @@
  #define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02
  #define DRM_MODE_FB_DIRTY_FLAGS         0x03
 diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h
-index def807c..7207a99 100644
+index def807c..d9928c1 100644
 --- a/include/drm/drm_pciids.h
 +++ b/include/drm/drm_pciids.h
 @@ -204,11 +204,57 @@
@@ -106142,7 +106156,7 @@
  	{0x1002, 0x6850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
  	{0x1002, 0x6858, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
  	{0x1002, 0x6859, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-@@ -516,6 +562,30 @@
+@@ -516,6 +562,41 @@
  	{0x1002, 0x9808, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
  	{0x1002, 0x9809, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
  	{0x1002, 0x980A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
@@ -106156,7 +106170,11 @@
 +	{0x1002, 0x9908, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x9909, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x990A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+	{0x1002, 0x990F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x990B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x990C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x990D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x990E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x990F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x9910, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x9913, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x9917, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
@@ -106167,6 +106185,13 @@
 +	{0x1002, 0x9992, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x9993, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x9994, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x9995, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x9996, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x9997, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x9998, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x9999, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x999A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
++	{0x1002, 0x999B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x99A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x99A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
 +	{0x1002, 0x99A4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Sun Mar 31 03:53:40 2013	(r19956)
+++ dists/sid/linux/debian/patches/series	Sun Mar 31 05:16:07 2013	(r19957)
@@ -615,27 +615,8 @@
 debian/efi-autoload-efivars.patch
 bugfix/all/kexec-remove-KMSG_DUMP_KEXEC.patch
 bugfix/all/kmsg_dump-don-t-run-on-non-error-paths-by-default.patch
-bugfix/all/i915-initialize-CADL-in-opregion.patch
-bugfix/all/signal-fix-use-of-missing-sa_restorer-field.patch
-bugfix/all/kernel-signal.c-use-__ARCH_HAS_SA_RESTORER-instead-o.patch
-bugfix/all/rds-limit-the-size-allocated-by-rds_message_alloc.patch
-bugfix/all/rtnl-fix-info-leak-on-rtm_getlink-request-for-vf-devices.patch
-bugfix/all/dcbnl-fix-various-netlink-info-leaks.patch
-bugfix/s390/s390-mm-fix-flush_tlb_kernel_range.patch
-bugfix/powerpc/powerpc-fix-cputable-entry-for-970mp-rev-1.0.patch
-bugfix/all/vhost-net-fix-heads-usage-of-ubuf_info.patch
-bugfix/all/udf-avoid-info-leak-on-export.patch
-bugfix/all/isofs-avoid-info-leak-on-export.patch
 debian/dm-avoid-ABI-change-in-3.2.41.patch
-bugfix/all/efivars-Allow-disabling-use-as-a-pstore-backend.patch
-bugfix/all/efivars-Add-module-parameter-to-disable-use-as-a-pst.patch
-bugfix/all/efivars-Fix-check-for-CONFIG_EFI_VARS_PSTORE_DEFAULT.patch
-bugfix/all/efi_pstore-Introducing-workqueue-updating-sysfs.patch
-bugfix/all/efivars-explicitly-calculate-length-of-VariableName.patch
-bugfix/all/efivars-Handle-duplicate-names-from-get_next_variabl.patch
-bugfix/all/efivars-pstore-do-not-check-size-when-erasing-variable.patch
 debian/efivars-remove-check-for-50-full-on-write.patch
-bugfix/x86/drm-i915-bounds-check-execbuffer-relocation-count.patch
 bugfix/x86/KVM-x86-fix-for-buffer-overflow-in-handling-of-MSR_K.patch
 bugfix/x86/KVM-x86-Convert-MSR_KVM_SYSTEM_TIME-to-use-gfn_to_hv.patch
 bugfix/all/KVM-Fix-bounds-checking-in-ioapic-indirect-register-.patch



More information about the Kernel-svn-changes mailing list