rpms/kernel/devel drm-nouveau.patch, 1.16, 1.17 kernel.spec, 1.1383, 1.1384

Ben Skeggs bskeggs at fedoraproject.org
Thu Mar 5 00:27:56 UTC 2009


Author: bskeggs

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

Modified Files:
	drm-nouveau.patch kernel.spec 
Log Message:
* Thu Mar 05 2009 Ben Skeggs <bskeggs at redhat.com>
- drm-nouveau.patch: fix <nv50 chipsets, and ppc.



drm-nouveau.patch:

Index: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- drm-nouveau.patch	4 Mar 2009 05:41:35 -0000	1.16
+++ drm-nouveau.patch	5 Mar 2009 00:27:55 -0000	1.17
@@ -7848,7 +7848,7 @@
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_object.c b/drivers/gpu/drm/nouveau/nouveau_object.c
 new file mode 100644
-index 0000000..5bbcc59
+index 0000000..b70eb9f
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_object.c
 @@ -0,0 +1,1228 @@
@@ -8916,9 +8916,9 @@
 +				    chan->vm_vram_pt[i]->instance | 0x61);
 +			INSTANCE_WR(chan->vm_pd, pde++, 0x00000000);
 +		}
-+	}
 +
-+	instmem->finish_access(dev);
++		instmem->finish_access(dev);
++	}
 +
 +	/* RAMHT */
 +	if (dev_priv->card_type < NV_50) {
@@ -10291,10 +10291,10 @@
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c
 new file mode 100644
-index 0000000..19c8861
+index 0000000..6b7fed1
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_state.c
-@@ -0,0 +1,935 @@
+@@ -0,0 +1,942 @@
 +/*
 + * Copyright 2005 Stephane Marchesin
 + * Copyright 2008 Stuart Bennett
@@ -10761,25 +10761,6 @@
 +		nv_wr32(NV03_PMC_BOOT_1,0x00000001);
 +
 +	DRM_MEMORYBARRIER();
-+
-+	/* if we have an OF card, copy vbios to RAMIN */
-+	dn = pci_device_to_OF_node(dev->pdev);
-+	if (dn)
-+	{
-+		int size;
-+		const uint32_t *bios = of_get_property(dn, "NVDA,BMP", &size);
-+		if (bios)
-+		{
-+			int i;
-+			for(i=0;i<size;i+=4)
-+				nv_wi32(i, bios[i/4]);
-+			DRM_INFO("OF bios successfully copied (%d bytes)\n",size);
-+		}
-+		else
-+			DRM_INFO("Unable to get the OF bios\n");
-+	}
-+	else
-+		DRM_INFO("Unable to get the OF node\n");
 +#endif
 +
 +	/* Time to determine the card architecture */
@@ -10866,6 +10847,28 @@
 +		}
 +	}
 +
++#if defined(__powerpc__)
++	/* if we have an OF card, copy vbios to RAMIN */
++	dn = pci_device_to_OF_node(dev->pdev);
++	if (dn)
++	{
++		int size;
++		const uint32_t *bios = of_get_property(dn, "NVDA,BMP", &size);
++		if (bios)
++		{
++			int i;
++			dev_priv->engine.instmem.prepare_access(dev, true);
++			for(i=0;i<size;i+=4)
++				nv_wi32(i, bios[i/4]);
++			dev_priv->engine.instmem.finish_access(dev);
++			DRM_INFO("OF bios successfully copied (%d bytes)\n",size);
++		}
++		else
++			DRM_INFO("Unable to get the OF bios\n");
++	}
++	else
++		DRM_INFO("Unable to get the OF node\n");
++#endif
 +
 +	/* For those who think they want to be funny. */
 +	if (dev_priv->card_type < NV_50)
@@ -11160,8 +11163,10 @@
 +		}
 +	}
 +
++	dev_priv->engine.instmem.prepare_access(dev, true);
 +	for (i = 0; i < susres->ramin_size / 4; i++)
 +		nv_wi32(i << 2, susres->ramin_copy[i]);
++	dev_priv->engine.instmem.finish_access(dev);
 +
 +	engine->mc.init(dev);
 +	engine->timer.init(dev);
@@ -11180,8 +11185,10 @@
 +	/* PMC power cycling PFIFO in init clobbers some of the stuff stored in
 +	 * PRAMIN (such as NV04_PFIFO_CACHE1_DMA_INSTANCE). this is unhelpful
 +	 */
++	dev_priv->engine.instmem.prepare_access(dev, true);
 +	for (i = 0; i < susres->ramin_size / 4; i++)
 +		nv_wi32(i << 2, susres->ramin_copy[i]);
++	dev_priv->engine.instmem.finish_access(dev);
 +
 +	engine->fifo.load_context(dev_priv->fifos[0]);
 +	nv_wr32(NV04_PFIFO_MODE, susres->fifo_mode);
@@ -12172,10 +12179,10 @@
 +}
 diff --git a/drivers/gpu/drm/nouveau/nv04_instmem.c b/drivers/gpu/drm/nouveau/nv04_instmem.c
 new file mode 100644
-index 0000000..7d902d8
+index 0000000..33f9214
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv04_instmem.c
-@@ -0,0 +1,188 @@
+@@ -0,0 +1,190 @@
 +#include "drmP.h"
 +#include "drm.h"
 +#include "nouveau_drv.h"
@@ -12213,8 +12220,10 @@
 +	DRM_DEBUG("RAMIN size: %dKiB\n", dev_priv->ramin_rsvd_vram>>10);
 +
 +	/* Clear all of it, except the BIOS image that's in the first 64KiB */
++	dev_priv->engine.instmem.prepare_access(dev, true);
 +	for (i=(64*1024); i<dev_priv->ramin_rsvd_vram; i+=4)
 +		nv_wi32(i, 0x00000000);
++	dev_priv->engine.instmem.finish_access(dev);
 +}
 +
 +static void


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1383
retrieving revision 1.1384
diff -u -r1.1383 -r1.1384
--- kernel.spec	4 Mar 2009 20:58:11 -0000	1.1383
+++ kernel.spec	5 Mar 2009 00:27:56 -0000	1.1384
@@ -1792,6 +1792,9 @@
 # and build.
 
 %changelog
+* Thu Mar 05 2009 Ben Skeggs <bskeggs at redhat.com>
+- drm-nouveau.patch: fix <nv50 chipsets, and ppc.
+
 * Wed Mar  4 2009 Mauro Carvalho Chehab <mchehab at redhat.com>
 - drivers/media: fixes and improvements on devel tree
 




More information about the fedora-extras-commits mailing list