rpms/kernel/devel drm-next.patch, NONE, 1.1 drm-modesetting-i915.patch, 1.3, 1.4 drm-modesetting-radeon.patch, 1.34, 1.35 kernel.spec, 1.1038, 1.1039

Dave Airlie airlied at fedoraproject.org
Fri Oct 10 04:30:39 UTC 2008


Author: airlied

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11920

Modified Files:
	drm-modesetting-i915.patch drm-modesetting-radeon.patch 
	kernel.spec 
Added Files:
	drm-next.patch 
Log Message:
* Fri Oct 10 2008 Dave Airlie <airlied at redhat.com>
- rebase drm patches onto drm-next.patch which is going upstream
- intel modesetting make not work properly due to rebase


drm-next.patch:

--- NEW FILE drm-next.patch ---
commit 5fed53a040bb697c952f765884f2afb3d89122b7
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Mon Sep 15 15:00:33 2008 -0700

    drm: kill drm_device->irq
    
    Like the last patch but adds a macro to get at the irq value instead of
    dereferencing pdev directly.  Should  make things easier for the BSD guys and
    if we ever support non-PCI devices.
    
    Signed-off-by:  Jesse Barnes <jbarnes at virtuousgeek.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit dd6737d474e09d735619cf2cb67bf7d19b04289e
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Oct 7 13:41:49 2008 +1000

    drm: wbinvd is cache coherent.
    
    doing an ipi for the wbinvd case isn't necessary.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 651fd6ce9892b7f3b7e1b95c2e97a67cc4ee88ef
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Oct 7 13:40:36 2008 +1000

    i915: add missing return in error path.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 6815a878e90d501f1c31f2344610fbbc62a89ce3
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue Oct 7 13:40:10 2008 +1000

    i915: fixup permissions on gem ioctls.
    
    init/entervt/leavevt should be root-only master ioctls.
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 647431866fdb5e3193d1a4a03f62eebe92ef8dbf
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Oct 2 12:24:47 2008 -0700

    drm: Clean up many sparse warnings in i915.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 94cd4fa9481dce08b3f2162c2909e9b6122562d4
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Sep 23 14:50:57 2008 -0700

    drm: Use ioremap_wc in i915_driver instead of ioremap, since we always want WC.
    
    Fixes failure to map the ringbuffer when PAT tells us we don't get to do
    uncached on something that's already mapped WC, or something along those lines.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 84bcd4fc29560148b437a7b8e21a43ee159441e8
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Sep 15 13:13:34 2008 -0700

    drm: G33-class hardware has a newer 965-style MCH (no DCC register).
    
    Fixes bad software fallback rendering in Mesa in dual-channel configurations.
    
    d9a2470012588dc5313a5ac8bb2f03575af00e99
    
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 1d02a783be8198b708aa9d51615b06910e597496
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Sep 10 14:22:49 2008 -0700

    drm: Avoid oops in GEM execbuffers with bad arguments.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 668f8c23eac44fdcdd4fa6b2f2b21dd895de376b
Author: Eric Anholt <eric at anholt.net>
Date:   Tue Sep 9 11:40:34 2008 -0700

    DRM: Return -EBADF on bad object in flink, and return curent name if it exists.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 3eb83c9391a4af9a788d33d31c0b4c69514d23cd
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Wed Aug 20 11:04:27 2008 -0400

    i915 gem: install and uninstall irq handler in entervt and leavevt ioctls.
    
    Signed-off-by: Kristian Høgsberg <krh at redhat.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 903f763e1b8f5fcc54ef8684e2568a0d0bd69bed
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Wed Aug 20 11:20:13 2008 -0400

    i915: Make use of sarea_priv conditional.
    
    We fail ioctls that depend on the sarea_priv with EINVAL.
    
    Signed-off-by: Kristian Høgsberg <krh at redhat.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 811c552c21f3d7fca8eb647ccf0d303378ccea7d
Author: Eric Anholt <eric at anholt.net>
Date:   Mon Sep 1 16:45:29 2008 -0700

    i915: Use struct_mutex to protect ring in GEM mode.
    
    In the conversion for GEM, we had stopped using the hardware lock to protect
    ring usage, since it was all internal to the DRM now.  However, some paths
    weren't converted to using struct_mutex to prevent multiple threads from
    concurrently working on the ring, in particular between the vblank swap handler
    and ioctls.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit fe2626337a28c50889bcb8b9065f4ae9402d6f62
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Wed Aug 20 11:08:52 2008 -0400

    i915: Add chip set ID param.
    
    Signed-off-by: Kristian Høgsberg <krh at redhat.com>
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 10413aa13c3780be5cc1eb57517c63af8556790a
Author: Eric Anholt <eric at anholt.net>
Date:   Wed Jul 30 12:06:12 2008 -0700

    drm: Add GEM ("graphics execution manager") to i915 driver.
    
    GEM allows the creation of persistent buffer objects accessible by the
    graphics device through new ioctls for managing execution of commands on the
    device.  The userland API is almost entirely driver-specific to ensure that
    any driver building on this model can easily map the interface to individual
    driver requirements.
    
    GEM is used by the 2d driver for managing its internal state allocations and
    will be used for pixmap storage to reduce memory consumption and enable
    zero-copy GLX_EXT_texture_from_pixmap, and in the 3d driver is used to enable
    GL_EXT_framebuffer_object and GL_ARB_pixel_buffer_object.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit da4d1b26db844139b19119596956591ee920dc08
Author: Eric Anholt <eric at anholt.net>
Date:   Thu Aug 21 12:53:33 2008 -0700

    Export kmap_atomic_pfn for DRM-GEM.
    
    The driver would like to map IO space directly for copying data in when
    appropriate, to avoid CPU cache flushing for streaming writes.
    kmap_atomic_pfn lets us avoid IPIs associated with ioremap for this process.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit 0b735f67af4ca0cb48c78a86587c430506583b20
Author: Keith Packard <keithp at keithp.com>
Date:   Fri Jun 20 00:08:06 2008 -0700

    Export shmem_file_setup for DRM-GEM
    
    GEM needs to create shmem files to back buffer objects.  Though currently
    creation of files for objects could have been driven from userland, the
    modesetting work will require allocation of buffer objects before userland
    is running, for boot-time message display.
    
    Signed-off-by: Eric Anholt <eric at anholt.net>
    Cc: Nick Piggin <npiggin at suse.de>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

commit b3b0cc9984694841aeba4ee11f6f399391acc322
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Tue Sep 30 12:14:26 2008 -0700

    drm: Rework vblank-wait handling to allow interrupt reduction.
    
    Previously, drivers supporting vblank interrupt waits would run the interrupt
    all the time, or all the time that any 3d client was running, preventing the
    CPU from sleeping for long when the system was otherwise idle.  Now, interrupts
    are disabled any time that no client is waiting on a vblank event. The new
    method uses vblank counters on the chipsets when the interrupts are turned
    off, rather than counting interrupts, so that we can continue to present
[...12672 lines suppressed...]
+	/** Offset in the buffer the relocation entry will be written into */
+	uint64_t offset;
+
+	/**
+	 * Offset value of the target buffer that the relocation entry was last
+	 * written as.
+	 *
+	 * If the buffer has the same offset as last time, we can skip syncing
+	 * and writing the relocation.  This value is written back out by
+	 * the execbuffer ioctl when the relocation is written.
+	 */
+	uint64_t presumed_offset;
+
+	/**
+	 * Target memory domains read by this operation.
+	 */
+	uint32_t read_domains;
+
+	/**
+	 * Target memory domains written by this operation.
+	 *
+	 * Note that only one domain may be written by the whole
+	 * execbuffer operation, so that where there are conflicts,
+	 * the application will get -EINVAL back.
+	 */
+	uint32_t write_domain;
+};
+
+/** @{
+ * Intel memory domains
+ *
+ * Most of these just align with the various caches in
+ * the system and are used to flush and invalidate as
+ * objects end up cached in different domains.
+ */
+/** CPU cache */
+#define I915_GEM_DOMAIN_CPU		0x00000001
+/** Render cache, used by 2D and 3D drawing */
+#define I915_GEM_DOMAIN_RENDER		0x00000002
+/** Sampler cache, used by texture engine */
+#define I915_GEM_DOMAIN_SAMPLER		0x00000004
+/** Command queue, used to load batch buffers */
+#define I915_GEM_DOMAIN_COMMAND		0x00000008
+/** Instruction cache, used by shader programs */
+#define I915_GEM_DOMAIN_INSTRUCTION	0x00000010
+/** Vertex address cache */
+#define I915_GEM_DOMAIN_VERTEX		0x00000020
+/** GTT domain - aperture and scanout */
+#define I915_GEM_DOMAIN_GTT		0x00000040
+/** @} */
+
+struct drm_i915_gem_exec_object {
+	/**
+	 * User's handle for a buffer to be bound into the GTT for this
+	 * operation.
+	 */
+	uint32_t handle;
+
+	/** Number of relocations to be performed on this buffer */
+	uint32_t relocation_count;
+	/**
+	 * Pointer to array of struct drm_i915_gem_relocation_entry containing
+	 * the relocations to be performed in this buffer.
+	 */
+	uint64_t relocs_ptr;
+
+	/** Required alignment in graphics aperture */
+	uint64_t alignment;
+
+	/**
+	 * Returned value of the updated offset of the object, for future
+	 * presumed_offset writes.
+	 */
+	uint64_t offset;
+};
+
+struct drm_i915_gem_execbuffer {
+	/**
+	 * List of buffers to be validated with their relocations to be
+	 * performend on them.
+	 *
+	 * This is a pointer to an array of struct drm_i915_gem_validate_entry.
+	 *
+	 * These buffers must be listed in an order such that all relocations
+	 * a buffer is performing refer to buffers that have already appeared
+	 * in the validate list.
+	 */
+	uint64_t buffers_ptr;
+	uint32_t buffer_count;
+
+	/** Offset in the batchbuffer to start execution from. */
+	uint32_t batch_start_offset;
+	/** Bytes used in batchbuffer from batch_start_offset */
+	uint32_t batch_len;
+	uint32_t DR1;
+	uint32_t DR4;
+	uint32_t num_cliprects;
+	/** This is a struct drm_clip_rect *cliprects */
+	uint64_t cliprects_ptr;
+};
+
+struct drm_i915_gem_pin {
+	/** Handle of the buffer to be pinned. */
+	uint32_t handle;
+	uint32_t pad;
+
+	/** alignment required within the aperture */
+	uint64_t alignment;
+
+	/** Returned GTT offset of the buffer. */
+	uint64_t offset;
+};
+
+struct drm_i915_gem_unpin {
+	/** Handle of the buffer to be unpinned. */
+	uint32_t handle;
+	uint32_t pad;
+};
+
+struct drm_i915_gem_busy {
+	/** Handle of the buffer to check for busy */
+	uint32_t handle;
+
+	/** Return busy status (1 if busy, 0 if idle) */
+	uint32_t busy;
+};
+
+#define I915_TILING_NONE	0
+#define I915_TILING_X		1
+#define I915_TILING_Y		2
+
+#define I915_BIT_6_SWIZZLE_NONE		0
+#define I915_BIT_6_SWIZZLE_9		1
+#define I915_BIT_6_SWIZZLE_9_10		2
+#define I915_BIT_6_SWIZZLE_9_11		3
+#define I915_BIT_6_SWIZZLE_9_10_11	4
+/* Not seen by userland */
+#define I915_BIT_6_SWIZZLE_UNKNOWN	5
+
+struct drm_i915_gem_set_tiling {
+	/** Handle of the buffer to have its tiling state updated */
+	uint32_t handle;
+
+	/**
+	 * Tiling mode for the object (I915_TILING_NONE, I915_TILING_X,
+	 * I915_TILING_Y).
+	 *
+	 * This value is to be set on request, and will be updated by the
+	 * kernel on successful return with the actual chosen tiling layout.
+	 *
+	 * The tiling mode may be demoted to I915_TILING_NONE when the system
+	 * has bit 6 swizzling that can't be managed correctly by GEM.
+	 *
+	 * Buffer contents become undefined when changing tiling_mode.
+	 */
+	uint32_t tiling_mode;
+
+	/**
+	 * Stride in bytes for the object when in I915_TILING_X or
+	 * I915_TILING_Y.
+	 */
+	uint32_t stride;
+
+	/**
+	 * Returned address bit 6 swizzling required for CPU access through
+	 * mmap mapping.
+	 */
+	uint32_t swizzle_mode;
+};
+
+struct drm_i915_gem_get_tiling {
+	/** Handle of the buffer to get tiling state for. */
+	uint32_t handle;
+
+	/**
+	 * Current tiling mode for the object (I915_TILING_NONE, I915_TILING_X,
+	 * I915_TILING_Y).
+	 */
+	uint32_t tiling_mode;
+
+	/**
+	 * Returned address bit 6 swizzling required for CPU access through
+	 * mmap mapping.
+	 */
+	uint32_t swizzle_mode;
+};
+
 #endif				/* _I915_DRM_H_ */
diff --git a/mm/shmem.c b/mm/shmem.c
index 04fb4f1..e6e88bd 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -2582,6 +2582,7 @@ put_memory:
 	shmem_unacct_size(flags, size);
 	return ERR_PTR(error);
 }
+EXPORT_SYMBOL_GPL(shmem_file_setup);
 
 /**
  * shmem_zero_setup - setup a shared anonymous mapping

drm-modesetting-i915.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.3 -r 1.4 drm-modesetting-i915.patch
Index: drm-modesetting-i915.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-i915.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- drm-modesetting-i915.patch	23 Sep 2008 05:06:11 -0000	1.3
+++ drm-modesetting-i915.patch	10 Oct 2008 04:30:38 -0000	1.4
@@ -1,76 +1,5 @@
-commit 2b391e551baddf9dabb06bee61023797ca810791
-Author: Kristian Høgsberg <krh at redhat.com>
-Date:   Mon Sep 22 16:43:04 2008 -0400
-
-    Update intel modesetting to use mm_private instead of mm_handle.
-
-commit 0e6b3649ab58deafd5fb531264ce89718cd31344
-Author: Dave Airlie <airlied at linux.ie>
-Date:   Tue Sep 16 08:46:41 2008 +1000
-
-    drm/i915: fixup irqs and make i915 ints work again
-
-commit 033f754b3d4b903e79d314d072a1f6ffd89e0851
-Author: Dave Airlie <airlied at linux.ie>
-Date:   Tue Sep 16 06:59:58 2008 +1000
-
-    enable msi interrupts
-
-commit af5c14da9b93227aa417ca08c53537772cb7cb04
-Author: Dave Airlie <airlied at linux.ie>
-Date:   Tue Sep 16 05:10:56 2008 +1000
-
-    i915: fix issues with interrupts
-
-commit 9fcee2a986584c3bc9b743f53d6d9bebbd407161
-Author: Dave Airlie <airlied at panoply-rh.(none)>
-Date:   Tue Sep 9 16:03:12 2008 +1000
-
-    i915: fixup hws page
-
-commit d6964afe2fbb73b8d5d83d463bc9b122116099b0
-Author: Dave Airlie <airlied at linux.ie>
-Date:   Mon Sep 8 17:08:29 2008 +1000
-
-    drm/i915: add modeset default config option support
-
-commit 065db6e5171231de0970540553d3845ea8b3ce63
-Author: Dave Airlie <airlied at linux.ie>
-Date:   Mon Sep 8 17:08:04 2008 +1000
-
-    drm: export drm_mm_takedown
-
-commit bd0b4b01f6831f7e8f3ae4d743dfe7b4f1e710ae
-Author: Dave Airlie <airlied at linux.ie>
-Date:   Mon Sep 8 17:07:30 2008 +1000
-
-    i915: fix master priv accesses
-
-commit 2284c4e99382fee59c07c61ae744a48100739463
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Sep 8 13:45:34 2008 +1000
-
-    intel: make build
-
-commit 457d906e8c391e11326031a873c2daf7cee60411
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Sep 8 13:28:52 2008 +1000
-
-    jbarnes: add gtt map code
-
-commit 922f29104a8fdcb54c73c426be413ea988231b79
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Sep 8 13:27:53 2008 +1000
-
-    jbarnes: add mmap_io_region
-
-commit 7cfa2f3f752aa4353f81f93eb87cbd15fa7ff4d2
-Author: Dave Airlie <airlied at redhat.com>
-Date:   Mon Sep 8 13:25:58 2008 +1000
-
-    i915: add initial modesetting files
 diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
-index 649757f..a1ed52b 100644
+index 0ef9295..ebbf124 100644
 --- a/drivers/gpu/drm/Kconfig
 +++ b/drivers/gpu/drm/Kconfig
 @@ -84,6 +84,15 @@ config DRM_I915
@@ -89,34 +18,6 @@
  config DRM_MGA
  	tristate "Matrox g200/g400"
  	depends on DRM
-diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
-index a1c7b38..634e387 100644
---- a/drivers/gpu/drm/drm_irq.c
-+++ b/drivers/gpu/drm/drm_irq.c
-@@ -63,8 +63,6 @@ int drm_irq_by_busid(struct drm_device *dev, void *data,
- 	    p->devnum != PCI_SLOT(dev->pdev->devfn) || p->funcnum != PCI_FUNC(dev->pdev->devfn))
- 		return -EINVAL;
- 
--	p->irq = dev->pdev->irq;
--
- 	DRM_DEBUG("%d:%d:%d => IRQ %d\n", p->busnum, p->devnum, p->funcnum,
- 		  p->irq);
- 
-@@ -127,12 +125,9 @@ int drm_irq_install(struct drm_device *dev)
- 	if (drm_core_check_feature(dev, DRIVER_IRQ_SHARED))
- 		sh_flags = IRQF_SHARED;
- 
--	ret = request_irq(dev->pdev->irq, dev->driver->irq_handler,
-+	ret = request_irq(drm_dev_to_irq(dev), dev->driver->irq_handler,
- 			  sh_flags, dev->devname, dev);
--	/* Expose the device irq number to drivers that want to export it for
--	 * whatever reason.
--	 */
--	dev->irq = dev->pdev->irq;
-+
- 	if (ret < 0) {
- 		mutex_lock(&dev->struct_mutex);
- 		dev->irq_enabled = 0;
 diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
 index 217ad7d..367c590 100644
 --- a/drivers/gpu/drm/drm_mm.c
@@ -126,36 +27,21 @@
  	drm_free(entry, sizeof(*entry), DRM_MEM_MM);
  }
 +EXPORT_SYMBOL(drm_mm_takedown);
-diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c
-index 1dc2965..47c1c4e 100644
---- a/drivers/gpu/drm/drm_stub.c
-+++ b/drivers/gpu/drm/drm_stub.c
-@@ -214,7 +214,6 @@ static int drm_fill_in_dev(struct drm_device * dev, struct pci_dev *pdev,
- #ifdef __alpha__
- 	dev->hose = pdev->sysdata;
- #endif
--	dev->irq = pdev->irq;
- 
- 	if (drm_ht_create(&dev->map_hash, DRM_MAP_HASH_ORDER)) {
- 		return -ENOMEM;
 diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
-index 362d419..57aa9da 100644
+index ce60285..3bbd73b 100644
 --- a/drivers/gpu/drm/i915/Makefile
 +++ b/drivers/gpu/drm/i915/Makefile
-@@ -4,10 +4,15 @@
- 
- ccflags-y := -Iinclude/drm
- i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o i915_init.o i915_opregion.o \
-+	i915_suspend.o \
- 	i915_gem.o \
- 	i915_gem_debug.o \
- 	i915_gem_proc.o \
--	i915_gem_tiling.o
-+	i915_gem_tiling.o \
-+	intel_display.o intel_crt.o intel_lvds.o intel_bios.o \
-+	intel_sdvo.o intel_modes.o intel_i2c.o i915_init.o intel_fb.o \
-+	intel_tv.o intel_dvo.o dvo_ch7xxx.o \
-+	dvo_ch7017.o dvo_ivch.o dvo_tfp410.o dvo_sil164.o
+@@ -8,7 +8,12 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o i915_mem.o i915_init.o i915_opregion.
+ 	  i915_gem.o \
+ 	  i915_gem_debug.o \
+ 	  i915_gem_proc.o \
+-	  i915_gem_tiling.o
++	  i915_gem_tiling.o \
++	  intel_display.o intel_crt.o intel_lvds.o intel_bios.o \
++	  intel_sdvo.o intel_modes.o intel_i2c.o intel_fb.o \
++	  intel_tv.o intel_dvo.o dvo_ch7xxx.o \
++	 dvo_ch7017.o dvo_ivch.o dvo_tfp410.o dvo_sil164.o
++
  
  i915-$(CONFIG_COMPAT)   += i915_ioc32.o
  
@@ -2256,10 +2142,28 @@
 +	.destroy = tfp410_destroy,
 +};
 diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
-index 66e4b8e..0fd7f9d 100644
+index 1ec4067..1619471 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -122,9 +122,19 @@ void i915_free_hws(struct drm_device *dev)
+@@ -77,7 +77,7 @@ int i915_wait_ring(struct drm_device * dev, int n, const char *caller)
+  * Sets up the hardware status page for devices that need a physical address
+  * in the register.
+  */
+-static int i915_init_phys_hws(struct drm_device *dev)
++int i915_init_phys_hws(struct drm_device *dev)
+ {
+ 	drm_i915_private_t *dev_priv = dev->dev_private;
+ 	/* Program Hardware Status Page */
+@@ -102,7 +102,7 @@ static int i915_init_phys_hws(struct drm_device *dev)
+  * Frees the hardware status page, whether it's a physical address or a virtual
+  * address set up by the X Server.
+  */
+-static void i915_free_hws(struct drm_device *dev)
++void i915_free_hws(struct drm_device *dev)
+ {
+ 	drm_i915_private_t *dev_priv = dev->dev_private;
+ 	if (dev_priv->status_page_dmah) {
+@@ -122,9 +122,19 @@ static void i915_free_hws(struct drm_device *dev)
  void i915_kernel_lost_context(struct drm_device * dev)
  {
[...1952 lines suppressed...]
-+	I915_WRITE(DSPBSTRIDE, dev_priv->saveDSPBSTRIDE);
-+	if (IS_I965G(dev)) {
-+		I915_WRITE(DSPBSURF, dev_priv->saveDSPBSURF);
-+		I915_WRITE(DSPBTILEOFF, dev_priv->saveDSPBTILEOFF);
-+	}
-+
-+	I915_WRITE(PIPEBCONF, dev_priv->savePIPEBCONF);
-+
-+	i915_restore_palette(dev, PIPE_B);
-+	/* Enable the plane */
-+	I915_WRITE(DSPBCNTR, dev_priv->saveDSPBCNTR);
-+	I915_WRITE(DSPBADDR, I915_READ(DSPBADDR));
-+
-+	/* CRT state */
-+	I915_WRITE(ADPA, dev_priv->saveADPA);
-+
-+	/* LVDS state */
-+	if (IS_I965G(dev))
-+		I915_WRITE(BLC_PWM_CTL2, dev_priv->saveBLC_PWM_CTL2);
-+	if (IS_MOBILE(dev) && !IS_I830(dev))
-+		I915_WRITE(LVDS, dev_priv->saveLVDS);
-+	if (!IS_I830(dev) && !IS_845G(dev))
-+		I915_WRITE(PFIT_CONTROL, dev_priv->savePFIT_CONTROL);
-+
-+	I915_WRITE(PFIT_PGM_RATIOS, dev_priv->savePFIT_PGM_RATIOS);
-+	I915_WRITE(BLC_PWM_CTL, dev_priv->saveBLC_PWM_CTL);
-+	I915_WRITE(PP_ON_DELAYS, dev_priv->savePP_ON_DELAYS);
-+	I915_WRITE(PP_OFF_DELAYS, dev_priv->savePP_OFF_DELAYS);
-+	I915_WRITE(PP_DIVISOR, dev_priv->savePP_DIVISOR);
-+	I915_WRITE(PP_CONTROL, dev_priv->savePP_CONTROL);
-+
-+	/* FIXME: restore TV & SDVO state */
-+
-+	/* FBC info */
-+	I915_WRITE(FBC_CFB_BASE, dev_priv->saveFBC_CFB_BASE);
-+	I915_WRITE(FBC_LL_BASE, dev_priv->saveFBC_LL_BASE);
-+	I915_WRITE(FBC_CONTROL2, dev_priv->saveFBC_CONTROL2);
-+	I915_WRITE(FBC_CONTROL, dev_priv->saveFBC_CONTROL);
-+
-+	/* VGA state */
-+	I915_WRITE(VGACNTRL, dev_priv->saveVGACNTRL);
-+	I915_WRITE(VGA0, dev_priv->saveVGA0);
-+	I915_WRITE(VGA1, dev_priv->saveVGA1);
-+	I915_WRITE(VGA_PD, dev_priv->saveVGA_PD);
-+	DRM_UDELAY(150);
-+
-+	/* Clock gating state */
-+	I915_WRITE (D_STATE, dev_priv->saveD_STATE);
-+	I915_WRITE (CG_2D_DIS, dev_priv->saveCG_2D_DIS);
-+
-+	/* Cache mode state */
-+	I915_WRITE (CACHE_MODE_0, dev_priv->saveCACHE_MODE_0 | 0xffff0000);
-+
-+	/* Memory arbitration state */
-+	I915_WRITE (MI_ARB_STATE, dev_priv->saveMI_ARB_STATE | 0xffff0000);
-+
-+	for (i = 0; i < 16; i++) {
-+		I915_WRITE(SWF00 + (i << 2), dev_priv->saveSWF0[i]);
-+		I915_WRITE(SWF10 + (i << 2), dev_priv->saveSWF1[i+7]);
-+	}
-+	for (i = 0; i < 3; i++)
-+		I915_WRITE(SWF30 + (i << 2), dev_priv->saveSWF2[i]);
-+
-+	i915_restore_vga(dev);
-+
-+	return 0;
-+}
-+
 diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
 new file mode 100644
 index 0000000..4ca82a0
@@ -5589,10 +4026,10 @@
 +}
 diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
 new file mode 100644
-index 0000000..10d120a
+index 0000000..64b98eb
 --- /dev/null
 +++ b/drivers/gpu/drm/i915/intel_display.c
-@@ -0,0 +1,1619 @@
+@@ -0,0 +1,1621 @@
 +/*
 + * Copyright © 2006-2007 Intel Corporation
 + *
@@ -5939,6 +4376,7 @@
 +	struct intel_crtc *intel_crtc;
 +	int vbl_pipe = 0;
 +
++#if 0
 +	list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
 +		intel_crtc = to_intel_crtc(crtc);
 +
@@ -5947,7 +4385,8 @@
 +	}
 +
 +	dev_priv->vblank_pipe = vbl_pipe;
-+	i915_enable_interrupt(dev);
++#endif
++	//	i915_enable_interrupt(dev);
 +}
 +void
 +intel_wait_for_vblank(struct drm_device *dev)
@@ -12722,97 +11161,6 @@
 +out:
 +	drm_sysfs_connector_add(connector);
 +}
-diff --git a/drivers/gpu/drm/mga/mga_state.c b/drivers/gpu/drm/mga/mga_state.c
-index d3f8aad..b710fab 100644
---- a/drivers/gpu/drm/mga/mga_state.c
-+++ b/drivers/gpu/drm/mga/mga_state.c
-@@ -1022,7 +1022,7 @@ static int mga_getparam(struct drm_device *dev, void *data, struct drm_file *fil
- 
- 	switch (param->param) {
- 	case MGA_PARAM_IRQ_NR:
--		value = dev->irq;
-+		value = drm_dev_to_irq(dev);
- 		break;
- 	case MGA_PARAM_CARD_TYPE:
- 		value = dev_priv->chipset;
-diff --git a/drivers/gpu/drm/r128/r128_state.c b/drivers/gpu/drm/r128/r128_state.c
-index 51a9afc..f7a5b57 100644
---- a/drivers/gpu/drm/r128/r128_state.c
-+++ b/drivers/gpu/drm/r128/r128_state.c
-@@ -1629,7 +1629,7 @@ static int r128_getparam(struct drm_device *dev, void *data, struct drm_file *fi
- 
- 	switch (param->param) {
- 	case R128_PARAM_IRQ_NR:
--		value = dev->irq;
-+		value = drm_dev_to_irq(dev);
- 		break;
- 	default:
- 		return -EINVAL;
-diff --git a/drivers/gpu/drm/radeon/radeon_state.c b/drivers/gpu/drm/radeon/radeon_state.c
-index dcf5922..399471f 100644
---- a/drivers/gpu/drm/radeon/radeon_state.c
-+++ b/drivers/gpu/drm/radeon/radeon_state.c
-@@ -3029,7 +3029,7 @@ static int radeon_cp_getparam(struct drm_device *dev, void *data, struct drm_fil
- 		value = GET_SCRATCH(2);
- 		break;
- 	case RADEON_PARAM_IRQ_NR:
--		value = dev->irq;
-+		value = drm_dev_to_irq(dev);
- 		break;
- 	case RADEON_PARAM_GART_BASE:
- 		value = dev_priv->gart_vm_start;
-diff --git a/drivers/gpu/drm/via/via_irq.c b/drivers/gpu/drm/via/via_irq.c
-index c6bb978..53d90b3 100644
---- a/drivers/gpu/drm/via/via_irq.c
-+++ b/drivers/gpu/drm/via/via_irq.c
-@@ -339,9 +339,6 @@ int via_wait_irq(struct drm_device *dev, void *data, struct drm_file *file_priv)
- 	drm_via_irq_t *cur_irq = dev_priv->via_irqs;
- 	int force_sequence;
- 
--	if (!dev->irq)
--		return -EINVAL;
--
- 	if (irqwait->request.irq >= dev_priv->num_irqs) {
- 		DRM_ERROR("Trying to wait on unknown irq %d\n",
- 			  irqwait->request.irq);
-diff --git a/drivers/gpu/drm/via/via_mm.c b/drivers/gpu/drm/via/via_mm.c
-index e640949..f694cb5 100644
---- a/drivers/gpu/drm/via/via_mm.c
-+++ b/drivers/gpu/drm/via/via_mm.c
-@@ -93,8 +93,7 @@ int via_final_context(struct drm_device *dev, int context)
- 	/* Last context, perform cleanup */
- 	if (dev->ctx_count == 1 && dev->dev_private) {
- 		DRM_DEBUG("Last Context\n");
--		if (dev->irq)
--			drm_irq_uninstall(dev);
-+		drm_irq_uninstall(dev);
- 		via_cleanup_futex(dev_priv);
- 		via_do_cleanup_map(dev);
- 	}
-diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 31e2f17..a67618a 100644
---- a/include/drm/drmP.h
-+++ b/include/drm/drmP.h
-@@ -842,7 +842,6 @@ struct drm_device {
- 
- 	/** \name Context support */
- 	/*@{ */
--	int irq;			/**< Interrupt used by board */
- 	int irq_enabled;		/**< True if irq handler is enabled */
- 	__volatile__ long context_flag;	/**< Context swapping flag */
- 	__volatile__ long interrupt_flag; /**< Interruption handler flag */
-@@ -944,6 +943,11 @@ struct ati_pcigart_ttm_backend {
- };
- extern struct drm_ttm_backend *ati_pcigart_init_ttm(struct drm_device *dev, struct drm_ati_pcigart_info *info, void (*gart_flush_fn)(struct drm_device *dev));
- 
-+static inline int drm_dev_to_irq(struct drm_device *dev)
-+{
-+	return dev->pdev->irq;
-+}
-+
- static __inline__ int drm_core_check_feature(struct drm_device *dev,
- 					     int feature)
- {
 diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
 index 7d88a21..5525c91 100644
 --- a/include/drm/i915_drm.h

drm-modesetting-radeon.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.34 -r 1.35 drm-modesetting-radeon.patch
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- drm-modesetting-radeon.patch	8 Oct 2008 07:04:27 -0000	1.34
+++ drm-modesetting-radeon.patch	10 Oct 2008 04:30:38 -0000	1.35
@@ -1,40 +1,62 @@
-commit 454a486b367c32e1b3a75786c9b2a7d1c891ff49
+commit c480d530ddd8d6411cff4c1ebbb17621dc84c6c0
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Oct 10 11:11:06 2008 +1100
+
+    Revert "Export shmem_file_setup and shmem_getpage for DRM-GEM"
+    
+    This reverts commit 616950d57d97b4ee4cf8e54be7ae64d1837bbf48.
+
+commit 0fc9fe74e035feeaad18cf85b9377bb156e77f63
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Fri Oct 10 11:10:39 2008 +1100
+
+    Revert "PCI: Add pci_read_base() API"
+    
+    This reverts commit 7d4742a79c29febe41d9ddd94831de0f1e1ecbbd.
+
+commit 11ba50314c04266f02968cfeb7b47bf1bf12f02c
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Oct 9 16:37:23 2008 +1100
+
+    radeon: fixup interrupt suspend/resume
+
+commit 1d8889406aae5377fa11dc6f70b1f3779c92859b
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Oct 8 16:57:12 2008 +1000
 
     radeon: fixup suspend/resume bus master enable
 
-commit ed52f212db10d951b2538195d4a6281221090002
+commit e2c0ae4ce8166609ee17b7aec17bf7df262f5604
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Oct 8 16:56:04 2008 +1000
 
     radeon: re-enable hw blits for copying from VRAM
 
-commit d0329c3df7684c4a9fbb16abbb83a753724ceb3c
+commit ce39e69bde7f0a4730ce97685ec38d4fd69f430d
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Oct 8 16:53:43 2008 +1000
 
     radeon: fix buffer copying for VRAM->TT
 
-commit f24c0505dafd9d4565553fc814f96b6304112f48
+commit f909028374ba26f555f14f3a3c2e1f685cd4e3ad
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Oct 8 16:51:58 2008 +1000
 
     radeon: move memcpy until after CP is stopped
 
-commit a4602f969a3dd96d5601a6f8a49e584ef2c0cc68
+commit 9fa99ced6f5c3ad1d5eb4dad951d82dd32e172a7
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Oct 7 16:34:12 2008 +1000
 
     drm: remove stray debug code
 
-commit 40789060ef6fdf47e6bf9f1a7ee016ad1af6d75b
+commit f82ba426179e2569dbb629babd2eb1a72493a1e4
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Oct 7 16:31:22 2008 +1000
 
     radeon: use discardable flags on no backing store objects
 
-commit 24e813461a070919d02719e88e2122aa56bd9abb
+commit 4851285dd0d4b2f596f3abc666346190fffbdd8a
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Oct 7 16:30:09 2008 +1000
 
@@ -43,7 +65,7 @@
     This discards memory contents on suspend/resume with the
     hope the upper layers know something we don't.
 
-commit 2001c87cdde250b3c76f057241b0116904d8fa87
+commit 1c9d7a0dd67f4f9de1abc0b901b58971d9d1accc
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Oct 7 16:27:31 2008 +1000
 
@@ -52,7 +74,7 @@
     This enables the evict code and also sets radeon up
     to allow evict from VRAM to LOCAL
 
-commit e80dfa0ae7d8511114ce43cd9942807a3717737a
+commit 5c3a55beb54692df3d1059df604551310299abdf
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Mon Oct 6 16:20:38 2008 +1000
 
@@ -60,31 +82,31 @@
     
     fixup the interface between gem and ttm for alignment. makes Xv work better
 
-commit 9ba0602db94c4a9ba94cd1a0b65ef25518aa61ff
+commit 7710ebd1a831ebedc5b1859441a7f3879b286460
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Mon Oct 6 12:10:05 2008 +1000
 
     drm: fix kbuild export of drm_mode.h
 
-commit 73bf9b361531a1b26e1eec3c0cd8bd5282227478
+commit 74e12334328065763a6f4f7350e24cbb23eb11dc
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Oct 1 11:27:02 2008 +1000
 
     radeon: fixup GEM pinned offset retrieval for mesa
 
-commit d2762eef57ac794e26b5c6e8663d37b5c74c6a9e
+commit e525afcc75eadcdc9a0df9c521661e783bffbdca
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Wed Oct 1 11:25:54 2008 +1000
 
     drm: fixup clean flag handling properly
 
-commit 66da4767e1cbb3d73cd5db4578af781e5c3b1287
+commit 5650c639a5d26ab5477480975f88261985700cce
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Mon Sep 29 14:57:11 2008 +1000
 
     radeon: use atom for ext tmds on r4xx
 
-commit 6eedb63eee7f346e0b57a922c2a3e30f4b947af6
+commit 19fd581e0eca52601302951324c078a844b0b0da
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Mon Sep 29 14:56:32 2008 +1000
 
@@ -93,43 +115,43 @@
     default is legacy modesetting.  pass module option r4xx_atom
     to try using atom on r4xx.
 
-commit 7b42c85b3ed84a8c705737ddc7c12eda949ee260
+commit aca9f0063e1d8b36e0229d4602adc0786065712e
 Author: Alex Deucher <alexdeucher at gmail.com>
 Date:   Mon Sep 29 14:55:16 2008 +1000
 
     radeon: first pass at using atombios on r4xx hw
 
-commit a9dacedabeb3892bb6d847107a6b45269c0939de
+commit 8b7857fa8aed49f1883f376f6096b9dbbd2b7bec
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Mon Sep 29 14:50:47 2008 +1000
 
     radeon: add r600 modesetting registers writes
 
-commit 3712137a7592675adef1f0d9c7b272aec28de521
+commit d7a159e04fbc4e9d1f1a7602a507978c7f1490d4
 Author: Jakob Bornecrantz <jakob at tungstengraphics.com>
 Date:   Mon Sep 29 14:49:27 2008 +1000
 
     drm: separate modesetting userspace bits into drm_mode.h
 
-commit fca69c357c5fffa7be493f8a90e0e7f0256bb922
+commit a1b730a47955f97b005a0ac8c29df1db5a65fe0d
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Mon Sep 29 14:45:11 2008 +1000
 
     radeon: parse object tables for connectors on r600
 
-commit dabee5c48b9c50660f0e2f6859dfeed6ccb39817
+commit 30431ab02780d13833cd9d88d207b6a838578693
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Tue Sep 23 16:34:55 2008 +1000
 
     radeon: fix minor cursor disappearing issues
 
-commit 06e3646992b8cd6415ec96af886ad336ef8dce5d
+commit a402d3a10c802a27b1cc120d39f6f078780ed4bf
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Mon Sep 22 18:40:36 2008 -0400
 
     radeon: Fix type in check for tmds type.
 
-commit 048a1ea727e566a3f2708757a99d4e98896bf319
+commit 4ca0d85d9e790033f4c9d57b25bfe6f00114d86f
 Author: Kristian Høgsberg <krh at redhat.com>
 Date:   Mon Sep 22 12:00:57 2008 -0400
 
@@ -138,31 +160,31 @@
     This lets us defer handle creation until userspace acutally asks for
     one, at which point we also have a drm_file to associate it with.
 
-commit 5cfa0ea8a9c27f552ec76ad9ee086652ea61c4d0
+commit 9a6e843e477c4ce495ea407475ad7e307e9e02c5
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Sun Sep 21 09:48:51 2008 +1000
 
     drm: fixups on top of rebase
 
-commit df6d9796253b08ea4c104f0f8cdb30099b1e6bd4
+commit 79747fc6c108b890aa2c887c9d5b426307d56fb8
 Author: Dave Airlie <airlied at linux.ie>
 Date:   Sat Sep 20 03:08:05 2008 +1000
 
[...12107 lines suppressed...]
-+	uint32_t DR1;
-+	uint32_t DR4;
-+	uint32_t num_cliprects;
-+	/** This is a struct drm_clip_rect *cliprects */
-+	uint64_t cliprects_ptr;
-+};
-+
-+struct drm_i915_gem_pin {
-+	/** Handle of the buffer to be pinned. */
-+	uint32_t handle;
-+	uint32_t pad;
-+
-+	/** alignment required within the aperture */
-+	uint64_t alignment;
-+
-+	/** Returned GTT offset of the buffer. */
-+	uint64_t offset;
-+};
-+
-+struct drm_i915_gem_unpin {
-+	/** Handle of the buffer to be unpinned. */
-+	uint32_t handle;
-+	uint32_t pad;
-+};
-+
-+struct drm_i915_gem_busy {
-+	/** Handle of the buffer to check for busy */
-+	uint32_t handle;
-+
-+	/** Return busy status (1 if busy, 0 if idle) */
-+	uint32_t busy;
-+};
-+
-+#define I915_TILING_NONE	0
-+#define I915_TILING_X		1
-+#define I915_TILING_Y		2
-+
-+#define I915_BIT_6_SWIZZLE_NONE		0
-+#define I915_BIT_6_SWIZZLE_9		1
-+#define I915_BIT_6_SWIZZLE_9_10		2
-+#define I915_BIT_6_SWIZZLE_9_11		3
-+#define I915_BIT_6_SWIZZLE_9_10_11	4
-+/* Not seen by userland */
-+#define I915_BIT_6_SWIZZLE_UNKNOWN	5
-+
-+struct drm_i915_gem_set_tiling {
-+	/** Handle of the buffer to have its tiling state updated */
-+	uint32_t handle;
-+
-+	/**
-+	 * Tiling mode for the object (I915_TILING_NONE, I915_TILING_X,
-+	 * I915_TILING_Y).
-+	 *
-+	 * This value is to be set on request, and will be updated by the
-+	 * kernel on successful return with the actual chosen tiling layout.
-+	 *
-+	 * The tiling mode may be demoted to I915_TILING_NONE when the system
-+	 * has bit 6 swizzling that can't be managed correctly by GEM.
-+	 *
-+	 * Buffer contents become undefined when changing tiling_mode.
-+	 */
-+	uint32_t tiling_mode;
-+
-+	/**
-+	 * Stride in bytes for the object when in I915_TILING_X or
-+	 * I915_TILING_Y.
-+	 */
-+	uint32_t stride;
-+
-+	/**
-+	 * Returned address bit 6 swizzling required for CPU access through
-+	 * mmap mapping.
-+	 */
-+	uint32_t swizzle_mode;
-+};
-+
-+struct drm_i915_gem_get_tiling {
-+	/** Handle of the buffer to get tiling state for. */
-+	uint32_t handle;
-+
-+	/**
-+	 * Current tiling mode for the object (I915_TILING_NONE, I915_TILING_X,
-+	 * I915_TILING_Y).
-+	 */
-+	uint32_t tiling_mode;
-+
-+	/**
-+	 * Returned address bit 6 swizzling required for CPU access through
-+	 * mmap mapping.
-+	 */
-+	uint32_t swizzle_mode;
-+};
-+
- #endif				/* _I915_DRM_H_ */
 diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
 index 73ff51f..1347faf 100644
 --- a/include/drm/radeon_drm.h
@@ -52008,102 +42896,3 @@
 +#endif
 +
  #endif /* _LINUX_CONSOLE_H */
-diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 72a15dc..86db8ae 100644
---- a/include/linux/mm.h
-+++ b/include/linux/mm.h
-@@ -715,6 +715,17 @@ static inline int shmem_lock(struct file *file, int lock,
- #endif
- struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags);
- 
-+/* Flag allocation requirements to shmem_getpage and shmem_swp_alloc */
-+enum sgp_type {
-+	SGP_READ,	/* don't exceed i_size, don't allocate page */
-+	SGP_CACHE,	/* don't exceed i_size, may allocate page */
-+	SGP_DIRTY,	/* like SGP_CACHE, but set new page dirty */
-+	SGP_WRITE,	/* may exceed i_size, may allocate page */
-+};
-+
-+int shmem_getpage(struct inode *inode, unsigned long idx,
-+		  struct page **pagep, enum sgp_type sgp, int *type);
-+
- int shmem_zero_setup(struct vm_area_struct *);
- 
- #ifndef CONFIG_MMU
-diff --git a/include/linux/pci.h b/include/linux/pci.h
-index 98dc624..dff12eb 100644
---- a/include/linux/pci.h
-+++ b/include/linux/pci.h
-@@ -312,6 +312,16 @@ struct pci_bus {
- #define pci_bus_b(n)	list_entry(n, struct pci_bus, node)
- #define to_pci_bus(n)	container_of(n, struct pci_bus, dev)
- 
-+enum pci_bar_type {
-+	pci_bar_unknown,	/* Standard PCI BAR probe */
-+	pci_bar_io,		/* An io port BAR */
-+	pci_bar_mem32,		/* A 32-bit memory BAR */
-+	pci_bar_mem64,		/* A 64-bit memory BAR */
-+};
-+
-+int pci_read_base(struct pci_dev *dev, enum pci_bar_type type,
-+					struct resource *res, unsigned int reg);
-+
- /*
-  * Error values that may be returned by PCI functions.
-  */
-diff --git a/mm/shmem.c b/mm/shmem.c
-index 04fb4f1..174d99c 100644
---- a/mm/shmem.c
-+++ b/mm/shmem.c
-@@ -77,14 +77,6 @@
- /* Pretend that each entry is of this size in directory's i_size */
- #define BOGO_DIRENT_SIZE 20
- 
--/* Flag allocation requirements to shmem_getpage and shmem_swp_alloc */
--enum sgp_type {
--	SGP_READ,	/* don't exceed i_size, don't allocate page */
--	SGP_CACHE,	/* don't exceed i_size, may allocate page */
--	SGP_DIRTY,	/* like SGP_CACHE, but set new page dirty */
--	SGP_WRITE,	/* may exceed i_size, may allocate page */
--};
--
- #ifdef CONFIG_TMPFS
- static unsigned long shmem_default_max_blocks(void)
- {
-@@ -97,9 +89,6 @@ static unsigned long shmem_default_max_inodes(void)
- }
- #endif
- 
--static int shmem_getpage(struct inode *inode, unsigned long idx,
--			 struct page **pagep, enum sgp_type sgp, int *type);
--
- static inline struct page *shmem_dir_alloc(gfp_t gfp_mask)
- {
- 	/*
-@@ -1177,8 +1166,8 @@ static inline struct mempolicy *shmem_get_sbmpol(struct shmem_sb_info *sbinfo)
-  * vm. If we swap it in we mark it dirty since we also free the swap
-  * entry since a page cannot live in both the swap and page cache
-  */
--static int shmem_getpage(struct inode *inode, unsigned long idx,
--			struct page **pagep, enum sgp_type sgp, int *type)
-+int shmem_getpage(struct inode *inode, unsigned long idx,
-+		  struct page **pagep, enum sgp_type sgp, int *type)
- {
- 	struct address_space *mapping = inode->i_mapping;
- 	struct shmem_inode_info *info = SHMEM_I(inode);
-@@ -1431,6 +1420,7 @@ failed:
- 	}
- 	return error;
- }
-+EXPORT_SYMBOL(shmem_getpage);
- 
- static int shmem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
- {
-@@ -2582,6 +2572,7 @@ put_memory:
- 	shmem_unacct_size(flags, size);
- 	return ERR_PTR(error);
- }
-+EXPORT_SYMBOL(shmem_file_setup);
- 
- /**
-  * shmem_zero_setup - setup a shared anonymous mapping


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1038
retrieving revision 1.1039
diff -u -r1.1038 -r1.1039
--- kernel.spec	10 Oct 2008 01:05:41 -0000	1.1038
+++ kernel.spec	10 Oct 2008 04:30:38 -0000	1.1039
@@ -642,6 +642,7 @@
 
 # nouveau + drm fixes
 Patch1800: nvidia-agp.patch
+Patch1810: drm-next.patch
 Patch1811: drm-modesetting-radeon.patch
 Patch1812: drm-modesetting-i915.patch
 Patch1813: drm-nouveau.patch
@@ -1225,6 +1226,7 @@
 ApplyPatch linux-2.6-net-tulip-interrupt.patch
 
 # Nouveau DRM + drm fixes
+ApplyPatch drm-next.patch
 ApplyPatch nvidia-agp.patch
 ApplyPatch drm-modesetting-radeon.patch
 ApplyPatch drm-modesetting-i915.patch
@@ -1825,6 +1827,10 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Fri Oct 10 2008 Dave Airlie <airlied at redhat.com>
+- rebase drm patches onto drm-next.patch which is going upstream
+- intel modesetting make not work properly due to rebase
+
 * Thu Oct 09 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27-2
 - Fix possible oops in get_wchan()
 




More information about the scm-commits mailing list