rpms/kernel/F-11 patch-2.6.29.2.bz2.sign, NONE, 1.1 .cvsignore, 1.1041, 1.1042 config-generic, 1.277, 1.278 drm-next.patch, 1.14, 1.15 kernel.spec, 1.1580, 1.1581 linux-2.6-v4l-dvb-experimental.patch, 1.8, 1.9 sources, 1.1003, 1.1004 upstream, 1.914, 1.915 linux-2.6-acer-wmi-bail-on-aao.patch, 1.2, NONE linux-2.6-e820-mark-esi-clobbered.patch, 1.1, NONE linux-2.6-kvm-kconfig-irqchip.patch, 1.1, NONE linux-2.6-kvm-mask-notifiers.patch, 1.1, NONE linux-2.6-kvm-reset-pit-irq-on-unmask.patch, 1.1, NONE linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch, 1.1, NONE linux-2.6-mm-define-unique-value-for-as_unevictable.patch, 1.1, NONE linux-2.6-net-fix-another-gro-bug.patch, 1.1, NONE linux-2.6-posix-timers-fix-clock-monotonicity.patch, 1.1, NONE linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch, 1.1, NONE linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch, 1.1, NONE linux-2.6-v4l-dvb-fixes.patch, 1.13, NONE linux-2.6-v4l-dvb-update.patch, 1.14, NONE linux-2.6.29.1-sparc-regression.patch, 1.1, NONE pat-remove-page-granularity-tracking-for-vm_insert_pfn_maps.patch, 1.1, NONE patch-2.6.29.1.bz2.sign, 1.1, NONE
Kyle McMartin
kyle at fedoraproject.org
Fri May 1 18:41:58 UTC 2009
- Previous message: rpms/kernel/devel linux-2.6-ext4-prealloc-fixes.patch, NONE, 1.1 kernel.spec, 1.1538, 1.1539
- Next message: rpms/tracker/devel .cvsignore, 1.16, 1.17 import.log, 1.1, 1.2 sources, 1.16, 1.17 tracker.spec, 1.50, 1.51
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: kyle
Update of /cvs/pkgs/rpms/kernel/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv18953
Modified Files:
.cvsignore config-generic drm-next.patch kernel.spec
linux-2.6-v4l-dvb-experimental.patch sources upstream
Added Files:
patch-2.6.29.2.bz2.sign
Removed Files:
linux-2.6-acer-wmi-bail-on-aao.patch
linux-2.6-e820-mark-esi-clobbered.patch
linux-2.6-kvm-kconfig-irqchip.patch
linux-2.6-kvm-mask-notifiers.patch
linux-2.6-kvm-reset-pit-irq-on-unmask.patch
linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch
linux-2.6-mm-define-unique-value-for-as_unevictable.patch
linux-2.6-net-fix-another-gro-bug.patch
linux-2.6-posix-timers-fix-clock-monotonicity.patch
linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch
linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch
linux-2.6-v4l-dvb-fixes.patch linux-2.6-v4l-dvb-update.patch
linux-2.6.29.1-sparc-regression.patch
pat-remove-page-granularity-tracking-for-vm_insert_pfn_maps.patch
patch-2.6.29.1.bz2.sign
Log Message:
* Thu Apr 30 2009 Kyle McMartin <kyle at redhat.com> 2.6.29.2-119
- Update to 2.6.29.2
- Patches rebased:
linux-2.6-v4l-dvb-experimental.patch
drm-next.patch
- Patches merged upstream:
linux-2.6-acer-wmi-bail-on-aao.patch
linux-2.6-e820-mark-esi-clobbered.patch
linux-2.6-kvm-kconfig-irqchip.patch
linux-2.6-kvm-mask-notifiers.patch
linux-2.6-kvm-reset-pit-irq-on-unmask.patch
linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch
linux-2.6-mm-define-unique-value-for-as_unevictable.patch
linux-2.6-net-fix-another-gro-bug.patch
linux-2.6-posix-timers-fix-clock-monotonicity.patch
linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch
linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch
linux-2.6-v4l-dvb-fixes.patch
linux-2.6-v4l-dvb-update.patch
linux-2.6.29.1-sparc-regression.patch
pat-remove-page-granularity-tracking-for-vm_insert_pfn_maps.patch
--- NEW FILE patch-2.6.29.2.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info
iD8DBQBJ9fvQyGugalF9Dw4RAsB/AKCOOk344x+bwLrUgSXgLb0V0bsmigCfRXVj
v9JWzcbgEEo+r6kMQyEnngE=
=UsGN
-----END PGP SIGNATURE-----
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/.cvsignore,v
retrieving revision 1.1041
retrieving revision 1.1042
diff -u -p -r1.1041 -r1.1042
--- .cvsignore 2 Apr 2009 23:41:46 -0000 1.1041
+++ .cvsignore 1 May 2009 18:41:25 -0000 1.1042
@@ -5,4 +5,4 @@ kernel-2.6.*.config
temp-*
kernel-2.6.29
linux-2.6.29.tar.bz2
-patch-2.6.29.1.bz2
+patch-2.6.29.2.bz2
Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/config-generic,v
retrieving revision 1.277
retrieving revision 1.278
diff -u -p -r1.277 -r1.278
--- config-generic 18 Apr 2009 17:45:46 -0000 1.277
+++ config-generic 1 May 2009 18:41:25 -0000 1.278
@@ -2276,7 +2276,7 @@ CONFIG_RADIO_MAXIRADIO=m
CONFIG_RADIO_MAESTRO=m
CONFIG_MEDIA_ATTACH=y
-# CONFIG_MEDIA_TUNER_CUSTOMISE is not set
+# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
#
# Digital Video Broadcasting Devices
@@ -2301,6 +2301,12 @@ CONFIG_DVB_USB_ANYSEE=m
CONFIG_DVB_USB_DW2102=m
CONFIG_DVB_DM1105=m
CONFIG_DVB_DYNAMIC_MINORS=y
+CONFIG_DVB_LGDT3304=m
+CONFIG_DVB_ISL6405=m
+CONFIG_DVB_LGS8GL5=m
+CONFIG_DVB_S921=m
+# CONFIG_DVB_DUMMY_FE is not set
+CONFIG_DVB_DRX397XD=m
#
# Supported SAA7146 based PCI Adapters
drm-next.patch:
Index: drm-next.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/drm-next.patch,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -p -r1.14 -r1.15
--- drm-next.patch 17 Apr 2009 11:07:14 -0000 1.14
+++ drm-next.patch 1 May 2009 18:41:25 -0000 1.15
@@ -1196,10 +1196,10 @@ index f52663e..09a3571 100644
EXPORT_SYMBOL(drm_fasync);
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
-index 88d3368..4984aa8 100644
+index 7ee1ce1..4984aa8 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
-@@ -502,10 +502,9 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
+@@ -502,7 +502,7 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
struct drm_file *priv = filp->private_data;
struct drm_device *dev = priv->minor->dev;
struct drm_gem_mm *mm = dev->mm_private;
@@ -1207,23 +1207,7 @@ index 88d3368..4984aa8 100644
+ struct drm_local_map *map = NULL;
struct drm_gem_object *obj;
struct drm_hash_item *hash;
-- unsigned long prot;
int ret = 0;
-
- mutex_lock(&dev->struct_mutex);
-@@ -538,11 +537,7 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
- vma->vm_ops = obj->dev->driver->gem_vm_ops;
- vma->vm_private_data = map->handle;
- /* FIXME: use pgprot_writecombine when available */
-- prot = pgprot_val(vma->vm_page_prot);
--#ifdef CONFIG_X86
-- prot |= _PAGE_CACHE_WC;
--#endif
-- vma->vm_page_prot = __pgprot(prot);
-+ vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
-
- /* Take a ref for this mapping of the object, so that the fault
- * handler can dereference the mmap offset's pointer to the object.
diff --git a/drivers/gpu/drm/drm_info.c b/drivers/gpu/drm/drm_info.c
new file mode 100644
index 0000000..f0f6c6b
@@ -2842,33 +2826,10 @@ index 793cba3..51c5a05 100644
intel_display.o \
intel_crt.o \
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 6d21b9e..c23b3a9 100644
+index 908d24e..c23b3a9 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -41,7 +41,6 @@
- int i915_wait_ring(struct drm_device * dev, int n, const char *caller)
- {
- drm_i915_private_t *dev_priv = dev->dev_private;
-- struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;
- drm_i915_ring_buffer_t *ring = &(dev_priv->ring);
- u32 acthd_reg = IS_I965G(dev) ? ACTHD_I965 : ACTHD;
- u32 last_acthd = I915_READ(acthd_reg);
-@@ -58,8 +57,12 @@ int i915_wait_ring(struct drm_device * dev, int n, const char *caller)
- if (ring->space >= n)
- return 0;
-
-- if (master_priv->sarea_priv)
-- master_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT;
-+ if (dev->primary->master) {
-+ struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;
-+ if (master_priv->sarea_priv)
-+ master_priv->sarea_priv->perf_boxes |= I915_BOX_WAIT;
-+ }
-+
-
- if (ring->head != last_head)
- i = 0;
-@@ -356,7 +359,7 @@ static int validate_cmd(int cmd)
+@@ -359,7 +359,7 @@ static int validate_cmd(int cmd)
return ret;
}
@@ -2877,7 +2838,7 @@ index 6d21b9e..c23b3a9 100644
{
drm_i915_private_t *dev_priv = dev->dev_private;
int i;
-@@ -370,8 +373,7 @@ static int i915_emit_cmds(struct drm_device * dev, int __user * buffer, int dwor
+@@ -373,8 +373,7 @@ static int i915_emit_cmds(struct drm_device * dev, int __user * buffer, int dwor
for (i = 0; i < dwords;) {
int cmd, sz;
@@ -2887,7 +2848,7 @@ index 6d21b9e..c23b3a9 100644
if ((sz = validate_cmd(cmd)) == 0 || i + sz > dwords)
return -EINVAL;
-@@ -379,11 +381,7 @@ static int i915_emit_cmds(struct drm_device * dev, int __user * buffer, int dwor
+@@ -382,11 +381,7 @@ static int i915_emit_cmds(struct drm_device * dev, int __user * buffer, int dwor
OUT_RING(cmd);
while (++i, --sz) {
@@ -2900,7 +2861,7 @@ index 6d21b9e..c23b3a9 100644
}
}
-@@ -397,17 +395,13 @@ static int i915_emit_cmds(struct drm_device * dev, int __user * buffer, int dwor
+@@ -400,17 +395,13 @@ static int i915_emit_cmds(struct drm_device * dev, int __user * buffer, int dwor
int
i915_emit_box(struct drm_device *dev,
@@ -2920,7 +2881,7 @@ index 6d21b9e..c23b3a9 100644
if (box.y2 <= box.y1 || box.x2 <= box.x1 || box.y2 <= 0 || box.x2 <= 0) {
DRM_ERROR("Bad box %d,%d..%d,%d\n",
box.x1, box.y1, box.x2, box.y2);
-@@ -460,7 +454,9 @@ static void i915_emit_breadcrumb(struct drm_device *dev)
+@@ -463,7 +454,9 @@ static void i915_emit_breadcrumb(struct drm_device *dev)
}
static int i915_dispatch_cmdbuffer(struct drm_device * dev,
@@ -2931,7 +2892,7 @@ index 6d21b9e..c23b3a9 100644
{
int nbox = cmd->num_cliprects;
int i = 0, count, ret;
-@@ -476,13 +472,13 @@ static int i915_dispatch_cmdbuffer(struct drm_device * dev,
+@@ -479,13 +472,13 @@ static int i915_dispatch_cmdbuffer(struct drm_device * dev,
for (i = 0; i < count; i++) {
if (i < nbox) {
@@ -2947,7 +2908,7 @@ index 6d21b9e..c23b3a9 100644
if (ret)
return ret;
}
-@@ -492,10 +488,10 @@ static int i915_dispatch_cmdbuffer(struct drm_device * dev,
+@@ -495,10 +488,10 @@ static int i915_dispatch_cmdbuffer(struct drm_device * dev,
}
static int i915_dispatch_batchbuffer(struct drm_device * dev,
@@ -2960,7 +2921,7 @@ index 6d21b9e..c23b3a9 100644
int nbox = batch->num_cliprects;
int i = 0, count;
RING_LOCALS;
-@@ -511,7 +507,7 @@ static int i915_dispatch_batchbuffer(struct drm_device * dev,
+@@ -514,7 +507,7 @@ static int i915_dispatch_batchbuffer(struct drm_device * dev,
for (i = 0; i < count; i++) {
if (i < nbox) {
@@ -2969,7 +2930,7 @@ index 6d21b9e..c23b3a9 100644
batch->DR1, batch->DR4);
if (ret)
return ret;
-@@ -626,6 +622,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
+@@ -629,6 +622,7 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
master_priv->sarea_priv;
drm_i915_batchbuffer_t *batch = data;
int ret;
@@ -2977,7 +2938,7 @@ index 6d21b9e..c23b3a9 100644
if (!dev_priv->allow_batchbuffer) {
DRM_ERROR("Batchbuffer ioctl disabled\n");
-@@ -637,17 +634,35 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
+@@ -640,17 +634,35 @@ static int i915_batchbuffer(struct drm_device *dev, void *data,
RING_LOCK_TEST_WITH_RETURN(dev, file_priv);
@@ -3018,7 +2979,7 @@ index 6d21b9e..c23b3a9 100644
return ret;
}
-@@ -659,6 +674,8 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
+@@ -662,6 +674,8 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
drm_i915_sarea_t *sarea_priv = (drm_i915_sarea_t *)
master_priv->sarea_priv;
drm_i915_cmdbuffer_t *cmdbuf = data;
@@ -3027,7 +2988,7 @@ index 6d21b9e..c23b3a9 100644
int ret;
DRM_DEBUG("i915 cmdbuffer, buf %p sz %d cliprects %d\n",
-@@ -666,25 +683,50 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
+@@ -669,25 +683,50 @@ static int i915_cmdbuffer(struct drm_device *dev, void *data,
RING_LOCK_TEST_WITH_RETURN(dev, file_priv);
@@ -3087,7 +3048,7 @@ index 6d21b9e..c23b3a9 100644
}
static int i915_flip_bufs(struct drm_device *dev, void *data,
-@@ -880,7 +922,7 @@ static int i915_probe_agp(struct drm_device *dev, unsigned long *aperture_size,
+@@ -883,7 +922,7 @@ static int i915_probe_agp(struct drm_device *dev, unsigned long *aperture_size,
* Some of the preallocated space is taken by the GTT
* and popup. GTT is 1K per MB of aperture size, and popup is 4K.
*/
@@ -3096,7 +3057,7 @@ index 6d21b9e..c23b3a9 100644
overhead = 4096;
else
overhead = (*aperture_size / 1024) + 4096;
-@@ -988,13 +1030,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -991,13 +1030,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
if (ret)
goto destroy_ringbuffer;
@@ -3110,7 +3071,7 @@ index 6d21b9e..c23b3a9 100644
/* Always safe in the mode setting case. */
/* FIXME: do pre/post-mode set stuff in core KMS code */
dev->vblank_disable_allowed = 1;
-@@ -1007,7 +1042,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
+@@ -1010,7 +1042,7 @@ static int i915_load_modeset_init(struct drm_device *dev)
intel_modeset_init(dev);
@@ -3119,7 +3080,7 @@ index 6d21b9e..c23b3a9 100644
return 0;
-@@ -1057,7 +1092,7 @@ void i915_master_destroy(struct drm_device *dev, struct drm_master *master)
+@@ -1060,7 +1092,7 @@ void i915_master_destroy(struct drm_device *dev, struct drm_master *master)
int i915_driver_load(struct drm_device *dev, unsigned long flags)
{
struct drm_i915_private *dev_priv = dev->dev_private;
@@ -3298,7 +3259,7 @@ index d6cc986..317b122 100644
#define PRIMARY_RINGBUFFER_SIZE (128*1024)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 37427e4..1449b45 100644
+index fb6390a..1449b45 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -43,8 +43,8 @@ static int i915_gem_object_set_cpu_read_domain_range(struct drm_gem_object *obj,
@@ -4007,15 +3968,7 @@ index 37427e4..1449b45 100644
#if WATCH_PWRITE
if (ret)
-@@ -603,6 +1072,7 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
- case -EAGAIN:
- return VM_FAULT_OOM;
- case -EFAULT:
-+ case -EINVAL:
- return VM_FAULT_SIGBUS;
- default:
- return VM_FAULT_NOPAGE;
-@@ -627,7 +1097,7 @@ i915_gem_create_mmap_offset(struct drm_gem_object *obj)
+@@ -628,7 +1097,7 @@ i915_gem_create_mmap_offset(struct drm_gem_object *obj)
struct drm_gem_mm *mm = dev->mm_private;
struct drm_i915_gem_object *obj_priv = obj->driver_private;
struct drm_map_list *list;
@@ -4024,7 +3977,7 @@ index 37427e4..1449b45 100644
int ret = 0;
/* Set the object up for mmap'ing */
-@@ -816,29 +1286,30 @@ i915_gem_mmap_gtt_ioctl(struct drm_device *dev, void *data,
+@@ -817,29 +1286,30 @@ i915_gem_mmap_gtt_ioctl(struct drm_device *dev, void *data,
}
static void
@@ -4064,7 +4017,7 @@ index 37427e4..1449b45 100644
}
static void
-@@ -854,8 +1325,10 @@ i915_gem_object_move_to_active(struct drm_gem_object *obj, uint32_t seqno)
+@@ -855,8 +1325,10 @@ i915_gem_object_move_to_active(struct drm_gem_object *obj, uint32_t seqno)
obj_priv->active = 1;
}
/* Move from whatever list we were on to the tail of execution. */
@@ -4075,7 +4028,7 @@ index 37427e4..1449b45 100644
obj_priv->last_rendering_seqno = seqno;
}
-@@ -997,6 +1470,7 @@ i915_gem_retire_request(struct drm_device *dev,
+@@ -998,6 +1470,7 @@ i915_gem_retire_request(struct drm_device *dev,
/* Move any buffers on the active list that are no longer referenced
* by the ringbuffer to the flushing/inactive lists as appropriate.
*/
@@ -4083,7 +4036,7 @@ index 37427e4..1449b45 100644
while (!list_empty(&dev_priv->mm.active_list)) {
struct drm_gem_object *obj;
struct drm_i915_gem_object *obj_priv;
-@@ -1011,7 +1485,7 @@ i915_gem_retire_request(struct drm_device *dev,
+@@ -1012,7 +1485,7 @@ i915_gem_retire_request(struct drm_device *dev,
* this seqno.
*/
if (obj_priv->last_rendering_seqno != request->seqno)
@@ -4092,7 +4045,7 @@ index 37427e4..1449b45 100644
#if WATCH_LRU
DRM_INFO("%s: retire %d moves to inactive list %p\n",
-@@ -1023,6 +1497,8 @@ i915_gem_retire_request(struct drm_device *dev,
+@@ -1024,6 +1497,8 @@ i915_gem_retire_request(struct drm_device *dev,
else
i915_gem_object_move_to_inactive(obj);
}
@@ -4101,7 +4054,7 @@ index 37427e4..1449b45 100644
}
/**
-@@ -1290,7 +1766,7 @@ i915_gem_object_unbind(struct drm_gem_object *obj)
+@@ -1291,7 +1766,7 @@ i915_gem_object_unbind(struct drm_gem_object *obj)
if (obj_priv->fence_reg != I915_FENCE_REG_NONE)
i915_gem_clear_fence_reg(obj);
@@ -4110,7 +4063,7 @@ index 37427e4..1449b45 100644
if (obj_priv->gtt_space) {
atomic_dec(&dev->gtt_count);
-@@ -1409,7 +1885,7 @@ i915_gem_evict_everything(struct drm_device *dev)
+@@ -1410,7 +1885,7 @@ i915_gem_evict_everything(struct drm_device *dev)
}
static int
@@ -4119,7 +4072,7 @@ index 37427e4..1449b45 100644
{
struct drm_i915_gem_object *obj_priv = obj->driver_private;
int page_count, i;
-@@ -1418,18 +1894,19 @@ i915_gem_object_get_page_list(struct drm_gem_object *obj)
+@@ -1419,18 +1894,19 @@ i915_gem_object_get_page_list(struct drm_gem_object *obj)
struct page *page;
int ret;
@@ -4144,7 +4097,7 @@ index 37427e4..1449b45 100644
return -ENOMEM;
}
-@@ -1440,10 +1917,10 @@ i915_gem_object_get_page_list(struct drm_gem_object *obj)
+@@ -1441,10 +1917,10 @@ i915_gem_object_get_page_list(struct drm_gem_object *obj)
if (IS_ERR(page)) {
ret = PTR_ERR(page);
DRM_ERROR("read_mapping_page failed: %d\n", ret);
@@ -4157,7 +4110,7 @@ index 37427e4..1449b45 100644
}
return 0;
}
-@@ -1519,20 +1996,23 @@ static void i830_write_fence_reg(struct drm_i915_fence_reg *reg)
+@@ -1520,20 +1996,23 @@ static void i830_write_fence_reg(struct drm_i915_fence_reg *reg)
int regnum = obj_priv->fence_reg;
uint32_t val;
uint32_t pitch_val;
@@ -4185,7 +4138,7 @@ index 37427e4..1449b45 100644
val |= pitch_val << I830_FENCE_PITCH_SHIFT;
val |= I830_FENCE_REG_VALID;
-@@ -1723,7 +2203,7 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
+@@ -1724,7 +2203,7 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
return -EBUSY;
if (alignment == 0)
alignment = i915_gem_get_gtt_alignment(obj);
@@ -4194,7 +4147,7 @@ index 37427e4..1449b45 100644
DRM_ERROR("Invalid object alignment requested %u\n", alignment);
return -EINVAL;
}
-@@ -1740,15 +2220,20 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
+@@ -1741,15 +2220,20 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
}
}
if (obj_priv->gtt_space == NULL) {
@@ -4218,7 +4171,7 @@ index 37427e4..1449b45 100644
DRM_ERROR("GTT full, but LRU list empty\n");
return -ENOMEM;
}
-@@ -1766,7 +2251,7 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
+@@ -1767,7 +2251,7 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
DRM_INFO("Binding object of size %d at 0x%08x\n",
obj->size, obj_priv->gtt_offset);
#endif
@@ -4227,7 +4180,7 @@ index 37427e4..1449b45 100644
if (ret) {
drm_mm_put_block(obj_priv->gtt_space);
obj_priv->gtt_space = NULL;
-@@ -1778,12 +2263,12 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
+@@ -1779,12 +2263,12 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
* into the GTT.
*/
obj_priv->agp_mem = drm_agp_bind_pages(dev,
@@ -4242,7 +4195,7 @@ index 37427e4..1449b45 100644
drm_mm_put_block(obj_priv->gtt_space);
obj_priv->gtt_space = NULL;
return -ENOMEM;
-@@ -1810,10 +2295,10 @@ i915_gem_clflush_object(struct drm_gem_object *obj)
+@@ -1811,10 +2295,10 @@ i915_gem_clflush_object(struct drm_gem_object *obj)
* to GPU, and we can ignore the cache flush because it'll happen
* again at bind time.
*/
@@ -4255,7 +4208,7 @@ index 37427e4..1449b45 100644
}
/** Flushes any GPU write domain for the object if it's dirty. */
-@@ -1913,7 +2398,6 @@ i915_gem_object_set_to_gtt_domain(struct drm_gem_object *obj, int write)
+@@ -1914,7 +2398,6 @@ i915_gem_object_set_to_gtt_domain(struct drm_gem_object *obj, int write)
static int
i915_gem_object_set_to_cpu_domain(struct drm_gem_object *obj, int write)
{
@@ -4263,7 +4216,7 @@ index 37427e4..1449b45 100644
int ret;
i915_gem_object_flush_gpu_write_domain(obj);
-@@ -1932,7 +2416,6 @@ i915_gem_object_set_to_cpu_domain(struct drm_gem_object *obj, int write)
+@@ -1933,7 +2416,6 @@ i915_gem_object_set_to_cpu_domain(struct drm_gem_object *obj, int write)
/* Flush the CPU cache if it's still invalid. */
if ((obj->read_domains & I915_GEM_DOMAIN_CPU) == 0) {
i915_gem_clflush_object(obj);
@@ -4271,7 +4224,7 @@ index 37427e4..1449b45 100644
obj->read_domains |= I915_GEM_DOMAIN_CPU;
}
-@@ -2144,7 +2627,6 @@ i915_gem_object_set_to_gpu_domain(struct drm_gem_object *obj)
+@@ -2145,7 +2627,6 @@ i915_gem_object_set_to_gpu_domain(struct drm_gem_object *obj)
static void
i915_gem_object_set_to_full_cpu_read_domain(struct drm_gem_object *obj)
{
@@ -4279,7 +4232,7 @@ index 37427e4..1449b45 100644
struct drm_i915_gem_object *obj_priv = obj->driver_private;
if (!obj_priv->page_cpu_valid)
-@@ -2158,9 +2640,8 @@ i915_gem_object_set_to_full_cpu_read_domain(struct drm_gem_object *obj)
+@@ -2159,9 +2640,8 @@ i915_gem_object_set_to_full_cpu_read_domain(struct drm_gem_object *obj)
for (i = 0; i <= (obj->size - 1) / PAGE_SIZE; i++) {
if (obj_priv->page_cpu_valid[i])
continue;
@@ -4290,7 +4243,7 @@ index 37427e4..1449b45 100644
}
/* Free the page_cpu_valid mappings which are now stale, whether
-@@ -2224,7 +2705,7 @@ i915_gem_object_set_cpu_read_domain_range(struct drm_gem_object *obj,
+@@ -2225,7 +2705,7 @@ i915_gem_object_set_cpu_read_domain_range(struct drm_gem_object *obj,
if (obj_priv->page_cpu_valid[i])
continue;
@@ -4299,7 +4252,7 @@ index 37427e4..1449b45 100644
obj_priv->page_cpu_valid[i] = 1;
}
-@@ -2245,12 +2726,11 @@ i915_gem_object_set_cpu_read_domain_range(struct drm_gem_object *obj,
+@@ -2246,12 +2726,11 @@ i915_gem_object_set_cpu_read_domain_range(struct drm_gem_object *obj,
static int
i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
struct drm_file *file_priv,
@@ -4314,7 +4267,7 @@ index 37427e4..1449b45 100644
struct drm_i915_gem_object *obj_priv = obj->driver_private;
int i, ret;
void __iomem *reloc_page;
-@@ -2262,25 +2742,18 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
+@@ -2263,25 +2742,18 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
entry->offset = obj_priv->gtt_offset;
@@ -4342,7 +4295,7 @@ index 37427e4..1449b45 100644
if (target_obj == NULL) {
i915_gem_object_unpin(obj);
return -EBADF;
-@@ -2292,53 +2765,53 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
+@@ -2293,53 +2765,53 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
*/
if (target_obj_priv->gtt_space == NULL) {
DRM_ERROR("No GTT space found for object %d\n",
@@ -4414,7 +4367,7 @@ index 37427e4..1449b45 100644
target_obj->pending_write_domain);
drm_gem_object_unreference(target_obj);
i915_gem_object_unpin(obj);
-@@ -2351,22 +2824,22 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
+@@ -2352,22 +2824,22 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
"presumed %08x delta %08x\n",
__func__,
obj,
@@ -4446,7 +4399,7 @@ index 37427e4..1449b45 100644
drm_gem_object_unreference(target_obj);
continue;
}
-@@ -2381,32 +2854,26 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
+@@ -2382,32 +2854,26 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
/* Map the page containing the relocation we're going to
* perform.
*/
@@ -4485,7 +4438,7 @@ index 37427e4..1449b45 100644
drm_gem_object_unreference(target_obj);
}
-@@ -2423,11 +2890,10 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
+@@ -2424,11 +2890,10 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj,
static int
i915_dispatch_gem_execbuffer(struct drm_device *dev,
struct drm_i915_gem_execbuffer *exec,
@@ -4498,7 +4451,7 @@ index 37427e4..1449b45 100644
int nbox = exec->num_cliprects;
int i = 0, count;
uint32_t exec_start, exec_len;
-@@ -2448,7 +2914,7 @@ i915_dispatch_gem_execbuffer(struct drm_device *dev,
+@@ -2449,7 +2914,7 @@ i915_dispatch_gem_execbuffer(struct drm_device *dev,
for (i = 0; i < count; i++) {
if (i < nbox) {
@@ -4507,7 +4460,7 @@ index 37427e4..1449b45 100644
exec->DR1, exec->DR4);
if (ret)
return ret;
-@@ -2504,6 +2970,75 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file_priv)
+@@ -2505,6 +2970,75 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file_priv)
return ret;
}
@@ -4583,7 +4536,7 @@ index 37427e4..1449b45 100644
int
i915_gem_execbuffer(struct drm_device *dev, void *data,
struct drm_file *file_priv)
-@@ -2515,9 +3050,11 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -2516,9 +3050,11 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
struct drm_gem_object **object_list = NULL;
struct drm_gem_object *batch_obj;
struct drm_i915_gem_object *obj_priv;
@@ -4597,7 +4550,7 @@ index 37427e4..1449b45 100644
int pin_tries;
#if WATCH_EXEC
-@@ -2551,6 +3088,28 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -2552,6 +3088,28 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
goto pre_mutex_err;
}
@@ -4626,7 +4579,7 @@ index 37427e4..1449b45 100644
mutex_lock(&dev->struct_mutex);
i915_verify_inactive(dev, __FILE__, __LINE__);
-@@ -2593,15 +3152,19 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -2594,15 +3152,19 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
/* Pin and relocate */
for (pin_tries = 0; ; pin_tries++) {
ret = 0;
@@ -4647,7 +4600,7 @@ index 37427e4..1449b45 100644
}
/* success */
if (ret == 0)
-@@ -2687,7 +3250,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
+@@ -2688,7 +3250,7 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,
#endif
/* Exec the batchbuffer */
@@ -4656,7 +4609,7 @@ index 37427e4..1449b45 100644
if (ret) {
DRM_ERROR("dispatch failed %d\n", ret);
goto err;
-@@ -2751,11 +3314,27 @@ err:
+@@ -2752,11 +3314,27 @@ err:
args->buffer_count, ret);
}
@@ -4684,7 +4637,7 @@ index 37427e4..1449b45 100644
return ret;
}
-@@ -3110,6 +3689,7 @@ i915_gem_idle(struct drm_device *dev)
+@@ -3111,6 +3689,7 @@ i915_gem_idle(struct drm_device *dev)
i915_gem_retire_requests(dev);
@@ -4692,7 +4645,7 @@ index 37427e4..1449b45 100644
if (!dev_priv->mm.wedged) {
/* Active and flushing should now be empty as we've
* waited for a sequence higher than any pending execbuffer
-@@ -3136,6 +3716,7 @@ i915_gem_idle(struct drm_device *dev)
+@@ -3137,6 +3716,7 @@ i915_gem_idle(struct drm_device *dev)
obj_priv->obj->write_domain &= ~I915_GEM_GPU_DOMAINS;
i915_gem_object_move_to_inactive(obj_priv->obj);
}
@@ -4700,7 +4653,7 @@ index 37427e4..1449b45 100644
while (!list_empty(&dev_priv->mm.flushing_list)) {
struct drm_i915_gem_object *obj_priv;
-@@ -3192,7 +3773,7 @@ i915_gem_init_hws(struct drm_device *dev)
+@@ -3193,7 +3773,7 @@ i915_gem_init_hws(struct drm_device *dev)
dev_priv->status_gfx_addr = obj_priv->gtt_offset;
@@ -4709,7 +4662,7 @@ index 37427e4..1449b45 100644
if (dev_priv->hw_status_page == NULL) {
DRM_ERROR("Failed to map status page.\n");
memset(&dev_priv->hws_map, 0, sizeof(dev_priv->hws_map));
-@@ -3222,7 +3803,7 @@ i915_gem_cleanup_hws(struct drm_device *dev)
+@@ -3223,7 +3803,7 @@ i915_gem_cleanup_hws(struct drm_device *dev)
obj = dev_priv->hws_obj;
obj_priv = obj->driver_private;
@@ -4718,7 +4671,7 @@ index 37427e4..1449b45 100644
i915_gem_object_unpin(obj);
drm_gem_object_unreference(obj);
dev_priv->hws_obj = NULL;
-@@ -3384,7 +3965,10 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data,
+@@ -3385,7 +3965,10 @@ i915_gem_entervt_ioctl(struct drm_device *dev, void *data,
if (ret != 0)
return ret;
@@ -4729,7 +4682,7 @@ index 37427e4..1449b45 100644
BUG_ON(!list_empty(&dev_priv->mm.flushing_list));
BUG_ON(!list_empty(&dev_priv->mm.inactive_list));
BUG_ON(!list_empty(&dev_priv->mm.request_list));
-@@ -3428,6 +4012,7 @@ i915_gem_load(struct drm_device *dev)
+@@ -3429,6 +4012,7 @@ i915_gem_load(struct drm_device *dev)
{
drm_i915_private_t *dev_priv = dev->dev_private;
@@ -4737,7 +4690,7 @@ index 37427e4..1449b45 100644
INIT_LIST_HEAD(&dev_priv->mm.active_list);
INIT_LIST_HEAD(&dev_priv->mm.flushing_list);
INIT_LIST_HEAD(&dev_priv->mm.inactive_list);
-@@ -3525,20 +4110,20 @@ void i915_gem_detach_phys_object(struct drm_device *dev,
+@@ -3526,20 +4110,20 @@ void i915_gem_detach_phys_object(struct drm_device *dev,
if (!obj_priv->phys_obj)
return;
@@ -4761,7 +4714,7 @@ index 37427e4..1449b45 100644
drm_agp_chipset_flush(dev);
out:
obj_priv->phys_obj->cur_obj = NULL;
-@@ -3581,7 +4166,7 @@ i915_gem_attach_phys_object(struct drm_device *dev,
+@@ -3582,7 +4166,7 @@ i915_gem_attach_phys_object(struct drm_device *dev,
obj_priv->phys_obj = dev_priv->mm.phys_objs[id - 1];
obj_priv->phys_obj->cur_obj = obj;
@@ -4770,7 +4723,7 @@ index 37427e4..1449b45 100644
if (ret) {
DRM_ERROR("failed to get page list\n");
goto out;
-@@ -3590,7 +4175,7 @@ i915_gem_attach_phys_object(struct drm_device *dev,
+@@ -3591,7 +4175,7 @@ i915_gem_attach_phys_object(struct drm_device *dev,
page_count = obj->size / PAGE_SIZE;
for (i = 0; i < page_count; i++) {
@@ -5408,62 +5361,10 @@ index 4d1b9de..0000000
- remove_proc_entry(i915_gem_proc_list[i].name, minor->dev_root);
-}
diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c
-index 7fb4191..6be3f92 100644
+index 4cce1ae..6be3f92 100644
--- a/drivers/gpu/drm/i915/i915_gem_tiling.c
+++ b/drivers/gpu/drm/i915/i915_gem_tiling.c
-@@ -96,16 +96,16 @@ i915_gem_detect_bit_6_swizzle(struct drm_device *dev)
- */
- swizzle_x = I915_BIT_6_SWIZZLE_NONE;
- swizzle_y = I915_BIT_6_SWIZZLE_NONE;
-- } else if ((!IS_I965G(dev) && !IS_G33(dev)) || IS_I965GM(dev) ||
-- IS_GM45(dev)) {
-+ } else if (IS_MOBILE(dev)) {
- uint32_t dcc;
-
-- /* On 915-945 and GM965, channel interleave by the CPU is
-- * determined by DCC. The CPU will alternate based on bit 6
-- * in interleaved mode, and the GPU will then also alternate
-- * on bit 6, 9, and 10 for X, but the CPU may also optionally
-- * alternate based on bit 17 (XOR not disabled and XOR
-- * bit == 17).
-+ /* On mobile 9xx chipsets, channel interleave by the CPU is
-+ * determined by DCC. For single-channel, neither the CPU
-+ * nor the GPU do swizzling. For dual channel interleaved,
-+ * the GPU's interleave is bit 9 and 10 for X tiled, and bit
-+ * 9 for Y tiled. The CPU's interleave is independent, and
-+ * can be based on either bit 11 (haven't seen this yet) or
-+ * bit 17 (common).
- */
- dcc = I915_READ(DCC);
- switch (dcc & DCC_ADDRESSING_MODE_MASK) {
-@@ -115,19 +115,18 @@ i915_gem_detect_bit_6_swizzle(struct drm_device *dev)
- swizzle_y = I915_BIT_6_SWIZZLE_NONE;
- break;
- case DCC_ADDRESSING_MODE_DUAL_CHANNEL_INTERLEAVED:
-- if (IS_I915G(dev) || IS_I915GM(dev) ||
-- dcc & DCC_CHANNEL_XOR_DISABLE) {
-+ if (dcc & DCC_CHANNEL_XOR_DISABLE) {
-+ /* This is the base swizzling by the GPU for
-+ * tiled buffers.
-+ */
- swizzle_x = I915_BIT_6_SWIZZLE_9_10;
- swizzle_y = I915_BIT_6_SWIZZLE_9;
-- } else if ((IS_I965GM(dev) || IS_GM45(dev)) &&
-- (dcc & DCC_CHANNEL_XOR_BIT_17) == 0) {
-- /* GM965/GM45 does either bit 11 or bit 17
-- * swizzling.
-- */
-+ } else if ((dcc & DCC_CHANNEL_XOR_BIT_17) == 0) {
-+ /* Bit 11 swizzling by the CPU in addition. */
- swizzle_x = I915_BIT_6_SWIZZLE_9_10_11;
- swizzle_y = I915_BIT_6_SWIZZLE_9_11;
- } else {
-- /* Bit 17 or perhaps other swizzling */
-+ /* Bit 17 swizzling by the CPU in addition. */
- swizzle_x = I915_BIT_6_SWIZZLE_UNKNOWN;
- swizzle_y = I915_BIT_6_SWIZZLE_UNKNOWN;
- }
-@@ -217,6 +216,22 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode)
+@@ -216,6 +216,22 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode)
else
tile_width = 512;
@@ -5617,7 +5518,7 @@ index 87b6b60..ee7ce7b 100644
I915_WRITE(PIPEASTAT, 0);
I915_WRITE(PIPEBSTAT, 0);
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
-index 90600d8..e805b59 100644
+index cc2938d..e805b59 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -190,6 +190,8 @@
@@ -5666,25 +5567,10 @@ index 90600d8..e805b59 100644
#define FP_M2_DIV_SHIFT 0
#define DPLL_TEST 0x606c
#define DPLLB_TEST_SDVO_DIV_1 (0 << 22)
-@@ -629,6 +636,30 @@
- #define TV_HOTPLUG_INT_EN (1 << 18)
- #define CRT_HOTPLUG_INT_EN (1 << 9)
- #define CRT_HOTPLUG_FORCE_DETECT (1 << 3)
-+#define CRT_HOTPLUG_ACTIVATION_PERIOD_32 (0 << 8)
-+/* must use period 64 on GM45 according to docs */
-+#define CRT_HOTPLUG_ACTIVATION_PERIOD_64 (1 << 8)
-+#define CRT_HOTPLUG_DAC_ON_TIME_2M (0 << 7)
-+#define CRT_HOTPLUG_DAC_ON_TIME_4M (1 << 7)
-+#define CRT_HOTPLUG_VOLTAGE_COMPARE_40 (0 << 5)
-+#define CRT_HOTPLUG_VOLTAGE_COMPARE_50 (1 << 5)
-+#define CRT_HOTPLUG_VOLTAGE_COMPARE_60 (2 << 5)
-+#define CRT_HOTPLUG_VOLTAGE_COMPARE_70 (3 << 5)
-+#define CRT_HOTPLUG_VOLTAGE_COMPARE_MASK (3 << 5)
-+#define CRT_HOTPLUG_DETECT_DELAY_1G (0 << 4)
-+#define CRT_HOTPLUG_DETECT_DELAY_2G (1 << 4)
-+#define CRT_HOTPLUG_DETECT_VOLTAGE_325MV (0 << 2)
-+#define CRT_HOTPLUG_DETECT_VOLTAGE_475MV (1 << 2)
-+#define CRT_HOTPLUG_MASK (0x3fc) /* Bits 9-2 */
+@@ -644,6 +651,14 @@
+ #define CRT_HOTPLUG_DETECT_VOLTAGE_325MV (0 << 2)
+ #define CRT_HOTPLUG_DETECT_VOLTAGE_475MV (1 << 2)
+ #define CRT_HOTPLUG_MASK (0x3fc) /* Bits 9-2 */
+#define CRT_FORCE_HOTPLUG_MASK 0xfffffe1f
+#define HOTPLUG_EN_MASK (HDMIB_HOTPLUG_INT_EN | \
+ HDMIC_HOTPLUG_INT_EN | \
@@ -5693,11 +5579,10 @@ index 90600d8..e805b59 100644
+ SDVOC_HOTPLUG_INT_EN | \
+ TV_HOTPLUG_INT_EN | \
+ CRT_HOTPLUG_INT_EN)
-+
+
#define PORT_HOTPLUG_STAT 0x61114
- #define HDMIB_HOTPLUG_INT_STATUS (1 << 29)
-@@ -856,7 +887,7 @@
+@@ -872,7 +887,7 @@
*/
# define TV_ENC_C0_FIX (1 << 10)
/** Bits that must be preserved by software */
@@ -5731,7 +5616,7 @@ index 5ea715a..de621aa 100644
} __attribute__((packed));
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
-index dcaed34..9bdd959 100644
+index 61c108e..9bdd959 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -41,7 +41,7 @@ static void intel_crt_dpms(struct drm_encoder *encoder, int mode)
@@ -5783,61 +5668,17 @@ index dcaed34..9bdd959 100644
I915_WRITE(ADPA, adpa);
}
-@@ -133,20 +146,39 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
- {
- struct drm_device *dev = connector->dev;
- struct drm_i915_private *dev_priv = dev->dev_private;
-- u32 temp;
--
-- unsigned long timeout = jiffies + msecs_to_jiffies(1000);
--
-- temp = I915_READ(PORT_HOTPLUG_EN);
--
-- I915_WRITE(PORT_HOTPLUG_EN,
-- temp | CRT_HOTPLUG_FORCE_DETECT | (1 << 5));
-+ u32 hotplug_en;
-+ int i, tries = 0;
-+ /*
-+ * On 4 series desktop, CRT detect sequence need to be done twice
-+ * to get a reliable result.
-+ */
-
-- do {
-- if (!(I915_READ(PORT_HOTPLUG_EN) & CRT_HOTPLUG_FORCE_DETECT))
-- break;
-- msleep(1);
-- } while (time_after(timeout, jiffies));
-+ if (IS_G4X(dev) && !IS_GM45(dev))
-+ tries = 2;
-+ else
-+ tries = 1;
-+ hotplug_en = I915_READ(PORT_HOTPLUG_EN);
+@@ -145,7 +158,7 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
+ else
+ tries = 1;
+ hotplug_en = I915_READ(PORT_HOTPLUG_EN);
+- hotplug_en &= ~(CRT_HOTPLUG_MASK);
+ hotplug_en &= CRT_FORCE_HOTPLUG_MASK;
-+ hotplug_en |= CRT_HOTPLUG_FORCE_DETECT;
-+
-+ if (IS_GM45(dev))
-+ hotplug_en |= CRT_HOTPLUG_ACTIVATION_PERIOD_64;
-+
-+ hotplug_en |= CRT_HOTPLUG_VOLTAGE_COMPARE_50;
-+
-+ for (i = 0; i < tries ; i++) {
-+ unsigned long timeout;
-+ /* turn on the FORCE_DETECT */
-+ I915_WRITE(PORT_HOTPLUG_EN, hotplug_en);
-+ timeout = jiffies + msecs_to_jiffies(1000);
-+ /* wait for FORCE_DETECT to go off */
-+ do {
-+ if (!(I915_READ(PORT_HOTPLUG_EN) &
-+ CRT_HOTPLUG_FORCE_DETECT))
-+ break;
-+ msleep(1);
-+ } while (time_after(timeout, jiffies));
-+ }
+ hotplug_en |= CRT_HOTPLUG_FORCE_DETECT;
- if ((I915_READ(PORT_HOTPLUG_STAT) & CRT_HOTPLUG_MONITOR_MASK) ==
- CRT_HOTPLUG_MONITOR_COLOR)
+ if (IS_GM45(dev))
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index a283427..64773ce 100644
+index 601a76f..64773ce 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -56,11 +56,13 @@ typedef struct {
@@ -6178,7 +6019,7 @@ index a283427..64773ce 100644
-static void intel_clock(int refclk, intel_clock_t *clock)
+/* m1 is reserved as 0 in IGD, n is a ring counter */
+static void igd_clock(int refclk, intel_clock_t *clock)
-+{
+ {
+ clock->m = clock->m2 + 2;
+ clock->p = clock->p1 * clock->p2;
+ clock->vco = refclk * clock->m / clock->n;
@@ -6186,7 +6027,7 @@ index a283427..64773ce 100644
+}
+
+static void intel_clock(struct drm_device *dev, int refclk, intel_clock_t *clock)
- {
++{
+ if (IS_IGD(dev)) {
+ igd_clock(refclk, clock);
+ return;
@@ -6453,29 +6294,6 @@ index a283427..64773ce 100644
}
}
-@@ -1474,13 +1834,21 @@ static void intel_setup_outputs(struct drm_device *dev)
-
- if (IS_I9XX(dev)) {
- int found;
-+ u32 reg;
-
- if (I915_READ(SDVOB) & SDVO_DETECTED) {
- found = intel_sdvo_init(dev, SDVOB);
- if (!found && SUPPORTS_INTEGRATED_HDMI(dev))
- intel_hdmi_init(dev, SDVOB);
- }
-- if (!IS_G4X(dev) || (I915_READ(SDVOB) & SDVO_DETECTED)) {
-+
-+ /* Before G4X SDVOC doesn't have its own detect register */
-+ if (IS_G4X(dev))
-+ reg = SDVOC;
-+ else
-+ reg = SDVOB;
-+
-+ if (I915_READ(reg) & SDVO_DETECTED) {
- found = intel_sdvo_init(dev, SDVOC);
- if (!found && SUPPORTS_INTEGRATED_HDMI(dev))
- intel_hdmi_init(dev, SDVOC);
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
index 0d211af..6619f26 100644
--- a/drivers/gpu/drm/i915/intel_lvds.c
@@ -6867,7 +6685,7 @@ index 1117b9c..193938b 100644
/* I2C registers for SDVO */
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
-index 56485d6..d2c3298 100644
+index b05cb67..0ab2d3a 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -217,8 +217,8 @@ static const u32 filter_table[] = {
@@ -7294,59 +7112,11 @@ index 56485d6..d2c3298 100644
}
static void
-@@ -1558,33 +1570,49 @@ intel_tv_set_property(struct drm_connector *connector, struct drm_property *prop
- struct drm_device *dev = connector->dev;
- struct intel_output *intel_output = to_intel_output(connector);
- struct intel_tv_priv *tv_priv = intel_output->dev_priv;
-+ struct drm_encoder *encoder = &intel_output->enc;
-+ struct drm_crtc *crtc = encoder->crtc;
- int ret = 0;
-+ bool changed = false;
-
- ret = drm_connector_property_set_value(connector, property, val);
- if (ret < 0)
- goto out;
-
-- if (property == dev->mode_config.tv_left_margin_property)
-+ if (property == dev->mode_config.tv_left_margin_property &&
-+ tv_priv->margin[TV_MARGIN_LEFT] != val) {
- tv_priv->margin[TV_MARGIN_LEFT] = val;
-- else if (property == dev->mode_config.tv_right_margin_property)
-+ changed = true;
-+ } else if (property == dev->mode_config.tv_right_margin_property &&
-+ tv_priv->margin[TV_MARGIN_RIGHT] != val) {
- tv_priv->margin[TV_MARGIN_RIGHT] = val;
-- else if (property == dev->mode_config.tv_top_margin_property)
-+ changed = true;
-+ } else if (property == dev->mode_config.tv_top_margin_property &&
-+ tv_priv->margin[TV_MARGIN_TOP] != val) {
- tv_priv->margin[TV_MARGIN_TOP] = val;
-- else if (property == dev->mode_config.tv_bottom_margin_property)
-+ changed = true;
-+ } else if (property == dev->mode_config.tv_bottom_margin_property &&
-+ tv_priv->margin[TV_MARGIN_BOTTOM] != val) {
- tv_priv->margin[TV_MARGIN_BOTTOM] = val;
-- else if (property == dev->mode_config.tv_mode_property) {
-+ changed = true;
-+ } else if (property == dev->mode_config.tv_mode_property) {
- if (val >= NUM_TV_MODES) {
- ret = -EINVAL;
- goto out;
- }
-+ if (!strcmp(tv_priv->tv_format, tv_modes[val].name))
-+ goto out;
-+
- tv_priv->tv_format = tv_modes[val].name;
-- intel_tv_mode_set(&intel_output->enc, NULL, NULL);
-+ changed = true;
- } else {
- ret = -EINVAL;
- goto out;
- }
+@@ -1600,7 +1612,7 @@ intel_tv_set_property(struct drm_connector *connector, struct drm_property *prop
-- intel_tv_mode_set(&intel_output->enc, NULL, NULL);
-+ if (changed && crtc)
-+ drm_crtc_helper_set_mode(crtc, &crtc->mode, crtc->x,
+ if (changed && crtc)
+ drm_crtc_helper_set_mode(crtc, &crtc->mode, crtc->x,
+- crtc->y, crtc->fb);
+ crtc->y, crtc->fb, 0);
out:
return ret;
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/kernel.spec,v
retrieving revision 1.1580
retrieving revision 1.1581
diff -u -p -r1.1580 -r1.1581
--- kernel.spec 30 Apr 2009 09:34:25 -0000 1.1580
+++ kernel.spec 1 May 2009 18:41:25 -0000 1.1581
@@ -37,7 +37,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
-%define stable_update 1
+%define stable_update 2
# Is it a -stable RC?
%define stable_rc 0
# Set rpm version accordingly
@@ -600,7 +600,6 @@ Patch30: linux-2.6-iommu-fixes.patch
Patch41: linux-2.6-sysrq-c.patch
-Patch100: linux-2.6-e820-mark-esi-clobbered.patch
Patch101: linux-2.6-e820-save-restore-edi-ebp.patch
Patch102: linux-2.6-e820-acpi3-bios-workaround.patch
Patch103: linux-2.6-e820-guard-against-pre-acpi3.patch
@@ -629,7 +628,6 @@ Patch392: linux-2.6-acpi-strict-resource
Patch393: linux-2.6-hwmon-atk0110.patch
Patch394: linux-2.6-acpi-video-didl-intel-outputs.patch
Patch395: linux-2.6-sony-laptop-rfkill.patch
-Patch396: linux-2.6-acer-wmi-bail-on-aao.patch
Patch400: linux-2.6-scsi-cpqarray-set-master.patch
Patch450: linux-2.6-input-kill-stupid-messages.patch
Patch451: linux-2.6-input-fix-toshiba-hotkeys.patch
@@ -647,7 +645,6 @@ Patch511: linux-2.6-shut-up-efifb.patch
Patch530: linux-2.6-silence-fbcon-logo.patch
Patch570: linux-2.6-selinux-mprotect-checks.patch
Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
-Patch590: linux-2.6.29.1-sparc-regression.patch
Patch600: linux-2.6-defaults-alsa-hda-beep-off.patch
Patch601: alsa-rewrite-hw_ptr-updaters.patch
Patch602: alsa-pcm-always-reset-invalid-position.patch
@@ -707,8 +704,6 @@ Patch2201: linux-2.6-firewire-git-pendin
# silence the ACPI blacklist code
Patch2802: linux-2.6-silence-acpi-blacklist.patch
-Patch2899: linux-2.6-v4l-dvb-fixes.patch
-Patch2900: linux-2.6-v4l-dvb-update.patch
Patch2901: linux-2.6-v4l-dvb-experimental.patch
Patch2902: linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch
Patch2903: linux-2.6-revert-dvb-net-kabi-change.patch
@@ -727,17 +722,8 @@ Patch4000: linux-2.6-usb-cdc-acm-remove-
Patch5000: linux-2.6-add-qcserial.patch
# patches headed for -stable
-# fix oops in md raid1 (#495550)
-Patch6000: linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch
# fix squashfs on systems where pagesize > blocksize (ia64, ppc64 w/64k pages)
Patch6010: squashfs-broken-when-pagesize-greater-than-blocksize.patch
-# fix duplicated flags value
-Patch7000: linux-2.6-mm-define-unique-value-for-as_unevictable.patch
-# fix posix clock monotonicity
-Patch7001: linux-2.6-posix-timers-fix-clock-monotonicity.patch
-# make RLIMIT_CPU work again
-Patch7003: linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch
-Patch7004: linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch
Patch7005: linux-2.6-i2c-fix-bit-algorithm-timeout.patch
Patch9000: hpet-fixes.patch
@@ -749,18 +735,10 @@ Patch9002: cpufreq-add-atom-to-p4-clockm
#Adding dropwatch into rawhide until we get to 2.6.30
Patch9003: linux-2.6-dropwatch-protocol.patch
-# fix for net lockups, will be in 2.6.29.1
-Patch9101: linux-2.6-net-fix-another-gro-bug.patch
-
# kvm fixes
-Patch9300: linux-2.6-kvm-kconfig-irqchip.patch
-Patch9301: linux-2.6-kvm-mask-notifiers.patch
-Patch9302: linux-2.6-kvm-reset-pit-irq-on-unmask.patch
Patch9303: linux-2.6-kvm-skip-pit-check.patch
Patch9304: linux-2.6-xen-check-for-nx-support.patch
-Patch9400: pat-remove-page-granularity-tracking-for-vm_insert_pfn_maps.patch
-
# FPU state can become corrupt
Patch9510: linux-2.6-x86-64-fix-fpu-corruption-with-signals-and-preemption.patch
@@ -1171,7 +1149,6 @@ ApplyPatch linux-2.6-sysrq-c.patch
# Architecture patches
# x86(-64)
-ApplyPatch linux-2.6-e820-mark-esi-clobbered.patch
ApplyPatch linux-2.6-e820-save-restore-edi-ebp.patch
ApplyPatch linux-2.6-e820-acpi3-bios-workaround.patch
ApplyPatch linux-2.6-e820-guard-against-pre-acpi3.patch
@@ -1196,7 +1173,6 @@ ApplyPatch linux-2.6-imac-transparent-br
#
ApplyPatch linux-2.6.29-sparc-IOC_TYPECHECK.patch
-ApplyPatch linux-2.6.29.1-sparc-regression.patch
#
# Exec shield
#
@@ -1233,7 +1209,6 @@ ApplyPatch linux-2.6-acpi-strict-resourc
ApplyPatch linux-2.6-hwmon-atk0110.patch
ApplyPatch linux-2.6-acpi-video-didl-intel-outputs.patch
ApplyPatch linux-2.6-sony-laptop-rfkill.patch
-ApplyPatch linux-2.6-acer-wmi-bail-on-aao.patch
# Various low-impact patches to aid debugging.
ApplyPatch linux-2.6-debug-sizeof-structs.patch
@@ -1377,19 +1352,12 @@ C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-fire
ApplyPatch linux-2.6-silence-acpi-blacklist.patch
# V4L/DVB updates/fixes/experimental drivers
-ApplyPatch linux-2.6-v4l-dvb-fixes.patch
-ApplyPatch linux-2.6-v4l-dvb-update.patch
ApplyPatch linux-2.6-v4l-dvb-experimental.patch
ApplyPatch linux-2.6-v4l-dvb-fix-uint16_t-audio-h.patch
ApplyPatch linux-2.6-revert-dvb-net-kabi-change.patch
# patches headed for -stable
-ApplyPatch linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch
ApplyPatch squashfs-broken-when-pagesize-greater-than-blocksize.patch
-ApplyPatch linux-2.6-mm-define-unique-value-for-as_unevictable.patch
-ApplyPatch linux-2.6-posix-timers-fix-clock-monotonicity.patch
-ApplyPatch linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch
-ApplyPatch linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch
ApplyPatch linux-2.6-i2c-fix-bit-algorithm-timeout.patch
ApplyPatch hpet-fixes.patch
@@ -1401,17 +1369,10 @@ ApplyPatch cpufreq-add-atom-to-p4-clockm
ApplyPatch linux-2.6-dropwatch-protocol.patch
-ApplyPatch linux-2.6-net-fix-another-gro-bug.patch
-
# kvm fixes
-ApplyPatch linux-2.6-kvm-kconfig-irqchip.patch
-ApplyPatch linux-2.6-kvm-mask-notifiers.patch
-ApplyPatch linux-2.6-kvm-reset-pit-irq-on-unmask.patch
ApplyPatch linux-2.6-kvm-skip-pit-check.patch
ApplyPatch linux-2.6-xen-check-for-nx-support.patch
-ApplyPatch pat-remove-page-granularity-tracking-for-vm_insert_pfn_maps.patch
-
ApplyPatch linux-2.6-x86-64-fix-fpu-corruption-with-signals-and-preemption.patch
# END OF PATCH APPLICATIONS
@@ -1999,6 +1960,28 @@ fi
# and build.
%changelog
+* Thu Apr 30 2009 Kyle McMartin <kyle at redhat.com> 2.6.29.2-119
+- Update to 2.6.29.2
+- Patches rebased:
+ linux-2.6-v4l-dvb-experimental.patch
+ drm-next.patch
+- Patches merged upstream:
+ linux-2.6-acer-wmi-bail-on-aao.patch
+ linux-2.6-e820-mark-esi-clobbered.patch
+ linux-2.6-kvm-kconfig-irqchip.patch
+ linux-2.6-kvm-mask-notifiers.patch
+ linux-2.6-kvm-reset-pit-irq-on-unmask.patch
+ linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch
+ linux-2.6-mm-define-unique-value-for-as_unevictable.patch
+ linux-2.6-net-fix-another-gro-bug.patch
+ linux-2.6-posix-timers-fix-clock-monotonicity.patch
+ linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch
+ linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch
+ linux-2.6-v4l-dvb-fixes.patch
+ linux-2.6-v4l-dvb-update.patch
+ linux-2.6.29.1-sparc-regression.patch
+ pat-remove-page-granularity-tracking-for-vm_insert_pfn_maps.patch
+
* Thu Apr 30 2009 Dave Airlie <airlied at redhat.com> 2.6.29.1-118
- drm-radeon-kms-fixes.patch: revert rs480 snoop break
linux-2.6-v4l-dvb-experimental.patch:
Index: linux-2.6-v4l-dvb-experimental.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/linux-2.6-v4l-dvb-experimental.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -p -r1.8 -r1.9
--- linux-2.6-v4l-dvb-experimental.patch 30 Mar 2009 12:11:44 -0000 1.8
+++ linux-2.6-v4l-dvb-experimental.patch 1 May 2009 18:41:26 -0000 1.9
@@ -392,10 +392,10 @@ index 0000000..31ba8c5
+MODULE_AUTHOR("Pierre Ossman");
+MODULE_LICENSE("GPL");
diff --git a/drivers/media/video/Kconfig b/drivers/media/video/Kconfig
-index 76bad58..58abbe3 100644
+index 19cf3b8..2409065 100644
--- a/drivers/media/video/Kconfig
+++ b/drivers/media/video/Kconfig
-@@ -795,6 +795,8 @@ source "drivers/media/video/hdpvr/Kconfig"
+@@ -819,6 +819,8 @@ source "drivers/media/video/pvrusb2/Kconfig"
source "drivers/media/video/em28xx/Kconfig"
@@ -405,10 +405,10 @@ index 76bad58..58abbe3 100644
source "drivers/media/video/usbvideo/Kconfig"
diff --git a/drivers/media/video/Makefile b/drivers/media/video/Makefile
-index b904674..08765d8 100644
+index 72f6d03..13cd579 100644
--- a/drivers/media/video/Makefile
+++ b/drivers/media/video/Makefile
-@@ -67,6 +67,7 @@ obj-$(CONFIG_VIDEO_MEYE) += meye.o
+@@ -70,6 +70,7 @@ obj-$(CONFIG_VIDEO_MEYE) += meye.o
obj-$(CONFIG_VIDEO_SAA7134) += saa7134/
obj-$(CONFIG_VIDEO_CX88) += cx88/
obj-$(CONFIG_VIDEO_EM28XX) += em28xx/
@@ -14281,7 +14281,7 @@ index 0000000..aa4a23e
+}
+#endif
diff --git a/drivers/media/video/cx25840/cx25840-audio.c b/drivers/media/video/cx25840/cx25840-audio.c
-index 93d74be..2f846f5 100644
+index d199d80..95e3f95 100644
--- a/drivers/media/video/cx25840/cx25840-audio.c
+++ b/drivers/media/video/cx25840/cx25840-audio.c
@@ -32,7 +32,7 @@ static int set_audclk_freq(struct i2c_client *client, u32 freq)
@@ -14420,10 +14420,10 @@ index 93d74be..2f846f5 100644
static int get_volume(struct i2c_client *client)
diff --git a/drivers/media/video/cx25840/cx25840-core.c b/drivers/media/video/cx25840/cx25840-core.c
-index 737ee4e..f8ed3c0 100644
+index 25eb3be..7d6b0bb 100644
--- a/drivers/media/video/cx25840/cx25840-core.c
+++ b/drivers/media/video/cx25840/cx25840-core.c
-@@ -345,6 +345,77 @@ static void cx23885_initialize(struct i2c_client *client)
+@@ -348,6 +348,77 @@ static void cx23885_initialize(struct i2c_client *client)
/* ----------------------------------------------------------------------- */
@@ -14501,7 +14501,7 @@ index 737ee4e..f8ed3c0 100644
void cx25840_std_setup(struct i2c_client *client)
{
struct cx25840_state *state = to_state(i2c_get_clientdata(client));
-@@ -414,39 +485,41 @@ void cx25840_std_setup(struct i2c_client *client)
+@@ -417,39 +488,41 @@ void cx25840_std_setup(struct i2c_client *client)
}
/* DEBUG: Displays configured PLL frequency */
@@ -14575,7 +14575,7 @@ index 737ee4e..f8ed3c0 100644
}
/* Sets horizontal blanking delay and active lines */
-@@ -596,7 +669,7 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp
+@@ -599,7 +672,7 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp
* configuration in reg (for the cx23885) so we have no
* need to attempt to flip bits for earlier av decoders.
*/
@@ -14584,7 +14584,7 @@ index 737ee4e..f8ed3c0 100644
switch (aud_input) {
case CX25840_AUDIO_SERIAL:
/* do nothing, use serial audio input */
-@@ -619,7 +692,7 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp
+@@ -622,7 +695,7 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp
/* Set INPUT_MODE to Composite (0) or S-Video (1) */
cx25840_and_or(client, 0x401, ~0x6, is_composite ? 0 : 0x02);
@@ -14593,7 +14593,7 @@ index 737ee4e..f8ed3c0 100644
/* Set CH_SEL_ADC2 to 1 if input comes from CH3 */
cx25840_and_or(client, 0x102, ~0x2, (reg & 0x80) == 0 ? 2 : 0);
/* Set DUAL_MODE_ADC2 to 1 if input comes from both CH2&CH3 */
-@@ -659,6 +732,19 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp
+@@ -662,6 +735,19 @@ static int set_input(struct i2c_client *client, enum cx25840_video_input vid_inp
*/
cx25840_write(client, 0x918, 0xa0);
cx25840_write(client, 0x919, 0x01);
@@ -14613,7 +14613,7 @@ index 737ee4e..f8ed3c0 100644
}
return 0;
-@@ -1118,6 +1204,8 @@ static int cx25840_init(struct v4l2_subdev *sd, u32 val)
+@@ -1113,6 +1199,8 @@ static int cx25840_init(struct v4l2_subdev *sd, u32 val)
cx25836_initialize(client);
else if (state->is_cx23885)
cx23885_initialize(client);
@@ -14622,7 +14622,7 @@ index 737ee4e..f8ed3c0 100644
else
cx25840_initialize(client);
}
-@@ -1159,7 +1247,7 @@ static int cx25840_s_stream(struct v4l2_subdev *sd, int enable)
+@@ -1168,7 +1256,7 @@ static int cx25840_s_stream(struct v4l2_subdev *sd, int enable)
v4l_dbg(1, cx25840_debug, client, "%s output\n",
enable ? "enable" : "disable");
if (enable) {
@@ -14631,7 +14631,7 @@ index 737ee4e..f8ed3c0 100644
u8 v = (cx25840_read(client, 0x421) | 0x0b);
cx25840_write(client, 0x421, v);
} else {
-@@ -1169,7 +1257,7 @@ static int cx25840_s_stream(struct v4l2_subdev *sd, int enable)
+@@ -1178,7 +1266,7 @@ static int cx25840_s_stream(struct v4l2_subdev *sd, int enable)
state->is_cx25836 ? 0x04 : 0x07);
}
} else {
@@ -14640,7 +14640,7 @@ index 737ee4e..f8ed3c0 100644
u8 v = cx25840_read(client, 0x421) & ~(0x0b);
cx25840_write(client, 0x421, v);
} else {
-@@ -1350,6 +1438,8 @@ static int cx25840_reset(struct v4l2_subdev *sd, u32 val)
+@@ -1356,6 +1444,8 @@ static int cx25840_reset(struct v4l2_subdev *sd, u32 val)
cx25836_initialize(client);
else if (state->is_cx23885)
cx23885_initialize(client);
@@ -14649,7 +14649,7 @@ index 737ee4e..f8ed3c0 100644
else
cx25840_initialize(client);
return 0;
-@@ -1449,6 +1539,8 @@ static int cx25840_probe(struct i2c_client *client,
+@@ -1468,6 +1558,8 @@ static int cx25840_probe(struct i2c_client *client,
id = V4L2_IDENT_CX25836 + ((device_id >> 4) & 0xf) - 6;
} else if (device_id == 0x1313) {
id = V4L2_IDENT_CX25836 + ((device_id >> 4) & 0xf) - 6;
@@ -14658,7 +14658,7 @@ index 737ee4e..f8ed3c0 100644
}
else {
v4l_dbg(1, cx25840_debug, client, "cx25840 not found\n");
-@@ -1471,6 +1563,7 @@ static int cx25840_probe(struct i2c_client *client,
+@@ -1490,6 +1582,7 @@ static int cx25840_probe(struct i2c_client *client,
state->c = client;
state->is_cx25836 = ((device_id & 0xff00) == 0x8300);
state->is_cx23885 = (device_id == 0x0000) || (device_id == 0x1313);
@@ -14667,7 +14667,7 @@ index 737ee4e..f8ed3c0 100644
state->aud_input = CX25840_AUDIO8;
state->audclk_freq = 48000;
diff --git a/drivers/media/video/cx25840/cx25840-core.h b/drivers/media/video/cx25840/cx25840-core.h
-index 9ad0eb8..814b565 100644
+index be05582..93941be 100644
--- a/drivers/media/video/cx25840/cx25840-core.h
+++ b/drivers/media/video/cx25840/cx25840-core.h
@@ -50,6 +50,7 @@ struct cx25840_state {
@@ -14718,17 +14718,17 @@ index 0b2dceb..0df53b0 100644
memcpy(buffer + 2, ptr, len);
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h
-index f27604a..f9d48c9 100644
+index 1ffc23b..d252c9b 100644
--- a/include/linux/i2c-id.h
+++ b/include/linux/i2c-id.h
-@@ -88,6 +88,7 @@
+@@ -87,6 +87,7 @@
#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */
#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */
#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */
+#define I2C_HW_B_CX231XX 0x010024 /* Conexant CX231XX USB based cards */
- #define I2C_HW_B_HDPVR 0x010025 /* Hauppauge HD PVR */
/* --- SGI adapters */
+ #define I2C_HW_SGI_VINO 0x160000
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index ea1bf5b..3d7533d 100644
--- a/include/linux/mmc/sdio_ids.h
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/sources,v
retrieving revision 1.1003
retrieving revision 1.1004
diff -u -p -r1.1003 -r1.1004
--- sources 2 Apr 2009 23:41:47 -0000 1.1003
+++ sources 1 May 2009 18:41:27 -0000 1.1004
@@ -1,2 +1,2 @@
64921b5ff5cdadbccfcd3820f03be7d8 linux-2.6.29.tar.bz2
-87c6fbf4096b644d66d4da8bb00641a5 patch-2.6.29.1.bz2
+a3e79545ef18ff2a172f82fffef92deb patch-2.6.29.2.bz2
Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-11/upstream,v
retrieving revision 1.914
retrieving revision 1.915
diff -u -p -r1.914 -r1.915
--- upstream 2 Apr 2009 23:41:47 -0000 1.914
+++ upstream 1 May 2009 18:41:27 -0000 1.915
@@ -1,2 +1,2 @@
linux-2.6.29.tar.bz2
-patch-2.6.29.1.bz2
+patch-2.6.29.2.bz2
--- linux-2.6-acer-wmi-bail-on-aao.patch DELETED ---
--- linux-2.6-e820-mark-esi-clobbered.patch DELETED ---
--- linux-2.6-kvm-kconfig-irqchip.patch DELETED ---
--- linux-2.6-kvm-mask-notifiers.patch DELETED ---
--- linux-2.6-kvm-reset-pit-irq-on-unmask.patch DELETED ---
--- linux-2.6-md-raid1-dont-assume-new-bvecs-are-init.patch DELETED ---
--- linux-2.6-mm-define-unique-value-for-as_unevictable.patch DELETED ---
--- linux-2.6-net-fix-another-gro-bug.patch DELETED ---
--- linux-2.6-posix-timers-fix-clock-monotonicity.patch DELETED ---
--- linux-2.6-posix-timers-fix-rlimit_cpu-fork-2.patch DELETED ---
--- linux-2.6-posix-timers-fix-rlimit_cpu-setitimer.patch DELETED ---
--- linux-2.6-v4l-dvb-fixes.patch DELETED ---
--- linux-2.6-v4l-dvb-update.patch DELETED ---
--- linux-2.6.29.1-sparc-regression.patch DELETED ---
--- pat-remove-page-granularity-tracking-for-vm_insert_pfn_maps.patch DELETED ---
--- patch-2.6.29.1.bz2.sign DELETED ---
- Previous message: rpms/kernel/devel linux-2.6-ext4-prealloc-fixes.patch, NONE, 1.1 kernel.spec, 1.1538, 1.1539
- Next message: rpms/tracker/devel .cvsignore, 1.16, 1.17 import.log, 1.1, 1.2 sources, 1.16, 1.17 tracker.spec, 1.50, 1.51
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list