nouveau: IGP and DP fixes

This commit is contained in:
Ben Skeggs 2010-09-23 08:54:13 +10:00
commit 31ce2e5e16
3 changed files with 143 additions and 77 deletions

View file

@ -1,29 +0,0 @@
From 3a25c2ea8bd898dff218ef8baa09ea1f05a60b48 Mon Sep 17 00:00:00 2001
From: Ben Skeggs <bskeggs@redhat.com>
Date: Fri, 10 Sep 2010 15:33:11 +1000
Subject: [PATCH] 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@redhat.com>
---
drivers/gpu/drm/nouveau/nouveau_acpi.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_acpi.c b/drivers/gpu/drm/nouveau/nouveau_acpi.c
index c17a055..1191526 100644
--- a/drivers/gpu/drm/nouveau/nouveau_acpi.c
+++ b/drivers/gpu/drm/nouveau/nouveau_acpi.c
@@ -292,6 +292,6 @@ nouveau_acpi_edid(struct drm_device *dev, struct drm_connector *connector)
if (ret < 0)
return ret;
- nv_connector->edid = edid;
+ nv_connector->edid = kmemdup(edid, EDID_LENGTH, GFP_KERNEL);
return 0;
}
--
1.7.2.2

View file

@ -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@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@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@redhat.com>
drm/nv50: mark PCIEGART pages non-present rather than using dummy page
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drm/nouveau: zero dummy page
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drm/nv50: fix 100c90 write on nva3
Signed-off-by: Ben Skeggs <bskeggs@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@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@redhat.com>
Acked-by: Matthew Garrett <mjg@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@turmel.org>
Signed-off-by: Francisco Jerez <currojerez@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@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@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;

View file

@ -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@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@redhat.com>
- Fix possible lockup with new scheduler idle balance code.
- Dump stack on failed ATA commands in pata_it821x driver (#632753)