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