rpms/kernel/F-10 drm-nouveau.patch, 1.7, 1.8 kernel.spec, 1.1247, 1.1248

Chuck Ebbert cebbert at fedoraproject.org
Sat Feb 7 05:42:21 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30864

Modified Files:
	drm-nouveau.patch kernel.spec 
Log Message:
Revert nouveau to 0.0.11 for now.

drm-nouveau.patch:

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.7 -r 1.8 drm-nouveau.patch
Index: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/drm-nouveau.patch,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- drm-nouveau.patch	7 Feb 2009 04:01:16 -0000	1.7
+++ drm-nouveau.patch	7 Feb 2009 05:42:20 -0000	1.8
@@ -1,29 +1,29 @@
 diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
-index 0d87bfc..433bd8b 100644
+index 5130b72..f29b63b 100644
 --- a/drivers/gpu/drm/Kconfig
 +++ b/drivers/gpu/drm/Kconfig
-@@ -134,3 +134,9 @@ config DRM_SAVAGE
+@@ -123,3 +123,9 @@ config DRM_SAVAGE
  	help
  	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
  	  chipset. If M is selected the module will be called savage.
 +
 +config DRM_NOUVEAU
-+	tristate "Nouveau (nVidia) cards"
++	tristate "Nouveau (nvidia) cards"
 +	depends on DRM
 +	help
-+	  Choose this option for open-source nVidia support.
++	  Choose for nvidia support
 diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
-index 9aba961..954fd51 100644
+index 30022c4..1cccfaf 100644
 --- a/drivers/gpu/drm/Makefile
 +++ b/drivers/gpu/drm/Makefile
-@@ -26,4 +26,5 @@ obj-$(CONFIG_DRM_I915)  += i915/
+@@ -25,4 +25,5 @@ obj-$(CONFIG_DRM_I915)  += i915/
  obj-$(CONFIG_DRM_SIS)   += sis/
  obj-$(CONFIG_DRM_SAVAGE)+= savage/
  obj-$(CONFIG_DRM_VIA)	+=via/
-+obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
++obj-$(CONFIG_DRM_NOUVEAU) += nouveau/
  
 diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
-index 19039d8..d5718bb 100644
+index 72c667f..414b52b 100644
 --- a/drivers/gpu/drm/drm_bufs.c
 +++ b/drivers/gpu/drm/drm_bufs.c
 @@ -49,8 +49,8 @@ unsigned long drm_get_resource_len(struct drm_device *dev, unsigned int resource
@@ -33,7 +33,7 @@
 -static struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
 -					     drm_local_map_t *map)
 +struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
-+					   drm_local_map_t *map)
++ 					   drm_local_map_t *map)
  {
  	struct drm_map_list *entry;
  	list_for_each_entry(entry, &dev->maplist, head) {
@@ -47,905 +47,517 @@
  			  unsigned long user_token, int hashed_handle)
 diff --git a/drivers/gpu/drm/nouveau/Makefile b/drivers/gpu/drm/nouveau/Makefile
 new file mode 100644
-index 0000000..384c3b5
+index 0000000..f01f82a
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/Makefile
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,19 @@
 +#
 +# Makefile for the drm device driver.  This driver provides support for the
 +# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 +
 +ccflags-y := -Iinclude/drm
 +nouveau-y := nouveau_drv.o nouveau_state.o nouveau_fifo.o nouveau_mem.o \
-+             nouveau_object.o nouveau_irq.o nouveau_notifier.o \
-+             nouveau_swmthd.o nouveau_sgdma.o nouveau_dma.o \
-+             nouveau_bo.o nouveau_fence.o nouveau_gem.o \
-+             nouveau_bios.o \
++             nouveau_object.o nouveau_irq.o nouveau_notifier.o nouveau_swmthd.o \
++             nouveau_sgdma.o nouveau_dma.o nouveau_bo.o nouveau_fence.o \
 +             nv04_timer.o \
 +             nv04_mc.o nv40_mc.o nv50_mc.o \
 +             nv04_fb.o nv10_fb.o nv40_fb.o \
 +             nv04_fifo.o nv10_fifo.o nv40_fifo.o nv50_fifo.o \
 +             nv04_graph.o nv10_graph.o nv20_graph.o \
 +             nv40_graph.o nv50_graph.o \
-+             nv04_instmem.o nv50_instmem.o \
-+             nv50_crtc.o nv50_dac.o nv50_sor.o nv50_connector.o \
-+             nv50_lut.o nv50_cursor.o nv50_i2c.o nv50_display.o \
-+             nv50_fbcon.o
++             nv04_instmem.o nv50_instmem.o
 +
 +nouveau-$(CONFIG_COMPAT) += nouveau_ioc32.o
 +
 +obj-$(CONFIG_DRM_NOUVEAU)+= nouveau.o
-diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
+diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
 new file mode 100644
-index 0000000..faa2b2b
+index 0000000..ab3b23a
 --- /dev/null
-+++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
-@@ -0,0 +1,854 @@
++++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
+@@ -0,0 +1,296 @@
 +/*
-+ * Copyright (C) 2005-2006 Erik Waling
-+ * Copyright (C) 2006 Stephane Marchesin
-+ * Copyright (C) 2007-2008 Stuart Bennett
-+ * Copyright (C) 2008 Maarten Maathuis.
++ * Copyright 2007 Dave Airlied
 + * All Rights Reserved.
 + *
-+ * Permission is hereby granted, free of charge, to any person obtaining
-+ * a copy of this software and associated documentation files (the
-+ * "Software"), to deal in the Software without restriction, including
-+ * without limitation the rights to use, copy, modify, merge, publish,
-+ * distribute, sublicense, and/or sell copies of the Software, and to
-+ * permit persons to whom the Software is furnished to do so, subject to
-+ * the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the
-+ * next paragraph) shall be included in all copies or substantial
-+ * portions of the Software.
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following conditions:
 + *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-+ * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
-+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++ * The above copyright notice and this permission notice (including the next
++ * paragraph) shall be included in all copies or substantial portions of the
++ * Software.
 + *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
++ * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
++ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
++ * OTHER DEALINGS IN THE SOFTWARE.
++ */
++/*
++ * Authors: Dave Airlied <airlied at linux.ie>
++ *	    Ben Skeggs   <darktama at iinet.net.au>
++ *	    Jeremy Kolb  <jkolb at brandeis.edu>
 + */
 +
-+#include <asm/byteorder.h>
-+#include "nouveau_bios.h"
++#include "drmP.h"
++#include "nouveau_drm.h"
 +#include "nouveau_drv.h"
++#include "nouveau_dma.h"
 +
-+/* returns true if it mismatches */
-+static bool nv_checksum(const uint8_t *data, unsigned int length)
++static struct drm_ttm_backend *
++nouveau_bo_create_ttm_backend_entry(struct drm_device * dev)
 +{
-+	/* there's a few checksums in the BIOS, so here's a generic checking function */
-+	int i;
-+	uint8_t sum = 0;
-+
-+	for (i = 0; i < length; i++)
-+		sum += data[i];
++	struct drm_nouveau_private *dev_priv = dev->dev_private;
 +
-+	if (sum)
-+		return true;
++	switch (dev_priv->gart_info.type) {
++	case NOUVEAU_GART_AGP:
++		return drm_agp_init_ttm(dev);
++	case NOUVEAU_GART_SGDMA:
++		return nouveau_sgdma_init_ttm(dev);
++	default:
++		DRM_ERROR("Unknown GART type %d\n", dev_priv->gart_info.type);
++		break;
++	}
 +
-+	return false;
++	return NULL;
 +}
 +
-+static int nv_valid_bios(struct drm_device *dev, uint8_t *data)
++static int
++nouveau_bo_fence_type(struct drm_buffer_object *bo,
++		      uint32_t *fclass, uint32_t *type)
 +{
-+	/* check for BIOS signature */
-+	if (!(data[0] == 0x55 && data[1] == 0xAA)) {
-+		DRM_ERROR("BIOS signature not found.\n");
-+		return 0;
-+	}
++	/* When we get called, *fclass is set to the requested fence class */
[...43860 lines suppressed...]
-+	}
-+
-+	return 0;
-+}
 diff --git a/include/drm/Kbuild b/include/drm/Kbuild
 index b940fdf..cfa6af4 100644
 --- a/include/drm/Kbuild
@@ -32481,24 +15439,24 @@
  unifdef-y += via_drm.h
 +unifdef-y += nouveau_drm.h
 diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 67cadab..4e2c0c8 100644
+index afb7858..d8dae5f 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
-@@ -1206,6 +1206,8 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);
+@@ -1160,6 +1160,8 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);
  extern int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv);
  
  				/* Buffer management support (drm_bufs.h) */
 +extern struct drm_map_list *drm_find_matching_map(struct drm_device *dev,
-+						  drm_local_map_t *map);
++ 					   drm_local_map_t *map);
  extern int drm_addbufs_agp(struct drm_device *dev, struct drm_buf_desc * request);
  extern int drm_addbufs_pci(struct drm_device *dev, struct drm_buf_desc * request);
  extern int drm_addmap(struct drm_device *dev, unsigned int offset,
 diff --git a/include/drm/nouveau_drm.h b/include/drm/nouveau_drm.h
 new file mode 100644
-index 0000000..4147f35
+index 0000000..a99c615
 --- /dev/null
 +++ b/include/drm/nouveau_drm.h
-@@ -0,0 +1,299 @@
+@@ -0,0 +1,184 @@
 +/*
 + * Copyright 2005 Stephane Marchesin.
 + * All Rights Reserved.
@@ -32526,26 +15484,13 @@
 +#ifndef __NOUVEAU_DRM_H__
 +#define __NOUVEAU_DRM_H__
 +
-+#define NOUVEAU_DRM_HEADER_PATCHLEVEL 12
++#define NOUVEAU_DRM_HEADER_PATCHLEVEL 11
 +
 +struct drm_nouveau_channel_alloc {
 +	uint32_t     fb_ctxdma_handle;
 +	uint32_t     tt_ctxdma_handle;
 +
 +	int          channel;
-+
-+	/* Notifier memory */
-+	drm_handle_t notifier;
-+	int          notifier_size;
-+
-+	/* DRM-enforced subchannel assignments */
-+	struct {
-+		uint32_t handle;
-+		uint32_t grclass;
-+	} subchan[8];
-+	uint32_t nr_subchan;
-+
-+/* !MM_ENABLED ONLY */
 +	uint32_t     put_base;
 +	/* FIFO control regs */
 +	drm_handle_t ctrl;
@@ -32553,6 +15498,9 @@
 +	/* DMA command buffer */
 +	drm_handle_t cmdbuf;
 +	int          cmdbuf_size;
++	/* Notifier memory */
++	drm_handle_t notifier;
++	int          notifier_size;
 +};
 +
 +struct drm_nouveau_channel_free {
@@ -32637,8 +15585,6 @@
 +#define NOUVEAU_GETPARAM_AGP_SIZE        9
 +#define NOUVEAU_GETPARAM_PCI_PHYSICAL    10
 +#define NOUVEAU_GETPARAM_CHIPSET_ID      11
-+#define NOUVEAU_GETPARAM_MM_ENABLED      12
-+#define NOUVEAU_GETPARAM_VM_VRAM_BASE    13
 +struct drm_nouveau_getparam {
 +	uint64_t param;
 +	uint64_t value;
@@ -32651,100 +15597,6 @@
 +	uint64_t value;
 +};
 +
-+#define NOUVEAU_GEM_DOMAIN_CPU       (1 << 0)
-+#define NOUVEAU_GEM_DOMAIN_VRAM      (1 << 1)
-+#define NOUVEAU_GEM_DOMAIN_GART      (1 << 2)
-+#define NOUVEAU_GEM_DOMAIN_NOMAP     (1 << 3)
-+#define NOUVEAU_GEM_DOMAIN_TILE      (1 << 30)
-+#define NOUVEAU_GEM_DOMAIN_TILE_ZETA (1 << 31)
-+
-+struct drm_nouveau_gem_new {
-+	uint64_t size;
-+	uint32_t channel_hint;
-+	uint32_t align;
-+	uint32_t handle;
-+	uint32_t domain;
-+	uint32_t offset;
-+};
-+
-+struct drm_nouveau_gem_pushbuf_bo {
-+	uint64_t user_priv;
-+	uint32_t handle;
-+	uint32_t read_domains;
-+	uint32_t write_domains;
-+	uint32_t valid_domains;
-+	uint32_t presumed_ok;
-+	uint32_t presumed_domain;
-+	uint64_t presumed_offset;
-+};
-+
-+#define NOUVEAU_GEM_RELOC_LOW  (1 << 0)
-+#define NOUVEAU_GEM_RELOC_HIGH (1 << 1)
-+#define NOUVEAU_GEM_RELOC_OR   (1 << 2)
-+struct drm_nouveau_gem_pushbuf_reloc {
-+	uint32_t bo_index;
-+	uint32_t reloc_index;
-+	uint32_t flags;
-+	uint32_t data;
-+	uint32_t vor;
-+	uint32_t tor;
-+};
-+
-+#define NOUVEAU_GEM_MAX_BUFFERS 1024
-+#define NOUVEAU_GEM_MAX_RELOCS 1024
-+
-+struct drm_nouveau_gem_pushbuf {
-+	uint32_t channel;
-+	uint32_t nr_dwords;
-+	uint32_t nr_buffers;
-+	uint32_t nr_relocs;
-+	uint64_t dwords;
-+	uint64_t buffers;
-+	uint64_t relocs;
-+};
-+
-+struct drm_nouveau_gem_pushbuf_call {
-+	uint32_t channel;
-+	uint32_t handle;
-+	uint32_t offset;
-+	uint32_t nr_buffers;
-+	uint32_t nr_relocs;
-+	uint32_t pad0;
-+	uint64_t buffers;
-+	uint64_t relocs;
-+};
-+
-+struct drm_nouveau_gem_pin {
-+	uint32_t handle;
-+	uint32_t domain;
-+	uint64_t offset;
-+};
-+
-+struct drm_nouveau_gem_unpin {
-+	uint32_t handle;
-+};
-+
-+struct drm_nouveau_gem_mmap {
-+	uint32_t handle;
-+	uint32_t pad;
-+	uint64_t vaddr;
-+};
-+
-+struct drm_nouveau_gem_cpu_prep {
-+	uint32_t handle;
-+};
-+
-+struct drm_nouveau_gem_cpu_fini {
-+	uint32_t handle;
-+};
-+
-+struct drm_nouveau_gem_tile {
-+	uint32_t handle;
-+	uint32_t delta;
-+	uint32_t size;
-+	uint32_t flags;
-+};
-+
 +enum nouveau_card_type {
 +	NV_UNKNOWN =0,
 +	NV_04      =4,
@@ -32787,14 +15639,5 @@
 +#define DRM_NOUVEAU_MEM_TILE           0x0a
 +#define DRM_NOUVEAU_SUSPEND            0x0b
 +#define DRM_NOUVEAU_RESUME             0x0c
-+#define DRM_NOUVEAU_GEM_NEW            0x40
-+#define DRM_NOUVEAU_GEM_PUSHBUF        0x41
-+#define DRM_NOUVEAU_GEM_PUSHBUF_CALL   0x42
-+#define DRM_NOUVEAU_GEM_PIN            0x43
-+#define DRM_NOUVEAU_GEM_UNPIN          0x44
-+#define DRM_NOUVEAU_GEM_MMAP           0x45
-+#define DRM_NOUVEAU_GEM_CPU_PREP       0x46
-+#define DRM_NOUVEAU_GEM_CPU_FINI       0x47
-+#define DRM_NOUVEAU_GEM_TILE           0x48
 +
 +#endif /* __NOUVEAU_DRM_H__ */


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1247
retrieving revision 1.1248
diff -u -r1.1247 -r1.1248
--- kernel.spec	7 Feb 2009 04:01:16 -0000	1.1247
+++ kernel.spec	7 Feb 2009 05:42:20 -0000	1.1248
@@ -1757,6 +1757,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Fri Feb 06 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.29-0.18.rc3.git9
+- Revert nouveau to 0.0.11 for now.
+
 * Fri Feb 06 2009 Chuck Ebbert <cebbert at redhat.com>  2.6.29-0.17.rc3.git9
 - Copy nouveau 0.0.12 update from rawhide.
 




More information about the fedora-extras-commits mailing list