[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