rpms/kernel/F-12 drm-nouveau.patch, 1.56, 1.57 kernel.spec, 1.1802, 1.1803

Ben Skeggs bskeggs at fedoraproject.org
Wed Sep 16 04:41:26 UTC 2009


Author: bskeggs

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

Modified Files:
	drm-nouveau.patch kernel.spec 
Log Message:
* Wed Sep 16 2009 Ben Skeggs <bskeggs at redhat.com> 2.6.31-17
- nouveau: potential fix for rh#522649 + misc other fixes



drm-nouveau.patch:
 drivers/gpu/drm/Kconfig                     |   45 
 drivers/gpu/drm/Makefile                    |    2 
 drivers/gpu/drm/drm_bufs.c                  |   28 
 drivers/gpu/drm/i2c/Makefile                |    4 
 drivers/gpu/drm/i2c/ch7006_drv.c            |  532 
 drivers/gpu/drm/i2c/ch7006_mode.c           |  473 
 drivers/gpu/drm/i2c/ch7006_priv.h           |  340 
 drivers/gpu/drm/nouveau/Makefile            |   28 
 drivers/gpu/drm/nouveau/nouveau_acpi.c      |  127 
 drivers/gpu/drm/nouveau/nouveau_backlight.c |  155 
 drivers/gpu/drm/nouveau/nouveau_bios.c      | 5217 ++++++
 drivers/gpu/drm/nouveau/nouveau_bios.h      |  235 
 drivers/gpu/drm/nouveau/nouveau_bo.c        |  622 
 drivers/gpu/drm/nouveau/nouveau_calc.c      |  626 
 drivers/gpu/drm/nouveau/nouveau_channel.c   |  537 
 drivers/gpu/drm/nouveau/nouveau_connector.c |  750 
 drivers/gpu/drm/nouveau/nouveau_connector.h |   55 
 drivers/gpu/drm/nouveau/nouveau_crtc.h      |   95 
 drivers/gpu/drm/nouveau/nouveau_display.c   |  115 
 drivers/gpu/drm/nouveau/nouveau_dma.c       |  206 
 drivers/gpu/drm/nouveau/nouveau_dma.h       |  148 
 drivers/gpu/drm/nouveau/nouveau_drv.c       |  433 
 drivers/gpu/drm/nouveau/nouveau_drv.h       | 1218 +
 drivers/gpu/drm/nouveau/nouveau_encoder.h   |   66 
 drivers/gpu/drm/nouveau/nouveau_fb.h        |   47 
 drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  354 
 drivers/gpu/drm/nouveau/nouveau_fbcon.h     |   48 
 drivers/gpu/drm/nouveau/nouveau_fence.c     |  261 
 drivers/gpu/drm/nouveau/nouveau_gem.c       |  954 +
 drivers/gpu/drm/nouveau/nouveau_hw.c        | 1077 +
 drivers/gpu/drm/nouveau/nouveau_hw.h        |  446 
 drivers/gpu/drm/nouveau/nouveau_i2c.c       |  256 
 drivers/gpu/drm/nouveau/nouveau_i2c.h       |   45 
 drivers/gpu/drm/nouveau/nouveau_ioc32.c     |   72 
 drivers/gpu/drm/nouveau/nouveau_irq.c       |  683 
 drivers/gpu/drm/nouveau/nouveau_mem.c       |  565 
 drivers/gpu/drm/nouveau/nouveau_notifier.c  |  194 
 drivers/gpu/drm/nouveau/nouveau_object.c    | 1279 +
 drivers/gpu/drm/nouveau/nouveau_reg.h       |  833 +
 drivers/gpu/drm/nouveau/nouveau_sgdma.c     |  317 
 drivers/gpu/drm/nouveau/nouveau_state.c     |  834 +
 drivers/gpu/drm/nouveau/nouveau_swmthd.h    |   33 
 drivers/gpu/drm/nouveau/nouveau_ttm.c       |  131 
 drivers/gpu/drm/nouveau/nv04_crtc.c         | 1014 +
 drivers/gpu/drm/nouveau/nv04_cursor.c       |   70 
 drivers/gpu/drm/nouveau/nv04_dac.c          |  525 
 drivers/gpu/drm/nouveau/nv04_dfp.c          |  621 
 drivers/gpu/drm/nouveau/nv04_display.c      |  293 
 drivers/gpu/drm/nouveau/nv04_fb.c           |   21 
 drivers/gpu/drm/nouveau/nv04_fbcon.c        |  295 
 drivers/gpu/drm/nouveau/nv04_fifo.c         |  295 
 drivers/gpu/drm/nouveau/nv04_graph.c        |  583 
 drivers/gpu/drm/nouveau/nv04_instmem.c      |  213 
 drivers/gpu/drm/nouveau/nv04_mc.c           |   20 
 drivers/gpu/drm/nouveau/nv04_timer.c        |   51 
 drivers/gpu/drm/nouveau/nv04_tv.c           |  304 
 drivers/gpu/drm/nouveau/nv10_fb.c           |   24 
 drivers/gpu/drm/nouveau/nv10_fifo.c         |  177 
 drivers/gpu/drm/nouveau/nv10_graph.c        |  945 +
 drivers/gpu/drm/nouveau/nv17_tv.c           |  660 
 drivers/gpu/drm/nouveau/nv17_tv.h           |  156 
 drivers/gpu/drm/nouveau/nv17_tv_modes.c     |  582 
 drivers/gpu/drm/nouveau/nv20_graph.c        |  784 
 drivers/gpu/drm/nouveau/nv40_fb.c           |   62 
 drivers/gpu/drm/nouveau/nv40_fifo.c         |  223 
 drivers/gpu/drm/nouveau/nv40_graph.c        | 2214 ++
 drivers/gpu/drm/nouveau/nv40_mc.c           |   38 
 drivers/gpu/drm/nouveau/nv50_crtc.c         |  799 +
 drivers/gpu/drm/nouveau/nv50_cursor.c       |  151 
 drivers/gpu/drm/nouveau/nv50_dac.c          |  296 
 drivers/gpu/drm/nouveau/nv50_display.c      |  905 +
 drivers/gpu/drm/nouveau/nv50_display.h      |   46 
 drivers/gpu/drm/nouveau/nv50_evo.h          |  113 
 drivers/gpu/drm/nouveau/nv50_fbcon.c        |  256 
 drivers/gpu/drm/nouveau/nv50_fifo.c         |  473 
 drivers/gpu/drm/nouveau/nv50_graph.c        |  450 
 drivers/gpu/drm/nouveau/nv50_grctx.h        |22284 ++++++++++++++++++++++++++++
 drivers/gpu/drm/nouveau/nv50_instmem.c      |  499 
 drivers/gpu/drm/nouveau/nv50_mc.c           |   40 
 drivers/gpu/drm/nouveau/nv50_sor.c          |  250 
 drivers/gpu/drm/nouveau/nvreg.h             |  535 
 drivers/gpu/drm/ttm/ttm_bo.c                |    4 
 include/drm/Kbuild                          |    1 
 include/drm/drmP.h                          |    2 
 include/drm/i2c/ch7006.h                    |   86 
 include/drm/nouveau_drm.h                   |  216 
 86 files changed, 58041 insertions(+), 21 deletions(-)

Index: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-12/drm-nouveau.patch,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -p -r1.56 -r1.57
--- drm-nouveau.patch	15 Sep 2009 09:52:49 -0000	1.56
+++ drm-nouveau.patch	16 Sep 2009 04:41:24 -0000	1.57
@@ -1822,10 +1822,10 @@ index 0000000..20564f8
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
 new file mode 100644
-index 0000000..b37ad94
+index 0000000..305efc3
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
-@@ -0,0 +1,5209 @@
+@@ -0,0 +1,5217 @@
 +/*
 + * Copyright 2005-2006 Erik Waling
 + * Copyright 2006 Stephane Marchesin
@@ -6927,6 +6927,11 @@ index 0000000..b37ad94
 +	if (bios->major_version < 5)	/* BMP only */
 +		load_nv17_hw_sequencer_ucode(dev, bios);
 +
++	if (bios->execute) {
++		bios->fp.last_script_invoc = 0;
++		bios->fp.lvds_init_run = false;
++	}
++
 +	parse_init_tables(bios);
 +
 +	/* Runs some additional script seen on G8x VBIOSen.  The VBIOS'
@@ -7016,9 +7021,12 @@ index 0000000..b37ad94
 +		return ret;
 +	}
 +
-+	if (bios->major_version < 5)
-+		/* feature_byte on BMP is poor, but init always sets CR4B */
++	/* feature_byte on BMP is poor, but init always sets CR4B */
++	if (bios->major_version < 5) {
++		bool waslocked = NVLockVgaCrtcs(dev, false);
 +		bios->is_mobile = NVReadVgaCrtc(dev, 0, NV_CIO_CRE_4B) & 0x40;
++		NVLockVgaCrtcs(dev, waslocked);
++	}
 +
 +	/* all BIT systems need p_f_m_t for digital_min_front_porch */
 +	if (bios->is_mobile || bios->major_version >= 5)
@@ -34165,10 +34173,10 @@ index 0000000..6bc0824
 +
 diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c
 new file mode 100644
-index 0000000..9a88a1a
+index 0000000..a96766d
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_graph.c
-@@ -0,0 +1,443 @@
+@@ -0,0 +1,450 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
 + * All Rights Reserved.
@@ -34445,20 +34453,27 @@ index 0000000..9a88a1a
 +{
 +	struct drm_device *dev = chan->dev;
 +	struct drm_nouveau_private *dev_priv = dev->dev_private;
++	int i, hdr = IS_G80 ? 0x200 : 0x20;
++	uint32_t inst;
 +
 +	NV_DEBUG(dev, "ch%d\n", chan->id);
 +
-+	if (chan->ramin && chan->ramin->gpuobj) {
-+		int i, hdr;
-+
-+		hdr = IS_G80 ? 0x200 : 0x20;
-+		dev_priv->engine.instmem.prepare_access(dev, true);
-+		for (i=hdr; i<hdr+24; i+=4)
-+			nv_wo32(dev, chan->ramin->gpuobj, i/4, 0);
-+		dev_priv->engine.instmem.finish_access(dev);
++	if (!chan->ramin || !chan->ramin->gpuobj)
++		return;
 +
-+		nouveau_gpuobj_ref_del(dev, &chan->ramin_grctx);
++	inst = nv_rd32(dev, NV50_PGRAPH_CTXCTL_CUR);
++	if (inst & NV50_PGRAPH_CTXCTL_CUR_LOADED) {
++		inst &= NV50_PGRAPH_CTXCTL_CUR_INSTANCE;
++		if (inst == chan->ramin->instance >> 12)
++			nv_wr32(dev, NV50_PGRAPH_CTXCTL_CUR, inst);
 +	}
++
++	dev_priv->engine.instmem.prepare_access(dev, true);
++	for (i=hdr; i<hdr+24; i+=4)
++		nv_wo32(dev, chan->ramin->gpuobj, i/4, 0);
++	dev_priv->engine.instmem.finish_access(dev);
++
++	nouveau_gpuobj_ref_del(dev, &chan->ramin_grctx);
 +}
 +
 +static int


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-12/kernel.spec,v
retrieving revision 1.1802
retrieving revision 1.1803
diff -u -p -r1.1802 -r1.1803
--- kernel.spec	15 Sep 2009 18:53:54 -0000	1.1802
+++ kernel.spec	16 Sep 2009 04:41:25 -0000	1.1803
@@ -2040,6 +2040,9 @@ fi
 # and build.
 
 %changelog
+* Wed Sep 16 2009 Ben Skeggs <bskeggs at redhat.com> 2.6.31-17
+- nouveau: potential fix for rh#522649 + misc other fixes
+
 * Tue Sep 15 2009 Chuck Ebbert <cebbert at redhat.com>
 - Add unused-kernel-patches Make target, change some patches to
   use ApplyOptionalPatch




More information about the scm-commits mailing list