[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