[kernel/f14/master] nouveau: IGP and DP fixes

Ben Skeggs bskeggs at fedoraproject.org
Wed Sep 22 22:54:43 UTC 2010


commit 31ce2e5e16dd3e017592ea80a97aa840ac0a0d6d
Author: Ben Skeggs <bskeggs at redhat.com>
Date:   Thu Sep 23 08:54:13 2010 +1000

    nouveau: IGP and DP fixes

 drm-nouveau-acpi-edid-fix.patch |   29 ------
 drm-nouveau-updates.patch       |  183 +++++++++++++++++++++++++++++----------
 kernel.spec                     |    8 +-
 3 files changed, 143 insertions(+), 77 deletions(-)
---
diff --git a/drm-nouveau-updates.patch b/drm-nouveau-updates.patch
index 69567e7..1939d9b 100644
--- a/drm-nouveau-updates.patch
+++ b/drm-nouveau-updates.patch
@@ -1,4 +1,4 @@
-From 65eb698a6879847281f18930145bb6e72ef62968 Mon Sep 17 00:00:00 2001
+From 1a79b8673c5f061a87b5fe1579e3de5a50aadea5 Mon Sep 17 00:00:00 2001
 From: Ben Skeggs <bskeggs at redhat.com>
 Date: Tue, 1 Jun 2010 15:32:24 +1000
 Subject: [PATCH] drm-nouveau-updates
@@ -959,13 +959,82 @@ occur.
 Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
 
 fix compile error due to upstream differences
+
+drm/nouveau: we can't free ACPI EDID, so make a copy that we can
+
+The rest of the connector code assumes we can kfree() the EDID pointer.
+This causes things to blow up with the ACPI EDID pointer we get
+passed.
+
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+
+drm/nv50: mark PCIEGART pages non-present rather than using dummy page
+
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+
+drm/nouveau: zero dummy page
+
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+
+drm/nv50: fix 100c90 write on nva3
+
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+
+drm/nouveau: Fix build regression, undefined reference to `acpi_video_get_edid'
+
+Build breakage:
+
+drivers/built-in.o: In function `nouveau_acpi_edid':
+(.text+0x13404e): undefined reference to `acpi_video_get_edid'
+make: *** [.tmp_vmlinux1] Error 1
+
+Introduced by:
+
+a6ed76d7ffc62ffa474b41d31b011b6853c5de32 is the first bad commit
+commit a6ed76d7ffc62ffa474b41d31b011b6853c5de32
+Author: Ben Skeggs <bskeggs at redhat.com>
+Date:   Mon Jul 12 15:33:07 2010 +1000
+
+    drm/nouveau: support fetching LVDS EDID from ACPI
+
+    Based on a patch from Matthew Garrett.
+
+    Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+    Acked-by: Matthew Garrett <mjg at redhat.com>
+
+It doesn't seem to revert cleanly, but the problem lies in these
+two config entries:
+
+CONFIG_ACPI=y
+CONFIG_ACPI_VIDEO=m
+
+Adding a select for ACPI_VIDEO appears to be the best solution, and
+is comparable to what is done in DRM_I915.  Builds, boots, and appears to
+work correctly.
+
+Signed-off-by: Philip J. Turmel <philip at turmel.org>
+Signed-off-by: Francisco Jerez <currojerez at riseup.net>
+
+drm/nv50: flush bar1 vm / dma object setup before poking 0x1708
+
+Should fix issues noticed on NVAC (MacBook Pro / ION) since gpuobj
+rework.
+
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
+
+drm/nouveau: correct INIT_DP_CONDITION subcondition 5
+
+Fixes DP output on a GTX 465 board I have.
+
+Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
 ---
  drivers/gpu/drm/drm_crtc_helper.c           |   22 +-
  drivers/gpu/drm/i2c/ch7006_drv.c            |   22 +-
  drivers/gpu/drm/i2c/ch7006_priv.h           |    2 +-
+ drivers/gpu/drm/nouveau/Kconfig             |    1 +
  drivers/gpu/drm/nouveau/Makefile            |   12 +-
  drivers/gpu/drm/nouveau/nouveau_acpi.c      |   38 +-
- drivers/gpu/drm/nouveau/nouveau_bios.c      |  910 ++++++--
+ drivers/gpu/drm/nouveau/nouveau_bios.c      |  912 ++++++--
  drivers/gpu/drm/nouveau/nouveau_bios.h      |    6 +-
  drivers/gpu/drm/nouveau/nouveau_bo.c        |  228 ++-
  drivers/gpu/drm/nouveau/nouveau_calc.c      |   10 +-
@@ -992,7 +1061,7 @@ fix compile error due to upstream differences
  drivers/gpu/drm/nouveau/nouveau_ramht.c     |  289 +++
  drivers/gpu/drm/nouveau/nouveau_ramht.h     |   55 +
  drivers/gpu/drm/nouveau/nouveau_reg.h       |  118 +-
- drivers/gpu/drm/nouveau/nouveau_sgdma.c     |  117 +-
+ drivers/gpu/drm/nouveau/nouveau_sgdma.c     |  118 +-
  drivers/gpu/drm/nouveau/nouveau_state.c     |  398 ++--
  drivers/gpu/drm/nouveau/nv04_crtc.c         |   11 +-
  drivers/gpu/drm/nouveau/nv04_dac.c          |   60 +-
@@ -1022,20 +1091,20 @@ fix compile error due to upstream differences
  drivers/gpu/drm/nouveau/nv50_dac.c          |   47 +-
  drivers/gpu/drm/nouveau/nv50_display.c      |  496 +++--
  drivers/gpu/drm/nouveau/nv50_display.h      |    6 +-
- drivers/gpu/drm/nouveau/nv50_fb.c           |   39 +
+ drivers/gpu/drm/nouveau/nv50_fb.c           |   40 +
  drivers/gpu/drm/nouveau/nv50_fbcon.c        |    4 +-
  drivers/gpu/drm/nouveau/nv50_fifo.c         |  396 ++--
  drivers/gpu/drm/nouveau/nv50_gpio.c         |   35 +
  drivers/gpu/drm/nouveau/nv50_graph.c        |  131 +-
  drivers/gpu/drm/nouveau/nv50_grctx.c        | 3305 +++++++++++++++++----------
- drivers/gpu/drm/nouveau/nv50_instmem.c      |  473 ++---
+ drivers/gpu/drm/nouveau/nv50_instmem.c      |  471 ++---
  drivers/gpu/drm/nouveau/nv50_sor.c          |  109 +-
  drivers/gpu/drm/nouveau/nvc0_fb.c           |   38 +
  drivers/gpu/drm/nouveau/nvc0_fifo.c         |   89 +
  drivers/gpu/drm/nouveau/nvc0_graph.c        |   74 +
  drivers/gpu/drm/nouveau/nvc0_instmem.c      |  229 ++
  drivers/gpu/drm/nouveau/nvreg.h             |   22 -
- 75 files changed, 7469 insertions(+), 5278 deletions(-)
+ 76 files changed, 7472 insertions(+), 5278 deletions(-)
  delete mode 100644 drivers/gpu/drm/nouveau/nouveau_grctx.c
  create mode 100644 drivers/gpu/drm/nouveau/nouveau_ramht.c
  create mode 100644 drivers/gpu/drm/nouveau/nouveau_ramht.h
@@ -1172,6 +1241,18 @@ index 9487123..17667b7 100644
  	struct ch7006_mode *mode;
  
  	struct ch7006_state state;
+diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig
+index 6b8967a..15ca435 100644
+--- a/drivers/gpu/drm/nouveau/Kconfig
++++ b/drivers/gpu/drm/nouveau/Kconfig
+@@ -10,6 +10,7 @@ config DRM_NOUVEAU
+ 	select FB
+ 	select FRAMEBUFFER_CONSOLE if !EMBEDDED
+ 	select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT
++	select ACPI_VIDEO if ACPI
+ 	help
+ 	  Choose this option for open-source nVidia support.
+ 
 diff --git a/drivers/gpu/drm/nouveau/Makefile b/drivers/gpu/drm/nouveau/Makefile
 index acd31ed..d6cfbf2 100644
 --- a/drivers/gpu/drm/nouveau/Makefile
@@ -1204,7 +1285,7 @@ index acd31ed..d6cfbf2 100644
  
  nouveau-$(CONFIG_DRM_NOUVEAU_DEBUG) += nouveau_debugfs.o
 diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c
-index d4bcca8..c17a055 100644
+index d4bcca8..1191526 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
 @@ -3,6 +3,7 @@
@@ -1267,11 +1348,11 @@ index d4bcca8..c17a055 100644
 +	if (ret < 0)
 +		return ret;
 +
-+	nv_connector->edid = edid;
++	nv_connector->edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL);
 +	return 0;
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
-index e492919..8fa3396 100644
+index e492919..47bc0ba 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_bios.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
 @@ -28,6 +28,8 @@
@@ -1353,7 +1434,7 @@ index e492919..8fa3396 100644
  	}
  
  	switch (cond) {
-@@ -1218,12 +1220,16 @@ init_dp_condition(struct nvbios *bios, uint16_t offset, struct init_exec *iexec)
+@@ -1218,14 +1220,18 @@ init_dp_condition(struct nvbios *bios, uint16_t offset, struct init_exec *iexec)
  		int ret;
  
  		auxch = nouveau_i2c_find(dev, bios->display.output->i2c_index);
@@ -1372,8 +1453,11 @@ index e492919..8fa3396 100644
 +			return 3;
 +		}
  
- 		if (cond & 1)
+-		if (cond & 1)
++		if (!(cond & 1))
  			iexec->execute = false;
+ 	}
+ 		break;
 @@ -1392,7 +1398,7 @@ init_io_restrict_pll2(struct nvbios *bios, uint16_t offset,
  		NV_ERROR(bios->dev,
  			 "0x%04X: Config 0x%02X exceeds maximal bound 0x%02X\n",
@@ -8425,7 +8509,7 @@ index 6ca80a3..1b42541 100644
  #define NV50_SOR_DP_CTRL_LANE_MASK                                   0x001f0000
  #define NV50_SOR_DP_CTRL_LANE_0_ENABLED                              0x00010000
 diff --git a/drivers/gpu/drm/nouveau/nouveau_sgdma.c b/drivers/gpu/drm/nouveau/nouveau_sgdma.c
-index 1d6ee8b..5a66a7a 100644
+index 1d6ee8b..7f028fe 100644
 --- a/drivers/gpu/drm/nouveau/nouveau_sgdma.c
 +++ b/drivers/gpu/drm/nouveau/nouveau_sgdma.c
 @@ -97,7 +97,6 @@ nouveau_sgdma_bind(struct ttm_backend *be, struct ttm_mem_reg *mem)
@@ -8500,7 +8584,7 @@ index 1d6ee8b..5a66a7a 100644
 +				nv_wo32(gpuobj, (pte * 4) + 0, dma_offset | 3);
 +				pte += 1;
 +			} else {
-+				nv_wo32(gpuobj, (pte * 4), dma_offset | 0x21);
++				nv_wo32(gpuobj, (pte * 4) + 0, 0x00000000);
 +				nv_wo32(gpuobj, (pte * 4) + 4, 0x00000000);
 +				pte += 2;
  			}
@@ -8548,10 +8632,12 @@ index 1d6ee8b..5a66a7a 100644
  				      NVOBJ_FLAG_ZERO_ALLOC |
  				      NVOBJ_FLAG_ZERO_FREE, &gpuobj);
  	if (ret) {
-@@ -267,34 +243,48 @@ nouveau_sgdma_init(struct drm_device *dev)
+@@ -266,35 +242,48 @@ nouveau_sgdma_init(struct drm_device *dev)
+ 	}
  
  	dev_priv->gart_info.sg_dummy_page =
- 		alloc_page(GFP_KERNEL|__GFP_DMA32);
+-		alloc_page(GFP_KERNEL|__GFP_DMA32);
++		alloc_page(GFP_KERNEL|__GFP_DMA32|__GFP_ZERO);
 +	if (!dev_priv->gart_info.sg_dummy_page) {
 +		nouveau_gpuobj_ref(NULL, &gpuobj);
 +		return -ENOMEM;
@@ -8601,9 +8687,8 @@ index 1d6ee8b..5a66a7a 100644
 -			nv_wo32(dev, gpuobj, (i+0)/4,
 -				    dev_priv->gart_info.sg_dummy_bus | 0x21);
 -			nv_wo32(dev, gpuobj, (i+4)/4, 0);
-+			nv_wo32(gpuobj, i + 0,
-+				dev_priv->gart_info.sg_dummy_bus | 0x21);
-+			nv_wo32(gpuobj, i + 4, 0);
++			nv_wo32(gpuobj, i + 0, 0x00000000);
++			nv_wo32(gpuobj, i + 4, 0x00000000);
  		}
  	}
 -	dev_priv->engine.instmem.finish_access(dev);
@@ -8611,7 +8696,7 @@ index 1d6ee8b..5a66a7a 100644
  
  	dev_priv->gart_info.type      = NOUVEAU_GART_SGDMA;
  	dev_priv->gart_info.aper_base = 0;
-@@ -317,7 +307,7 @@ nouveau_sgdma_takedown(struct drm_device *dev)
+@@ -317,7 +306,7 @@ nouveau_sgdma_takedown(struct drm_device *dev)
  		dev_priv->gart_info.sg_dummy_bus = 0;
  	}
  
@@ -8620,7 +8705,7 @@ index 1d6ee8b..5a66a7a 100644
  }
  
  int
-@@ -325,14 +315,11 @@ nouveau_sgdma_get_page(struct drm_device *dev, uint32_t offset, uint32_t *page)
+@@ -325,14 +314,11 @@ nouveau_sgdma_get_page(struct drm_device *dev, uint32_t offset, uint32_t *page)
  {
  	struct drm_nouveau_private *dev_priv = dev->dev_private;
  	struct nouveau_gpuobj *gpuobj = dev_priv->gart_info.sg_ctxdma;
@@ -13922,10 +14007,18 @@ index 581d405..c551f0b 100644
  int nv50_crtc_set_clock(struct drm_device *, int head, int pclk);
  
 diff --git a/drivers/gpu/drm/nouveau/nv50_fb.c b/drivers/gpu/drm/nouveau/nv50_fb.c
-index 32611bd..594720b 100644
+index 32611bd..cd1988b 100644
 --- a/drivers/gpu/drm/nouveau/nv50_fb.c
 +++ b/drivers/gpu/drm/nouveau/nv50_fb.c
-@@ -36,3 +36,42 @@ void
+@@ -20,6 +20,7 @@ nv50_fb_init(struct drm_device *dev)
+ 	case 0x50:
+ 		nv_wr32(dev, 0x100c90, 0x0707ff);
+ 		break;
++	case 0xa3:
+ 	case 0xa5:
+ 	case 0xa8:
+ 		nv_wr32(dev, 0x100c90, 0x0d0fff);
+@@ -36,3 +37,42 @@ void
  nv50_fb_takedown(struct drm_device *dev)
  {
  }
@@ -18629,7 +18722,7 @@ index 42a8fb2..336aab2 100644
  			size = (ctx->ctxvals_pos-offset)/8;
  	}
 diff --git a/drivers/gpu/drm/nouveau/nv50_instmem.c b/drivers/gpu/drm/nouveau/nv50_instmem.c
-index 5f21df3..457a8bc 100644
+index 5f21df3..ac3de05 100644
 --- a/drivers/gpu/drm/nouveau/nv50_instmem.c
 +++ b/drivers/gpu/drm/nouveau/nv50_instmem.c
 @@ -32,41 +32,87 @@
@@ -18745,7 +18838,7 @@ index 5f21df3..457a8bc 100644
  
  	priv = kzalloc(sizeof(*priv), GFP_KERNEL);
  	if (!priv)
-@@ -77,215 +123,113 @@ nv50_instmem_init(struct drm_device *dev)
+@@ -77,215 +123,115 @@ nv50_instmem_init(struct drm_device *dev)
  	for (i = 0x1700; i <= 0x1710; i += 4)
  		priv->save1700[(i-0x1700)/4] = nv_rd32(dev, i);
  
@@ -18943,12 +19036,12 @@ index 5f21df3..457a8bc 100644
  			return ret;
  		}
 -		dev_priv->vm_vram_pt[i] = chan->vm_vram_pt[i]->gpuobj;
-+		dev_priv->vm_vram_pt[i] = chan->vm_vram_pt[i];
- 
+-
 -		for (v = 0; v < dev_priv->vm_vram_pt[i]->im_pramin->size;
 -								v += 4)
 -			BAR0_WI32(dev_priv->vm_vram_pt[i], v, 0);
--
++		dev_priv->vm_vram_pt[i] = chan->vm_vram_pt[i];
+ 
 -		BAR0_WI32(chan->vm_pd, 0x10 + (i*8),
 -			  chan->vm_vram_pt[i]->instance | 0x61);
 -		BAR0_WI32(chan->vm_pd, 0x14 + (i*8), 0);
@@ -18982,7 +19075,14 @@ index 5f21df3..457a8bc 100644
 -	BAR0_WI32(priv->fb_bar->gpuobj, 0x0c, 0x00000000);
 -	BAR0_WI32(priv->fb_bar->gpuobj, 0x10, 0x00000000);
 -	BAR0_WI32(priv->fb_bar->gpuobj, 0x14, 0x00000000);
--
++	nv_wo32(priv->fb_bar, 0x00, 0x7fc00000);
++	nv_wo32(priv->fb_bar, 0x04, 0x40000000 +
++				    pci_resource_len(dev->pdev, 1) - 1);
++	nv_wo32(priv->fb_bar, 0x08, 0x40000000);
++	nv_wo32(priv->fb_bar, 0x0c, 0x00000000);
++	nv_wo32(priv->fb_bar, 0x10, 0x00000000);
++	nv_wo32(priv->fb_bar, 0x14, 0x00000000);
+ 
 -	/* Poke the relevant regs, and pray it works :) */
 -	nv_wr32(dev, NV50_PUNK_BAR_CFG_BASE, (chan->ramin->instance >> 12));
 -	nv_wr32(dev, NV50_PUNK_UNK1710, 0);
@@ -18992,15 +19092,8 @@ index 5f21df3..457a8bc 100644
 -					NV50_PUNK_BAR1_CTXDMA_VALID);
 -	nv_wr32(dev, NV50_PUNK_BAR3_CTXDMA, (priv->pramin_bar->instance >> 4) |
 -					NV50_PUNK_BAR3_CTXDMA_VALID);
--
-+	nv_wo32(priv->fb_bar, 0x00, 0x7fc00000);
-+	nv_wo32(priv->fb_bar, 0x04, 0x40000000 +
-+				    pci_resource_len(dev->pdev, 1) - 1);
-+	nv_wo32(priv->fb_bar, 0x08, 0x40000000);
-+	nv_wo32(priv->fb_bar, 0x0c, 0x00000000);
-+	nv_wo32(priv->fb_bar, 0x10, 0x00000000);
-+	nv_wo32(priv->fb_bar, 0x14, 0x00000000);
-+
++	dev_priv->engine.instmem.flush(dev);
+ 
 +	nv_wr32(dev, 0x001708, 0x80000000 | (priv->fb_bar->cinst >> 4));
  	for (i = 0; i < 8; i++)
  		nv_wr32(dev, 0x1900 + (i*4), 0);
@@ -19034,7 +19127,7 @@ index 5f21df3..457a8bc 100644
  	return 0;
  }
  
-@@ -302,29 +246,24 @@ nv50_instmem_takedown(struct drm_device *dev)
+@@ -302,29 +248,24 @@ nv50_instmem_takedown(struct drm_device *dev)
  	if (!priv)
  		return;
  
@@ -19073,7 +19166,7 @@ index 5f21df3..457a8bc 100644
  	}
  
  	dev_priv->engine.instmem.priv = NULL;
-@@ -336,14 +275,14 @@ nv50_instmem_suspend(struct drm_device *dev)
+@@ -336,14 +277,14 @@ nv50_instmem_suspend(struct drm_device *dev)
  {
  	struct drm_nouveau_private *dev_priv = dev->dev_private;
  	struct nouveau_channel *chan = dev_priv->fifos[0];
@@ -19091,7 +19184,7 @@ index 5f21df3..457a8bc 100644
  		ramin->im_backing_suspend[i/4] = nv_ri32(dev, i);
  	return 0;
  }
-@@ -354,23 +293,25 @@ nv50_instmem_resume(struct drm_device *dev)
+@@ -354,23 +295,25 @@ nv50_instmem_resume(struct drm_device *dev)
  	struct drm_nouveau_private *dev_priv = dev->dev_private;
  	struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv;
  	struct nouveau_channel *chan = dev_priv->fifos[0];
@@ -19125,7 +19218,7 @@ index 5f21df3..457a8bc 100644
  					NV50_PUNK_BAR3_CTXDMA_VALID);
  
  	for (i = 0; i < 8; i++)
-@@ -386,7 +327,7 @@ nv50_instmem_populate(struct drm_device *dev, struct nouveau_gpuobj *gpuobj,
+@@ -386,7 +329,7 @@ nv50_instmem_populate(struct drm_device *dev, struct nouveau_gpuobj *gpuobj,
  	if (gpuobj->im_backing)
  		return -EINVAL;
  
@@ -19134,7 +19227,7 @@ index 5f21df3..457a8bc 100644
  	if (*sz == 0)
  		return -EINVAL;
  
-@@ -404,9 +345,7 @@ nv50_instmem_populate(struct drm_device *dev, struct nouveau_gpuobj *gpuobj,
+@@ -404,9 +347,7 @@ nv50_instmem_populate(struct drm_device *dev, struct nouveau_gpuobj *gpuobj,
  		return ret;
  	}
  
@@ -19145,7 +19238,7 @@ index 5f21df3..457a8bc 100644
  	return 0;
  }
  
-@@ -429,23 +368,23 @@ nv50_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
+@@ -429,23 +370,23 @@ nv50_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
  {
  	struct drm_nouveau_private *dev_priv = dev->dev_private;
  	struct nv50_instmem_priv *priv = dev_priv->engine.instmem.priv;
@@ -19174,7 +19267,7 @@ index 5f21df3..457a8bc 100644
  
  	vram |= 1;
  	if (dev_priv->vram_sys_base) {
-@@ -453,27 +392,16 @@ nv50_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
+@@ -453,27 +394,16 @@ nv50_instmem_bind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
  		vram |= 0x30;
  	}
  
@@ -19209,7 +19302,7 @@ index 5f21df3..457a8bc 100644
  
  	gpuobj->im_bound = 1;
  	return 0;
-@@ -489,39 +417,44 @@ nv50_instmem_unbind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
+@@ -489,39 +419,44 @@ nv50_instmem_unbind(struct drm_device *dev, struct nouveau_gpuobj *gpuobj)
  	if (gpuobj->im_bound == 0)
  		return -EINVAL;
  
diff --git a/kernel.spec b/kernel.spec
index 7392cb6..26873fe 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -48,7 +48,7 @@ Summary: The Linux kernel
 # reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
 # scripts/rebase.sh should be made to do that for you, actually.
 #
-%global baserelease 29
+%global baserelease 30
 %global fedora_build %{baserelease}
 
 # base_sublevel is the kernel version we're starting with and patching
@@ -667,7 +667,6 @@ Patch1807: drm-i2c-ch7006-fix.patch
 Patch1810: drm-nouveau-updates.patch
 Patch1811: drm-nouveau-race-fix.patch
 Patch1812: drm-nouveau-nva3-noaccel.patch
-Patch1813: drm-nouveau-acpi-edid-fix.patch
 Patch1819: drm-intel-big-hammer.patch
 # intel drm is all merged upstream
 Patch1824: drm-intel-next.patch
@@ -1310,7 +1309,6 @@ ApplyPatch drm-i2c-ch7006-fix.patch
 ApplyPatch drm-nouveau-updates.patch
 ApplyPatch drm-nouveau-race-fix.patch
 ApplyPatch drm-nouveau-nva3-noaccel.patch
-ApplyPatch drm-nouveau-acpi-edid-fix.patch
 
 ApplyPatch drm-intel-big-hammer.patch
 ApplyOptionalPatch drm-intel-next.patch
@@ -1985,6 +1983,10 @@ fi
 # and build.
 
 %changelog
+* Thu Sep 23 2010 Ben Skeggs <bskeggs at redhat.com> 2.6.35.5-30
+- nouveau: fix IGP chipsets (rhbz#636326), and some DP boards
+- drm-nouveau-acpi-edid-fix.patch: drop, merged into updates
+
 * Wed Sep 22 2010 Chuck Ebbert <cebbert at redhat.com>
 - Fix possible lockup with new scheduler idle balance code.
 - Dump stack on failed ATA commands in pata_it821x driver (#632753)


More information about the scm-commits mailing list