rpms/kernel/devel drm-next.patch, 1.3, 1.4 config-generic, 1.199, 1.200 drm-modesetting-radeon.patch, 1.50, 1.51 kernel.spec, 1.1173, 1.1174
Dave Airlie
airlied at fedoraproject.org
Fri Dec 19 06:21:58 UTC 2008
- Previous message (by thread): rpms/cairo-dock/devel cairo-dock.spec,1.106,1.107
- Next message (by thread): rpms/gnome-applets/devel gnome-applets-libgnomeui.patch, NONE, 1.1 gnome-applets.spec, 1.311, 1.312 gtkbuilder-translation.patch, 1.1, NONE info-leak.patch, 1.1, NONE keyboard-applet-leak.patch, 1.1, NONE mount-auth.patch, 1.1, NONE undecorate-mixer.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: airlied
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22008
Modified Files:
config-generic drm-modesetting-radeon.patch kernel.spec
Added Files:
drm-next.patch
Log Message:
- drm-next.patch/drm-modesetting-radeon.patch - rebase to upstream.
- config-generic: turn of KMS on radeon until we fixup userspace
drm-next.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.3 -r 1.4 drm-next.patch
Index: drm-next.patch
===================================================================
RCS file: drm-next.patch
diff -N drm-next.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ drm-next.patch 19 Dec 2008 06:21:57 -0000 1.4
@@ -0,0 +1,21369 @@
+diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
+index a8b33c2..5130b72 100644
+--- a/drivers/gpu/drm/Kconfig
++++ b/drivers/gpu/drm/Kconfig
+@@ -7,6 +7,8 @@
+ menuconfig DRM
+ tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
+ depends on (AGP || AGP=n) && PCI && !EMULATED_CMPXCHG && MMU
++ select I2C
++ select I2C_ALGOBIT
+ help
+ Kernel-level support for the Direct Rendering Infrastructure (DRI)
+ introduced in XFree86 4.0. If you say Y here, you need to select
+@@ -65,6 +67,10 @@ config DRM_I830
+ will load the correct one.
+
+ config DRM_I915
++ select FB_CFB_FILLRECT
++ select FB_CFB_COPYAREA
++ select FB_CFB_IMAGEBLIT
++ depends on FB
+ tristate "i915 driver"
+ help
+ Choose this option if you have a system that has Intel 830M, 845G,
+@@ -76,6 +82,17 @@ config DRM_I915
+
+ endchoice
+
++config DRM_I915_KMS
++ bool "Enable modesetting on intel by default"
++ depends on DRM_I915
++ help
++ Choose this option if you want kernel modesetting enabled by default,
++ and you have a new enough userspace to support this. Running old
++ userspaces with this enabled will cause pain. Note that this causes
++ the driver to bind to PCI devices, which precludes loading things
++ like intelfb.
++
++
+ config DRM_MGA
+ tristate "Matrox g200/g400"
+ depends on DRM
+diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
+index 74da994..30022c4 100644
+--- a/drivers/gpu/drm/Makefile
++++ b/drivers/gpu/drm/Makefile
+@@ -9,7 +9,8 @@ drm-y := drm_auth.o drm_bufs.o drm_cache.o \
+ drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \
+ drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \
+ drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \
+- drm_sysfs.o drm_hashtab.o drm_sman.o drm_mm.o
++ drm_sysfs.o drm_hashtab.o drm_sman.o drm_mm.o \
++ drm_crtc.o drm_crtc_helper.o drm_modes.o drm_edid.o
+
+ drm-$(CONFIG_COMPAT) += drm_ioc32.o
+
+diff --git a/drivers/gpu/drm/drm_auth.c b/drivers/gpu/drm/drm_auth.c
+index a734627..ca7a9ef 100644
+--- a/drivers/gpu/drm/drm_auth.c
++++ b/drivers/gpu/drm/drm_auth.c
+@@ -45,14 +45,15 @@
+ * the one with matching magic number, while holding the drm_device::struct_mutex
+ * lock.
+ */
+-static struct drm_file *drm_find_file(struct drm_device * dev, drm_magic_t magic)
++static struct drm_file *drm_find_file(struct drm_master *master, drm_magic_t magic)
+ {
+ struct drm_file *retval = NULL;
+ struct drm_magic_entry *pt;
+ struct drm_hash_item *hash;
++ struct drm_device *dev = master->minor->dev;
+
+ mutex_lock(&dev->struct_mutex);
+- if (!drm_ht_find_item(&dev->magiclist, (unsigned long)magic, &hash)) {
++ if (!drm_ht_find_item(&master->magiclist, (unsigned long)magic, &hash)) {
+ pt = drm_hash_entry(hash, struct drm_magic_entry, hash_item);
+ retval = pt->priv;
+ }
+@@ -71,11 +72,11 @@ static struct drm_file *drm_find_file(struct drm_device * dev, drm_magic_t magic
+ * associated the magic number hash key in drm_device::magiclist, while holding
+ * the drm_device::struct_mutex lock.
+ */
+-static int drm_add_magic(struct drm_device * dev, struct drm_file * priv,
++static int drm_add_magic(struct drm_master *master, struct drm_file *priv,
+ drm_magic_t magic)
+ {
+ struct drm_magic_entry *entry;
+-
++ struct drm_device *dev = master->minor->dev;
+ DRM_DEBUG("%d\n", magic);
+
+ entry = drm_alloc(sizeof(*entry), DRM_MEM_MAGIC);
+@@ -83,11 +84,10 @@ static int drm_add_magic(struct drm_device * dev, struct drm_file * priv,
+ return -ENOMEM;
+ memset(entry, 0, sizeof(*entry));
+ entry->priv = priv;
+-
+ entry->hash_item.key = (unsigned long)magic;
+ mutex_lock(&dev->struct_mutex);
+- drm_ht_insert_item(&dev->magiclist, &entry->hash_item);
+- list_add_tail(&entry->head, &dev->magicfree);
++ drm_ht_insert_item(&master->magiclist, &entry->hash_item);
++ list_add_tail(&entry->head, &master->magicfree);
+ mutex_unlock(&dev->struct_mutex);
+
+ return 0;
+@@ -102,20 +102,21 @@ static int drm_add_magic(struct drm_device * dev, struct drm_file * priv,
+ * Searches and unlinks the entry in drm_device::magiclist with the magic
+ * number hash key, while holding the drm_device::struct_mutex lock.
+ */
+-static int drm_remove_magic(struct drm_device * dev, drm_magic_t magic)
++static int drm_remove_magic(struct drm_master *master, drm_magic_t magic)
+ {
+ struct drm_magic_entry *pt;
+ struct drm_hash_item *hash;
++ struct drm_device *dev = master->minor->dev;
+
+ DRM_DEBUG("%d\n", magic);
+
+ mutex_lock(&dev->struct_mutex);
+- if (drm_ht_find_item(&dev->magiclist, (unsigned long)magic, &hash)) {
++ if (drm_ht_find_item(&master->magiclist, (unsigned long)magic, &hash)) {
+ mutex_unlock(&dev->struct_mutex);
+ return -EINVAL;
+ }
+ pt = drm_hash_entry(hash, struct drm_magic_entry, hash_item);
+- drm_ht_remove_item(&dev->magiclist, hash);
++ drm_ht_remove_item(&master->magiclist, hash);
+ list_del(&pt->head);
+ mutex_unlock(&dev->struct_mutex);
+
+@@ -153,9 +154,9 @@ int drm_getmagic(struct drm_device *dev, void *data, struct drm_file *file_priv)
+ ++sequence; /* reserve 0 */
+ auth->magic = sequence++;
+ spin_unlock(&lock);
+- } while (drm_find_file(dev, auth->magic));
++ } while (drm_find_file(file_priv->master, auth->magic));
+ file_priv->magic = auth->magic;
+- drm_add_magic(dev, file_priv, auth->magic);
++ drm_add_magic(file_priv->master, file_priv, auth->magic);
+ }
+
+ DRM_DEBUG("%u\n", auth->magic);
+@@ -181,9 +182,9 @@ int drm_authmagic(struct drm_device *dev, void *data,
+ struct drm_file *file;
+
+ DRM_DEBUG("%u\n", auth->magic);
+- if ((file = drm_find_file(dev, auth->magic))) {
++ if ((file = drm_find_file(file_priv->master, auth->magic))) {
+ file->authenticated = 1;
+- drm_remove_magic(dev, auth->magic);
++ drm_remove_magic(file_priv->master, auth->magic);
+ return 0;
+ }
+ return -EINVAL;
+diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
+index bde64b8..72c667f 100644
+--- a/drivers/gpu/drm/drm_bufs.c
++++ b/drivers/gpu/drm/drm_bufs.c
+@@ -54,9 +54,9 @@ static struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
+ {
+ struct drm_map_list *entry;
+ list_for_each_entry(entry, &dev->maplist, head) {
+- if (entry->map && map->type == entry->map->type &&
++ if (entry->map && (entry->master == dev->primary->master) && (map->type == entry->map->type) &&
+ ((entry->map->offset == map->offset) ||
+- (map->type == _DRM_SHM && map->flags==_DRM_CONTAINS_LOCK))) {
++ ((map->type == _DRM_SHM) && (map->flags&_DRM_CONTAINS_LOCK)))) {
+ return entry;
+ }
+ }
+@@ -210,12 +210,12 @@ static int drm_addmap_core(struct drm_device * dev, unsigned int offset,
+ map->offset = (unsigned long)map->handle;
+ if (map->flags & _DRM_CONTAINS_LOCK) {
+ /* Prevent a 2nd X Server from creating a 2nd lock */
+- if (dev->lock.hw_lock != NULL) {
++ if (dev->primary->master->lock.hw_lock != NULL) {
+ vfree(map->handle);
+ drm_free(map, sizeof(*map), DRM_MEM_MAPS);
+ return -EBUSY;
+ }
+- dev->sigdata.lock = dev->lock.hw_lock = map->handle; /* Pointer to lock */
++ dev->sigdata.lock = dev->primary->master->lock.hw_lock = map->handle; /* Pointer to lock */
+ }
+ break;
+ case _DRM_AGP: {
+@@ -262,6 +262,9 @@ static int drm_addmap_core(struct drm_device * dev, unsigned int offset,
+ DRM_DEBUG("AGP offset = 0x%08lx, size = 0x%08lx\n", map->offset, map->size);
+
+ break;
++ case _DRM_GEM:
++ DRM_ERROR("tried to rmmap GEM object\n");
++ break;
[...20976 lines suppressed...]
++struct drm_mode_get_property {
++ uint64_t values_ptr; /* values and blob lengths */
++ uint64_t enum_blob_ptr; /* enum and blob id ptrs */
++
++ uint32_t prop_id;
++ uint32_t flags;
++ char name[DRM_PROP_NAME_LEN];
++
++ uint32_t count_values;
++ uint32_t count_enum_blobs;
++};
++
++struct drm_mode_connector_set_property {
++ uint64_t value;
++ uint32_t prop_id;
++ uint32_t connector_id;
++};
++
++struct drm_mode_get_blob {
++ uint32_t blob_id;
++ uint32_t length;
++ uint64_t data;
++};
++
++struct drm_mode_fb_cmd {
++ uint32_t fb_id;
++ uint32_t width, height;
++ uint32_t pitch;
++ uint32_t bpp;
++ uint32_t depth;
++ /* driver specific handle */
++ uint32_t handle;
++};
++
++struct drm_mode_mode_cmd {
++ uint32_t connector_id;
++ struct drm_mode_modeinfo mode;
++};
++
++#define DRM_MODE_CURSOR_BO (1<<0)
++#define DRM_MODE_CURSOR_MOVE (1<<1)
++
++/*
++ * depending on the value in flags diffrent members are used.
++ *
++ * CURSOR_BO uses
++ * crtc
++ * width
++ * height
++ * handle - if 0 turns the cursor of
++ *
++ * CURSOR_MOVE uses
++ * crtc
++ * x
++ * y
++ */
++struct drm_mode_cursor {
++ uint32_t flags;
++ uint32_t crtc_id;
++ int32_t x;
++ int32_t y;
++ uint32_t width;
++ uint32_t height;
++ /* driver specific handle */
++ uint32_t handle;
++};
++
++struct drm_mode_crtc_lut {
++ uint32_t crtc_id;
++ uint32_t gamma_size;
++
++ /* pointers to arrays */
++ uint64_t red;
++ uint64_t green;
++ uint64_t blue;
++};
++
++#endif
+diff --git a/include/drm/drm_sarea.h b/include/drm/drm_sarea.h
+index 4800373..ee5389d 100644
+--- a/include/drm/drm_sarea.h
++++ b/include/drm/drm_sarea.h
+@@ -36,12 +36,12 @@
+
+ /* SAREA area needs to be at least a page */
+ #if defined(__alpha__)
+-#define SAREA_MAX 0x2000
++#define SAREA_MAX 0x2000U
+ #elif defined(__ia64__)
+-#define SAREA_MAX 0x10000 /* 64kB */
++#define SAREA_MAX 0x10000U /* 64kB */
+ #else
+ /* Intel 830M driver needs at least 8k SAREA */
+-#define SAREA_MAX 0x2000
++#define SAREA_MAX 0x2000U
+ #endif
+
+ /** Maximum number of drawables in the SAREA */
+diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
+index 152b34d..b3bcf72 100644
+--- a/include/drm/i915_drm.h
++++ b/include/drm/i915_drm.h
+@@ -113,8 +113,31 @@ typedef struct _drm_i915_sarea {
+ int pipeB_y;
+ int pipeB_w;
+ int pipeB_h;
++
++ /* fill out some space for old userspace triple buffer */
++ drm_handle_t unused_handle;
++ uint32_t unused1, unused2, unused3;
++
++ /* buffer object handles for static buffers. May change
++ * over the lifetime of the client.
++ */
++ uint32_t front_bo_handle;
++ uint32_t back_bo_handle;
++ uint32_t unused_bo_handle;
++ uint32_t depth_bo_handle;
++
+ } drm_i915_sarea_t;
+
++/* due to userspace building against these headers we need some compat here */
++#define planeA_x pipeA_x
++#define planeA_y pipeA_y
++#define planeA_w pipeA_w
++#define planeA_h pipeA_h
++#define planeB_x pipeB_x
++#define planeB_y pipeB_y
++#define planeB_w pipeB_w
++#define planeB_h pipeB_h
++
+ /* Flags for perf_boxes
+ */
+ #define I915_BOX_RING_EMPTY 0x1
+@@ -160,6 +183,7 @@ typedef struct _drm_i915_sarea {
+ #define DRM_I915_GEM_SET_TILING 0x21
+ #define DRM_I915_GEM_GET_TILING 0x22
+ #define DRM_I915_GEM_GET_APERTURE 0x23
++#define DRM_I915_GEM_MMAP_GTT 0x24
+
+ #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
+ #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
+@@ -177,6 +201,8 @@ typedef struct _drm_i915_sarea {
+ #define DRM_IOCTL_I915_SET_VBLANK_PIPE DRM_IOW( DRM_COMMAND_BASE + DRM_I915_SET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
+ #define DRM_IOCTL_I915_GET_VBLANK_PIPE DRM_IOR( DRM_COMMAND_BASE + DRM_I915_GET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
+ #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t)
++#define DRM_IOCTL_I915_GEM_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init)
++#define DRM_IOCTL_I915_GEM_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER, struct drm_i915_gem_execbuffer)
+ #define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin)
+ #define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin)
+ #define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy)
+@@ -187,6 +213,7 @@ typedef struct _drm_i915_sarea {
+ #define DRM_IOCTL_I915_GEM_PREAD DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_PREAD, struct drm_i915_gem_pread)
+ #define DRM_IOCTL_I915_GEM_PWRITE DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_PWRITE, struct drm_i915_gem_pwrite)
+ #define DRM_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct drm_i915_gem_mmap)
++#define DRM_IOCTL_I915_GEM_MMAP_GTT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_GTT, struct drm_i915_gem_mmap_gtt)
+ #define DRM_IOCTL_I915_GEM_SET_DOMAIN DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SET_DOMAIN, struct drm_i915_gem_set_domain)
+ #define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish)
+ #define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling)
+@@ -196,7 +223,7 @@ typedef struct _drm_i915_sarea {
+ /* Allow drivers to submit batchbuffers directly to hardware, relying
+ * on the security mechanisms provided by hardware.
+ */
+-typedef struct _drm_i915_batchbuffer {
++typedef struct drm_i915_batchbuffer {
+ int start; /* agp offset */
+ int used; /* nr bytes in use */
+ int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */
+@@ -382,6 +409,18 @@ struct drm_i915_gem_mmap {
+ uint64_t addr_ptr;
+ };
+
++struct drm_i915_gem_mmap_gtt {
++ /** Handle for the object being mapped. */
++ uint32_t handle;
++ uint32_t pad;
++ /**
++ * Fake offset to use for subsequent mmap call
++ *
++ * This is a fixed-size type for 32/64 compatibility.
++ */
++ uint64_t offset;
++};
++
+ struct drm_i915_gem_set_domain {
+ /** Handle for the object */
+ uint32_t handle;
+diff --git a/include/linux/console.h b/include/linux/console.h
+index 248e6e3..a67a90c 100644
+--- a/include/linux/console.h
++++ b/include/linux/console.h
+@@ -153,4 +153,8 @@ void vcs_remove_sysfs(struct tty_struct *tty);
+ #define VESA_HSYNC_SUSPEND 2
+ #define VESA_POWERDOWN 3
+
++#ifdef CONFIG_VGA_CONSOLE
++extern bool vgacon_text_force(void);
++#endif
++
+ #endif /* _LINUX_CONSOLE_H */
Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.199
retrieving revision 1.200
diff -u -r1.199 -r1.200
--- config-generic 17 Dec 2008 19:49:17 -0000 1.199
+++ config-generic 19 Dec 2008 06:21:57 -0000 1.200
@@ -2122,7 +2122,7 @@
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
-CONFIG_DRM_RADEON_KMS=y
+CONFIG_DRM_RADEON_KMS=n
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_MGA=m
drm-modesetting-radeon.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.50 -r 1.51 drm-modesetting-radeon.patch
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -r1.50 -r1.51
--- drm-modesetting-radeon.patch 8 Dec 2008 03:24:57 -0000 1.50
+++ drm-modesetting-radeon.patch 19 Dec 2008 06:21:57 -0000 1.51
@@ -1,3 +1,1323 @@
+commit 3ef2b914f9667c70a9711fa31ff95d639ccc8e2e
+Author: Dave Airlie <airlied at redhat.com>
+Date: Thu Dec 18 23:01:12 2008 +1000
+
+ drm: don't set cached bits on pages from uncached allocator.
+
+ This should make AGP no corrupt itself to all buggery
+ (cherry picked from commit 55c0a3f1d3693cb5c3b65f37d4bb6e8a3c025460)
+
+commit be5f7447cc492545e225170be38e5e65d7de37d9
+Author: Dave Airlie <airlied at redhat.com>
+Date: Tue Dec 2 16:38:04 2008 +1000
+
+ drop old CS
+
+commit 91bfed87127c1bd17098803184e43783d55f35e5
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Dec 1 15:09:27 2008 +1000
+
+ radeon: update with latest CS bits
+
+commit a7f6175e3610651b1f84a1b8aa1f61a9a4f3bdb6
+Author: Dave Airlie <airlied at redhat.com>
+Date: Wed Dec 17 06:56:36 2008 +1000
+
+ fixups post rebase
+
+commit cd29f247278a5949956adbfb75229dc9bad19f8e
+Author: Dave Airlie <airlied at redhat.com>
+Date: Thu Dec 11 01:35:09 2008 +1000
+
+ radeon: fix agp mode when kms isn't enabled
+
+commit 0d0f9c970263750a68131b5f88735c59f605c69f
+Author: Dave Airlie <airlied at ppcg5.localdomain>
+Date: Wed Dec 3 17:22:07 2008 +1100
+
+ radeon: add support for accessing disabled ROMs.
+
+commit 840d823d6f33c1852b92791093b23b1ce7af25ac
+Author: Dave Airlie <airlied at ppcg5.localdomain>
+Date: Wed Dec 3 17:19:02 2008 +1100
+
+ radeon: make cail do pll read/write via actual PLL functions
+
+commit 049d865d47cf229234cd7dd0ef8927a41a142b0e
+Author: Dave Airlie <airlied at ppcg5.localdomain>
+Date: Wed Dec 3 16:36:00 2008 +1100
+
+ radeon: atom fixes for endianness
+
+commit df08dc63cbbd19a8ea0659bdc379147a59201b4c
+Author: Dave Airlie <airlied at redhat.com>
+Date: Wed Dec 3 20:28:05 2008 +1000
+
+ radeon: AGP fixes round 2.
+
+ More I can't believe its not AGP fixes.
+ Limit the AGP aperture to the GART size, and init the registers
+ in the right place
+
+commit 79d6ac96108c29dbce90ce605b01dd6b71673092
+Author: Dave Airlie <airlied at redhat.com>
+Date: Tue Dec 2 12:49:17 2008 +1000
+
+ radeon: AGP fixes
+
+ 1. Proper PCIE fallback on PCIE cards.
+ 2. Setup agp base + location regs properly
+
+commit e6a1353d11f485c99371e0b89c669da0c23e8af4
+Author: Michal Schmidt <mschmidt at redhat.com>
+Date: Tue Dec 2 08:06:59 2008 +1000
+
+ radeon: fix IGP GART calcs
+
+ fedora bz 473895
+
+commit d879f36aca29ece7c3bfada452266e82df3f2392
+Author: Dave Airlie <airlied at redhat.com>
+Date: Thu Nov 27 17:14:40 2008 +1000
+
+ radeon: post any GPUs that aren't posted
+
+commit d04c4750aba2b0bd306ab36a0002f2609ed6cc9a
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 24 15:18:31 2008 +1000
+
+ radeon: enable larger GART size on PCIE/IGP
+
+ Allocate a larger GART on PCIE and IGP chipsets controlled by the gart_size
+ command line option.
+
+ Default to 512MB gart.
+
+commit ae7c33fa98bf4921292f6dffb6e60dd2b85cddfa
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 24 15:17:49 2008 +1000
+
+ radeon: add some missing feature checks for modesetting
+
+commit 54fd140cc8c63d5c65fbcdf21259025fd8a431e8
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 24 11:41:06 2008 +1100
+
+ radeon: make rs480/rs690 gart invalidate work properly.
+
+ we really need to read back to make sure the invalidate has happened
+ before continuing along happily in life.
+
+commit 5e418cef1bfca7e8e0821d6e44a1e1a78e015b17
+Author: Dave Airlie <airlied at redhat.com>
+Date: Sun Nov 23 19:19:02 2008 +1000
+
+ drm: we have discardable now so don't do special cases
+
+commit 87e2de7aef77b96a8be3532358b6ceb9540d622a
+Author: Dave Airlie <airlied at redhat.com>
+Date: Fri Nov 21 14:52:25 2008 +1000
+
+ atom: fix bug in parser for MC reads
+
+commit 52eccc11083a1c0636337520187a4e2cf9bfe989
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 17 18:14:28 2008 +1000
+
+ radeon: turn of VRAM zeroing by default for now - needs work
+
+commit 7a32efbc88ed749c0cd44a95bb4888cd2bc806c0
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 17 09:03:36 2008 +1000
+
+ radeon: fix return value for no relocs
+
+commit 5a47b4d8a97949288ebe8f2f3437637e405d1db8
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 17 09:03:01 2008 +1000
+
+ ttm: add discard for VRAM buffers
+
+commit 160794bbbb90088a86acc96ca5268bc46255582d
+Author: Dave Airlie <airlied at dhcp-1-203.bne.redhat.com>
+Date: Fri Nov 14 15:52:32 2008 +1000
+
+ drm: fix the exit path of the bo unlocking
+
+commit 1ea46b5e3dc7e75afe1936594e0e085c9dc8665d
+Author: Dave Airlie <airlied at dhcp-1-203.bne.redhat.com>
+Date: Fri Nov 14 15:51:44 2008 +1000
+
+ radeon: fixup relocate to work on locate write buffers in VRAM first.
+
+ Fixup failure paths and make EAGAIN work
+
+commit e16a76e302eba9b53858457054059985ec0ef9df
+Author: Dave Airlie <airlied at redhat.com>
+Date: Thu Nov 13 17:22:26 2008 +1100
+
+ radeon: fix some issues since last rebase
+
+commit e9ab870ce368dab7ed9e859c157074913353b589
+Author: Dave Airlie <airlied at redhat.com>
+Date: Wed Nov 12 09:01:14 2008 +1000
+
+ radeon: fix more build
+
+commit 3b7c8b9cb7db0749540f9b042c7bf9e8e65f320d
+Author: Dave Airlie <airlied at redhat.com>
+Date: Wed Nov 12 08:59:04 2008 +1000
+
+ radeon: fix compile
+
+commit 8455e44f0909b58b60465e7e8f84b77ec12710cc
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 10 15:39:25 2008 +1000
+
+ radeon: fix dumbness in cp ring check
+
+commit f6654d03d800ea8e75bffdfad679cf8450c60361
+Author: Dave Airlie <airlied at redhat.com>
+Date: Mon Nov 10 14:26:11 2008 +1000
+
+ radeon: add gart useable size to report to userspace
+
+commit 0fb851b61a586a96a39d7f8725b12152c1fa1c27
+Author: Dave Airlie <airlied at redhat.com>
+Date: Sun Nov 9 20:34:49 2008 +1000
+
+ radeon: fix powerpc oops on rv280
+
+commit b264e9bd0230865da5406eb991f9afdbedd49385
[...13052 lines suppressed...]
- /* SAREA area needs to be at least a page */
- #if defined(__alpha__)
--#define SAREA_MAX 0x2000
-+#define SAREA_MAX 0x2000UL
- #elif defined(__ia64__)
--#define SAREA_MAX 0x10000 /* 64kB */
-+#define SAREA_MAX 0x10000UL /* 64kB */
- #else
- /* Intel 830M driver needs at least 8k SAREA */
--#define SAREA_MAX 0x2000
-+#define SAREA_MAX 0x2000UL
- #endif
-
- /** Maximum number of drawables in the SAREA */
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h
-index 152b34d..13c91fc 100644
+index b3bcf72..181d9de 100644
--- a/include/drm/i915_drm.h
+++ b/include/drm/i915_drm.h
-@@ -63,7 +63,7 @@ typedef struct _drm_i915_init {
- unsigned int chipset;
- } drm_i915_init_t;
-
--typedef struct _drm_i915_sarea {
-+typedef struct drm_i915_sarea {
- struct drm_tex_region texList[I915_NR_TEX_REGIONS + 1];
- int last_upload; /* last time texture was uploaded */
- int last_enqueue; /* last time a buffer was enqueued */
-@@ -105,14 +105,26 @@ typedef struct _drm_i915_sarea {
- unsigned int rotated_tiled;
- unsigned int rotated2_tiled;
-
-- int pipeA_x;
-- int pipeA_y;
-- int pipeA_w;
-- int pipeA_h;
-- int pipeB_x;
-- int pipeB_y;
-- int pipeB_w;
-- int pipeB_h;
-+ int planeA_x;
-+ int planeA_y;
-+ int planeA_w;
-+ int planeA_h;
-+ int planeB_x;
-+ int planeB_y;
-+ int planeB_w;
-+ int planeB_h;
-+
-+ /* triple buffering - not in kernel */
-+ drm_handle_t third_handle;
-+ int third_offset;
-+ int third_size;
-+ unsigned int third_tiled;
-+
-+ /* buffer object handles for static buffers */
-+ unsigned int front_bo_handle;
-+ unsigned int back_bo_handle;
-+ unsigned int third_bo_handle;
-+ unsigned int depth_bo_handle;
- } drm_i915_sarea_t;
-
- /* Flags for perf_boxes
-@@ -163,7 +175,7 @@ typedef struct _drm_i915_sarea {
+@@ -187,7 +187,7 @@ typedef struct _drm_i915_sarea {
#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
@@ -43798,16 +36034,7 @@
#define DRM_IOCTL_I915_BATCHBUFFER DRM_IOW( DRM_COMMAND_BASE + DRM_I915_BATCHBUFFER, drm_i915_batchbuffer_t)
#define DRM_IOCTL_I915_IRQ_EMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_IRQ_EMIT, drm_i915_irq_emit_t)
#define DRM_IOCTL_I915_IRQ_WAIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_IRQ_WAIT, drm_i915_irq_wait_t)
-@@ -177,6 +189,8 @@ typedef struct _drm_i915_sarea {
- #define DRM_IOCTL_I915_SET_VBLANK_PIPE DRM_IOW( DRM_COMMAND_BASE + DRM_I915_SET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
- #define DRM_IOCTL_I915_GET_VBLANK_PIPE DRM_IOR( DRM_COMMAND_BASE + DRM_I915_GET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
- #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t)
-+#define DRM_IOCTL_I915_GEM_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init)
-+#define DRM_IOCTL_I915_GEM_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER, struct drm_i915_gem_execbuffer)
- #define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin)
- #define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin)
- #define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy)
-@@ -193,10 +207,22 @@ typedef struct _drm_i915_sarea {
+@@ -220,6 +220,18 @@ typedef struct _drm_i915_sarea {
#define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling)
#define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture)
@@ -43826,13 +36053,8 @@
/* Allow drivers to submit batchbuffers directly to hardware, relying
* on the security mechanisms provided by hardware.
*/
--typedef struct _drm_i915_batchbuffer {
-+typedef struct drm_i915_batchbuffer {
- int start; /* agp offset */
- int used; /* nr bytes in use */
- int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */
diff --git a/include/drm/radeon_drm.h b/include/drm/radeon_drm.h
-index 73ff51f..770f6f0 100644
+index 73ff51f..e4f5897 100644
--- a/include/drm/radeon_drm.h
+++ b/include/drm/radeon_drm.h
@@ -453,6 +453,15 @@ typedef struct {
@@ -43851,7 +36073,7 @@
} drm_radeon_sarea_t;
/* WARNING: If you change any of these defines, make sure to change the
-@@ -493,6 +502,19 @@ typedef struct {
+@@ -493,6 +502,18 @@ typedef struct {
#define DRM_RADEON_SURF_ALLOC 0x1a
#define DRM_RADEON_SURF_FREE 0x1b
@@ -43865,13 +36087,12 @@
+#define DRM_RADEON_GEM_SET_DOMAIN 0x23
+#define DRM_RADEON_GEM_WAIT_RENDERING 0x24
+
-+#define DRM_RADEON_CS 0x25
-+#define DRM_RADEON_CS2 0x26
++#define DRM_RADEON_CS 0x26
+
#define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t)
#define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START)
#define DRM_IOCTL_RADEON_CP_STOP DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_STOP, drm_radeon_cp_stop_t)
-@@ -521,6 +543,19 @@ typedef struct {
+@@ -521,6 +542,18 @@ typedef struct {
#define DRM_IOCTL_RADEON_SURF_ALLOC DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_ALLOC, drm_radeon_surface_alloc_t)
#define DRM_IOCTL_RADEON_SURF_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_FREE, drm_radeon_surface_free_t)
@@ -43885,13 +36106,12 @@
+#define DRM_IOCTL_RADEON_GEM_SET_DOMAIN DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_SET_DOMAIN, struct drm_radeon_gem_set_domain)
+#define DRM_IOCTL_RADEON_GEM_WAIT_RENDERING DRM_IOW(DRM_COMMAND_BASE + DRM_RADEON_GEM_WAIT_RENDERING, struct drm_radeon_gem_wait_rendering)
+#define DRM_IOCTL_RADEON_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_CS, struct drm_radeon_cs)
-+#define DRM_IOCTL_RADEON_CS2 DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_CS2, struct drm_radeon_cs2)
+
+
typedef struct drm_radeon_init {
enum {
RADEON_INIT_CP = 0x01,
-@@ -677,6 +712,7 @@ typedef struct drm_radeon_indirect {
+@@ -677,6 +710,7 @@ typedef struct drm_radeon_indirect {
#define RADEON_PARAM_VBLANK_CRTC 13 /* VBLANK CRTC */
#define RADEON_PARAM_FB_LOCATION 14 /* FB location */
#define RADEON_PARAM_NUM_GB_PIPES 15 /* num GB pipes */
@@ -43899,7 +36119,7 @@
typedef struct drm_radeon_getparam {
int param;
-@@ -731,6 +767,7 @@ typedef struct drm_radeon_setparam {
+@@ -731,6 +765,7 @@ typedef struct drm_radeon_setparam {
#define RADEON_SETPARAM_NEW_MEMMAP 4 /* Use new memory map */
#define RADEON_SETPARAM_PCIGART_TABLE_SIZE 5 /* PCI GART Table Size */
#define RADEON_SETPARAM_VBLANK_CRTC 6 /* VBLANK CRTC */
@@ -43907,7 +36127,7 @@
/* 1.14: Clients can allocate/free a surface
*/
typedef struct drm_radeon_surface_alloc {
-@@ -746,4 +783,114 @@ typedef struct drm_radeon_surface_free {
+@@ -746,4 +781,106 @@ typedef struct drm_radeon_surface_free {
#define DRM_RADEON_VBLANK_CRTC1 1
#define DRM_RADEON_VBLANK_CRTC2 2
@@ -43995,14 +36215,6 @@
+
+/* New interface which obsolete all previous interface.
+ */
-+
-+
-+struct drm_radeon_cs {
-+ uint32_t dwords;
-+ uint32_t cs_id;
-+ uint64_t packets;
-+};
-+
+#define RADEON_CHUNK_ID_RELOCS 0x01
+#define RADEON_CHUNK_ID_IB 0x02
+#define RADEON_CHUNK_ID_OLD 0xff
@@ -44013,7 +36225,7 @@
+ uint64_t chunk_data;
+};
+
-+struct drm_radeon_cs2 {
++struct drm_radeon_cs {
+ uint32_t num_chunks;
+ uint32_t cs_id;
+ uint64_t chunks; /* this points to uint64_t * which point to
@@ -44022,16 +36234,3 @@
+
+
#endif
-diff --git a/include/linux/console.h b/include/linux/console.h
-index 248e6e3..a67a90c 100644
---- a/include/linux/console.h
-+++ b/include/linux/console.h
-@@ -153,4 +153,8 @@ void vcs_remove_sysfs(struct tty_struct *tty);
- #define VESA_HSYNC_SUSPEND 2
- #define VESA_POWERDOWN 3
-
-+#ifdef CONFIG_VGA_CONSOLE
-+extern bool vgacon_text_force(void);
-+#endif
-+
- #endif /* _LINUX_CONSOLE_H */
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1173
retrieving revision 1.1174
diff -u -r1.1173 -r1.1174
--- kernel.spec 19 Dec 2008 04:39:49 -0000 1.1173
+++ kernel.spec 19 Dec 2008 06:21:57 -0000 1.1174
@@ -643,8 +643,8 @@
Patch1550: linux-2.6-cdrom-door-status.patch
# nouveau + drm fixes
+Patch1811: drm-next.patch
Patch1812: drm-modesetting-radeon.patch
-Patch1813: drm-modesetting-i915.patch
Patch1814: drm-nouveau.patch
# kludge to make ich9 e1000 work
@@ -1173,9 +1173,9 @@
ApplyPatch linux-2.6-olpc-speaker-out.patch
# Nouveau DRM + drm fixes
+ApplyPatch drm-next.patch
ApplyPatch drm-modesetting-radeon.patch
-#ApplyPatch drm-modesetting-i915.patch
-ApplyPatch drm-nouveau.patch
+#ApplyPatch drm-nouveau.patch
# linux1394 git patches
#ApplyPatch linux-2.6-firewire-git-update.patch
@@ -1768,6 +1768,10 @@
%kernel_variant_files -k vmlinux %{with_kdump} kdump
%changelog
+* Thu Dec 18 2008 Dave Airlie <airlied at redhat.com>
+- drm-next.patch/drm-modesetting-radeon.patch - rebase to upstream.
+- config-generic: turn of KMS on radeon until we fixup userspace
+
* Thu Dec 18 2008 Dave Jones <davej at redhat.com>
- 2.6.28-rc9
- Previous message (by thread): rpms/cairo-dock/devel cairo-dock.spec,1.106,1.107
- Next message (by thread): rpms/gnome-applets/devel gnome-applets-libgnomeui.patch, NONE, 1.1 gnome-applets.spec, 1.311, 1.312 gtkbuilder-translation.patch, 1.1, NONE info-leak.patch, 1.1, NONE keyboard-applet-leak.patch, 1.1, NONE mount-auth.patch, 1.1, NONE undecorate-mixer.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list