rpms/kernel/devel drm-nouveau.patch, 1.38, 1.39 kernel.spec, 1.1669, 1.1670

Ben Skeggs bskeggs at fedoraproject.org
Wed Jul 29 05:57:24 UTC 2009


Author: bskeggs

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

Modified Files:
	drm-nouveau.patch kernel.spec 
Log Message:
* Wed Jul 29 2009 Ben Skeggs <bskeggs at redhat.com>
- drm-nouveau.patch: nv50/nva0 tiled scanout fixes, nv40 kms fixes



drm-nouveau.patch:
 drivers/gpu/drm/Kconfig                     |   30 
 drivers/gpu/drm/Makefile                    |    1 
 drivers/gpu/drm/drm_bufs.c                  |   28 
 drivers/gpu/drm/nouveau/Makefile            |   27 
 drivers/gpu/drm/nouveau/nouveau_backlight.c |  156 
 drivers/gpu/drm/nouveau/nouveau_bios.c      | 5050 ++++++
 drivers/gpu/drm/nouveau/nouveau_bios.h      |  226 
 drivers/gpu/drm/nouveau/nouveau_bo.c        |  567 
 drivers/gpu/drm/nouveau/nouveau_calc.c      |  622 
 drivers/gpu/drm/nouveau/nouveau_connector.h |   55 
 drivers/gpu/drm/nouveau/nouveau_crtc.h      |   90 
 drivers/gpu/drm/nouveau/nouveau_display.c   |  115 
 drivers/gpu/drm/nouveau/nouveau_dma.c       |  143 
 drivers/gpu/drm/nouveau/nouveau_dma.h       |  144 
 drivers/gpu/drm/nouveau/nouveau_drv.c       |  353 
 drivers/gpu/drm/nouveau/nouveau_drv.h       | 1145 +
 drivers/gpu/drm/nouveau/nouveau_encoder.h   |   51 
 drivers/gpu/drm/nouveau/nouveau_fb.h        |   43 
 drivers/gpu/drm/nouveau/nouveau_fbcon.c     | 1019 +
 drivers/gpu/drm/nouveau/nouveau_fbcon.h     |   49 
 drivers/gpu/drm/nouveau/nouveau_fence.c     |  261 
 drivers/gpu/drm/nouveau/nouveau_fifo.c      |  668 
 drivers/gpu/drm/nouveau/nouveau_gem.c       |  751 
 drivers/gpu/drm/nouveau/nouveau_hw.c        | 1019 +
 drivers/gpu/drm/nouveau/nouveau_hw.h        |  431 
 drivers/gpu/drm/nouveau/nouveau_i2c.c       |  274 
 drivers/gpu/drm/nouveau/nouveau_i2c.h       |   46 
 drivers/gpu/drm/nouveau/nouveau_ioc32.c     |   72 
 drivers/gpu/drm/nouveau/nouveau_irq.c       |  674 
 drivers/gpu/drm/nouveau/nouveau_mem.c       |  543 
 drivers/gpu/drm/nouveau/nouveau_notifier.c  |  192 
 drivers/gpu/drm/nouveau/nouveau_object.c    | 1258 +
 drivers/gpu/drm/nouveau/nouveau_reg.h       |  834 +
 drivers/gpu/drm/nouveau/nouveau_sgdma.c     |  331 
 drivers/gpu/drm/nouveau/nouveau_state.c     |  837 +
 drivers/gpu/drm/nouveau/nouveau_swmthd.h    |   33 
 drivers/gpu/drm/nouveau/nouveau_ttm.c       |  116 
 drivers/gpu/drm/nouveau/nv04_crtc.c         | 1126 +
 drivers/gpu/drm/nouveau/nv04_cursor.c       |   70 
 drivers/gpu/drm/nouveau/nv04_display.c      |  250 
 drivers/gpu/drm/nouveau/nv04_fb.c           |   21 
 drivers/gpu/drm/nouveau/nv04_fbcon.c        |  291 
 drivers/gpu/drm/nouveau/nv04_fifo.c         |  146 
 drivers/gpu/drm/nouveau/nv04_graph.c        |  586 
 drivers/gpu/drm/nouveau/nv04_instmem.c      |  182 
 drivers/gpu/drm/nouveau/nv04_mc.c           |   20 
 drivers/gpu/drm/nouveau/nv04_output.c       | 1193 +
 drivers/gpu/drm/nouveau/nv04_timer.c        |   51 
 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/nv20_graph.c        |  958 +
 drivers/gpu/drm/nouveau/nv40_fb.c           |   62 
 drivers/gpu/drm/nouveau/nv40_fifo.c         |  222 
 drivers/gpu/drm/nouveau/nv40_graph.c        | 2200 ++
 drivers/gpu/drm/nouveau/nv40_mc.c           |   38 
 drivers/gpu/drm/nouveau/nv50_connector.c    |  495 
 drivers/gpu/drm/nouveau/nv50_crtc.c         |  812 +
 drivers/gpu/drm/nouveau/nv50_cursor.c       |  153 
 drivers/gpu/drm/nouveau/nv50_dac.c          |  284 
 drivers/gpu/drm/nouveau/nv50_display.c      |  844 +
 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         |  475 
 drivers/gpu/drm/nouveau/nv50_graph.c        |  432 
 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          |  268 
 drivers/gpu/drm/nouveau/nvreg.h             |  503 
 drivers/gpu/drm/ttm/ttm_bo.c                |    4 
 include/drm/Kbuild                          |    1 
 include/drm/drmP.h                          |    2 
 include/drm/nouveau_drm.h                   |  214 
 75 files changed, 54520 insertions(+), 21 deletions(-)

Index: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -p -r1.38 -r1.39
--- drm-nouveau.patch	28 Jul 2009 16:03:51 -0000	1.38
+++ drm-nouveau.patch	29 Jul 2009 05:57:21 -0000	1.39
@@ -12785,10 +12785,10 @@ index 0000000..295b876
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_hw.h b/drivers/gpu/drm/nouveau/nouveau_hw.h
 new file mode 100644
-index 0000000..69578e6
+index 0000000..9d86461
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_hw.h
-@@ -0,0 +1,436 @@
+@@ -0,0 +1,431 @@
 +/*
 + * Copyright 2008 Stuart Bennett
 + *
@@ -13018,11 +13018,9 @@ index 0000000..69578e6
 +
 +static inline uint8_t NVReadPRMVIO(struct drm_device *dev, int head, uint32_t reg)
 +{
-+	struct drm_nouveau_private *dev_priv = dev->dev_private;
-+
 +	/* Only NV4x have two pvio ranges; other twoHeads cards MUST call
 +	 * NVSetOwner for the relevant head to be programmed */
-+	if (head && dev_priv->card_type == NV_40)
++	if (head && nv_arch(dev) == NV_40)
 +		reg += NV_PRMVIO_SIZE;
 +
 +	NV_DEBUG(dev, "NVReadPRMVIO: head %d reg %08x val %02x\n", head, reg,
@@ -13033,11 +13031,9 @@ index 0000000..69578e6
 +static inline void
 +NVWritePRMVIO(struct drm_device *dev, int head, uint32_t reg, uint8_t value)
 +{
-+	struct drm_nouveau_private *dev_priv = dev->dev_private;
-+
 +	/* Only NV4x have two pvio ranges; other twoHeads cards MUST call
 +	 * NVSetOwner for the relevant head to be programmed */
-+	if (head && dev_priv->card_type == NV_40)
++	if (head && nv_arch(dev) == NV_40)
 +		reg += NV_PRMVIO_SIZE;
 +
 +	NV_DEBUG(dev, "NVWritePRMVIO: head %d reg %08x val %02x\n", head, reg, value);
@@ -13200,14 +13196,13 @@ index 0000000..69578e6
 +		*curctl1 &= ~MASK(NV_CIO_CRE_HCUR_ADDR1_ENABLE);
 +	NVWriteVgaCrtc(dev, head, NV_CIO_CRE_HCUR_ADDR1_INDEX, *curctl1);
 +
-+	if (dev_priv->card_type == NV_40)
++	if (nv_arch(dev) == NV_40)
 +		nv_fix_nv40_hw_cursor(dev, head);
 +}
 +
 +static inline uint32_t
 +nv_pitch_align(struct drm_device *dev, uint32_t width, int bpp)
 +{
-+	struct drm_nouveau_private *dev_priv = dev->dev_private;
 +	int mask;
 +
 +	if (bpp == 15)
@@ -13216,7 +13211,7 @@ index 0000000..69578e6
 +		bpp = 8;
 +
 +	/* Alignment requirements taken from the Haiku driver */
-+	if (dev_priv->card_type == NV_04)
++	if (nv_arch(dev) == NV_04)
 +		mask = 128 / bpp - 1;
 +	else
 +		mask = 512 / bpp - 1;
@@ -27686,7 +27681,7 @@ index 0000000..28bcf9f
 +}
 diff --git a/drivers/gpu/drm/nouveau/nv50_crtc.c b/drivers/gpu/drm/nouveau/nv50_crtc.c
 new file mode 100644
-index 0000000..55bb523
+index 0000000..81c53c4
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_crtc.c
 @@ -0,0 +1,812 @@
@@ -28253,11 +28248,8 @@ index 0000000..55bb523
 +		nouveau_bo_unpin(ofb->nvbo);
 +	}
 +
-+	crtc->fb.offset = fb->nvbo->bo.offset;
++	crtc->fb.offset = fb->nvbo->bo.offset - dev_priv->vm_vram_base;
 +	crtc->fb.tiled = fb->nvbo->tile_flags ? true : false;
-+	if (!crtc->fb.tiled || dev_priv->chipset == 0x50)
-+		crtc->fb.offset -= dev_priv->vm_vram_base;
-+
 +	crtc->fb.cpp = drm_fb->bits_per_pixel / 8;
 +	if (!crtc->fb.blanked && dev_priv->chipset != 0x50) {
 +		ret = RING_SPACE(evo, 2);
@@ -28288,7 +28280,10 @@ index 0000000..55bb523
 +		OUT_RING  (evo, ((drm_fb->pitch / 4) << 4) |
 +				  fb->nvbo->tile_mode);
 +	}
-+	OUT_RING  (evo, format);
++	if (dev_priv->chipset == 0x50)
++		OUT_RING  (evo, (fb->nvbo->tile_flags << 8) | format);
++	else
++		OUT_RING  (evo, format);
 +
 +	BEGIN_RING(evo, 0, NV50_EVO_CRTC(crtc->index, COLOR_CTRL), 1);
 +	OUT_RING  (evo, NV50_EVO_CRTC_COLOR_CTRL_COLOR);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1669
retrieving revision 1.1670
diff -u -p -r1.1669 -r1.1670
--- kernel.spec	29 Jul 2009 01:42:07 -0000	1.1669
+++ kernel.spec	29 Jul 2009 05:57:23 -0000	1.1670
@@ -1903,6 +1903,9 @@ fi
 # and build.
 
 %changelog
+* Wed Jul 29 2009 Ben Skeggs <bskeggs at redhat.com>
+- drm-nouveau.patch: nv50/nva0 tiled scanout fixes, nv40 kms fixes
+
 * Wed Jul 29 2009 Chuck Ebbert <cebbert at redhat.com>
 - Linux 2.6.31-rc4-git3
 - Drop linux-2.6-ecryptfs-overflow-fixes.patch, merged upstream now.




More information about the fedora-extras-commits mailing list