rpms/kernel/devel drm-nouveau.patch, 1.45, 1.46 kernel.spec, 1.1770, 1.1771

Ben Skeggs bskeggs at fedoraproject.org
Tue Sep 8 04:18:49 UTC 2009


Author: bskeggs

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

Modified Files:
	drm-nouveau.patch kernel.spec 
Log Message:
* Tue Sep 09 2009 Ben Skeggs <bskeggs at redhat.com> 2.6.31-0.208.rc9.git1
- drm-nouveau.patch: latest upstream + rebase onto drm-next


drm-nouveau.patch:
 drivers/gpu/drm/Kconfig                     |   45 
 drivers/gpu/drm/Makefile                    |    2 
 drivers/gpu/drm/drm_bufs.c                  |   28 
 drivers/gpu/drm/i2c/Makefile                |    4 
 drivers/gpu/drm/i2c/ch7006_drv.c            |  532 
 drivers/gpu/drm/i2c/ch7006_mode.c           |  473 
 drivers/gpu/drm/i2c/ch7006_priv.h           |  340 
 drivers/gpu/drm/nouveau/Makefile            |   27 
 drivers/gpu/drm/nouveau/nouveau_backlight.c |  155 
 drivers/gpu/drm/nouveau/nouveau_bios.c      | 5209 ++++++
 drivers/gpu/drm/nouveau/nouveau_bios.h      |  235 
 drivers/gpu/drm/nouveau/nouveau_bo.c        |  622 
 drivers/gpu/drm/nouveau/nouveau_calc.c      |  626 
 drivers/gpu/drm/nouveau/nouveau_channel.c   |  520 
 drivers/gpu/drm/nouveau/nouveau_connector.c |  689 
 drivers/gpu/drm/nouveau/nouveau_connector.h |   55 
 drivers/gpu/drm/nouveau/nouveau_crtc.h      |   95 
 drivers/gpu/drm/nouveau/nouveau_display.c   |  115 
 drivers/gpu/drm/nouveau/nouveau_dma.c       |  206 
 drivers/gpu/drm/nouveau/nouveau_dma.h       |  148 
 drivers/gpu/drm/nouveau/nouveau_drv.c       |  432 
 drivers/gpu/drm/nouveau/nouveau_drv.h       | 1201 +
 drivers/gpu/drm/nouveau/nouveau_encoder.h   |   66 
 drivers/gpu/drm/nouveau/nouveau_fb.h        |   47 
 drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  350 
 drivers/gpu/drm/nouveau/nouveau_fbcon.h     |   48 
 drivers/gpu/drm/nouveau/nouveau_fence.c     |  261 
 drivers/gpu/drm/nouveau/nouveau_gem.c       |  943 +
 drivers/gpu/drm/nouveau/nouveau_hw.c        | 1077 +
 drivers/gpu/drm/nouveau/nouveau_hw.h        |  446 
 drivers/gpu/drm/nouveau/nouveau_i2c.c       |  256 
 drivers/gpu/drm/nouveau/nouveau_i2c.h       |   45 
 drivers/gpu/drm/nouveau/nouveau_ioc32.c     |   72 
 drivers/gpu/drm/nouveau/nouveau_irq.c       |  675 
 drivers/gpu/drm/nouveau/nouveau_mem.c       |  565 
 drivers/gpu/drm/nouveau/nouveau_notifier.c  |  194 
 drivers/gpu/drm/nouveau/nouveau_object.c    | 1279 +
 drivers/gpu/drm/nouveau/nouveau_reg.h       |  834 +
 drivers/gpu/drm/nouveau/nouveau_sgdma.c     |  317 
 drivers/gpu/drm/nouveau/nouveau_state.c     |  826 +
 drivers/gpu/drm/nouveau/nouveau_swmthd.h    |   33 
 drivers/gpu/drm/nouveau/nouveau_ttm.c       |  131 
 drivers/gpu/drm/nouveau/nv04_crtc.c         | 1014 +
 drivers/gpu/drm/nouveau/nv04_cursor.c       |   70 
 drivers/gpu/drm/nouveau/nv04_dac.c          |  525 
 drivers/gpu/drm/nouveau/nv04_dfp.c          |  621 
 drivers/gpu/drm/nouveau/nv04_display.c      |  293 
 drivers/gpu/drm/nouveau/nv04_fb.c           |   21 
 drivers/gpu/drm/nouveau/nv04_fbcon.c        |  292 
 drivers/gpu/drm/nouveau/nv04_fifo.c         |  295 
 drivers/gpu/drm/nouveau/nv04_graph.c        |  583 
 drivers/gpu/drm/nouveau/nv04_instmem.c      |  207 
 drivers/gpu/drm/nouveau/nv04_mc.c           |   20 
 drivers/gpu/drm/nouveau/nv04_timer.c        |   51 
 drivers/gpu/drm/nouveau/nv04_tv.c           |  304 
 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/nv17_tv.c           |  660 
 drivers/gpu/drm/nouveau/nv17_tv.h           |  156 
 drivers/gpu/drm/nouveau/nv17_tv_modes.c     |  582 
 drivers/gpu/drm/nouveau/nv20_graph.c        |  784 
 drivers/gpu/drm/nouveau/nv40_fb.c           |   62 
 drivers/gpu/drm/nouveau/nv40_fifo.c         |  223 
 drivers/gpu/drm/nouveau/nv40_graph.c        | 2203 ++
 drivers/gpu/drm/nouveau/nv40_mc.c           |   38 
 drivers/gpu/drm/nouveau/nv50_crtc.c         |  796 +
 drivers/gpu/drm/nouveau/nv50_cursor.c       |  151 
 drivers/gpu/drm/nouveau/nv50_dac.c          |  296 
 drivers/gpu/drm/nouveau/nv50_display.c      |  905 +
 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        |  439 
 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          |  250 
 drivers/gpu/drm/nouveau/nvreg.h             |  535 
 drivers/gpu/drm/ttm/ttm_bo.c                |    4 
 include/drm/Kbuild                          |    1 
 include/drm/drmP.h                          |    2 
 include/drm/i2c/ch7006.h                    |   86 
 include/drm/nouveau_drm.h                   |  216 
 85 files changed, 57747 insertions(+), 21 deletions(-)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.45 -r 1.46 drm-nouveau.patchIndex: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -p -r1.45 -r1.46
--- drm-nouveau.patch	25 Aug 2009 03:15:09 -0000	1.45
+++ drm-nouveau.patch	8 Sep 2009 04:18:48 -0000	1.46
@@ -1,8 +1,8 @@
 diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
-index 39b393d..49b21cc 100644
+index e4d971c..7fe8a4c 100644
 --- a/drivers/gpu/drm/Kconfig
 +++ b/drivers/gpu/drm/Kconfig
-@@ -143,3 +143,47 @@ config DRM_SAVAGE
+@@ -153,3 +153,48 @@ config DRM_SAVAGE
  	help
  	  Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
  	  chipset. If M is selected the module will be called savage.
@@ -10,6 +10,7 @@ index 39b393d..49b21cc 100644
 +config DRM_NOUVEAU
 +	tristate "Nouveau (nVidia) cards"
 +	depends on DRM
++	select DRM_KMS_HELPER
 +	select DRM_TTM
 +	select FB_CFB_FILLRECT
 +	select FB_CFB_COPYAREA
@@ -51,10 +52,10 @@ index 39b393d..49b21cc 100644
 +
 +endmenu
 diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
-index 5f0aec4..f0ef455 100644
+index 3c8827a..d22e64b 100644
 --- a/drivers/gpu/drm/Makefile
 +++ b/drivers/gpu/drm/Makefile
-@@ -27,3 +27,5 @@ obj-$(CONFIG_DRM_I915)  += i915/
+@@ -31,3 +31,5 @@ obj-$(CONFIG_DRM_I915)  += i915/
  obj-$(CONFIG_DRM_SIS)   += sis/
  obj-$(CONFIG_DRM_SAVAGE)+= savage/
  obj-$(CONFIG_DRM_VIA)	+=via/
@@ -130,10 +131,10 @@ index 0000000..6d2abaf
 +obj-$(CONFIG_DRM_I2C_CH7006) += ch7006.o
 diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c
 new file mode 100644
-index 0000000..47421ba
+index 0000000..0a3f7a0
 --- /dev/null
 +++ b/drivers/gpu/drm/i2c/ch7006_drv.c
-@@ -0,0 +1,529 @@
+@@ -0,0 +1,532 @@
 +/*
 + * Copyright (C) 2009 Francisco Jerez.
 + * All Rights Reserved.
@@ -600,13 +601,11 @@ index 0000000..47421ba
 +				   ch7006_tv_norm);
 +	}
 +
-+	if (ch7006_scale) {
-+		if (ch7006_scale >= 0 && ch7006_scale <= 2)
-+			priv->scale = ch7006_scale;
-+		else
-+			ch7006_err(client, "Invalid scale setting \"%d\".\n",
-+				   ch7006_scale);
-+	}
++	if (ch7006_scale >= 0 && ch7006_scale <= 2)
++		priv->scale = ch7006_scale;
++	else
++		ch7006_err(client, "Invalid scale setting \"%d\".\n",
++			   ch7006_scale);
 +
 +	return 0;
 +}
@@ -651,11 +650,16 @@ index 0000000..47421ba
 +
 +char *ch7006_tv_norm = NULL;
 +module_param_named(tv_norm, ch7006_tv_norm, charp, 0600);
-+MODULE_PARM_DESC(tv_norm, "Default TV norm.");
++MODULE_PARM_DESC(tv_norm, "Default TV norm.\n"
++		 "\t\tSupported: PAL, PAL-M, PAL-N, PAL-Nc, PAL-60, NTSC-M, NTSC-J.\n"
++		 "\t\tDefault: PAL");
 +
-+int ch7006_scale = 0;
++int ch7006_scale = 1;
 +module_param_named(scale, ch7006_scale, int, 0600);
-+MODULE_PARM_DESC(scale, "Default scale.");
++MODULE_PARM_DESC(scale, "Default scale.\n"
++		 "\t\tSupported: 0 -> Select video modes with a higher blanking ratio.\n"
++		 "\t\t\t1 -> Select default video modes.\n"
++		 "\t\t\t2 -> Select video modes with a lower blanking ratio.");
 +
 +MODULE_AUTHOR("Francisco Jerez <currojerez at riseup.net>");
 +MODULE_DESCRIPTION("Chrontel ch7006 TV encoder driver");
@@ -1684,10 +1688,10 @@ index 0000000..20564f8
 +}
 diff --git a/drivers/gpu/drm/nouveau/nouveau_bios.c b/drivers/gpu/drm/nouveau/nouveau_bios.c
 new file mode 100644
-index 0000000..1500eed
+index 0000000..b37ad94
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nouveau_bios.c
-@@ -0,0 +1,5190 @@
+@@ -0,0 +1,5209 @@
 +/*
 + * Copyright 2005-2006 Erik Waling
 + * Copyright 2006 Stephane Marchesin
@@ -5001,7 +5005,7 @@ index 0000000..1500eed
 +
 +int
 +nouveau_bios_run_display_table(struct drm_device *dev, struct dcb_entry *dcbent,
-+			       int pxclk)
++			       uint32_t sub, int pxclk)
 +{
 +	/* The display script table is located by the BIT 'U' table.
 +	 *
@@ -5031,7 +5035,7 @@ index 0000000..1500eed
 +	uint8_t *table = &bios->data[bios->display.script_table_ptr];
 +	uint8_t *entry, *otable = NULL;
 +	uint16_t script;
-+	int i, sub;
++	int i;
 +
 +	if (!bios->display.script_table_ptr) {
 +		NV_ERROR(dev, "No pointer to output script table\n");
@@ -5102,39 +5106,19 @@ index 0000000..1500eed
 +		return 1;
 +	}
 +
-+	/* Anyone have an idea to know which to use for certain? */
-+	switch (dcbent->type) {
-+	case OUTPUT_LVDS:
-+		if (nouveau_uscript_lvds >= 0)
-+			sub = nouveau_uscript_lvds;
-+		else {
-+			/* 0x0000 0x0100 0x0200 0x0300 */
-+			if (pxclk > bios->fp.duallink_transition_clk)
-+				sub = 0x0100;
-+			else
-+				sub = 0x0000;
++	if (pxclk < -2 || pxclk > 0) {
++		/* Try to find matching script table entry */
++		for (i = 0; i < otable[5]; i++) {
++			if (ROM16(otable[table[4] + i*6]) == sub)
++				break;
 +		}
-+		break;
-+	case OUTPUT_TMDS:
-+		if (nouveau_uscript_tmds >= 0)
-+			sub = nouveau_uscript_tmds;
-+		else
-+			sub = 0x0001; /* 0x0001 0x0002 0x0105 */
-+		break;
-+	default:
-+		sub = 0x00ff; /* 0x00ff */
-+		break;
-+	}
 +
-+	for (i = 0; i < otable[5]; i++) {
-+		if (ROM16(otable[table[4] + i*6]) == sub)
-+			break;
-+	}
-+
-+	if (i == otable[5]) {
-+		NV_ERROR(dev, "Table 0x%04x not found for %d/%d, using first\n",
-+			 sub, dcbent->type, dcbent->or);
-+		i = 0;
++		if (i == otable[5]) {
++			NV_ERROR(dev, "Table 0x%04x not found for %d/%d, "
++				      "using first\n",
++				 sub, dcbent->type, dcbent->or);
++			i = 0;
++		}
 +	}
 +
 +	bios->display.head = ffs(dcbent->or) - 1;
@@ -6263,10 +6247,8 @@ index 0000000..1500eed
 +	entry->type = conn & 0xf;
 +	entry->i2c_index = (conn >> 4) & 0xf;
 +	entry->heads = (conn >> 8) & 0xf;
-+	if (bdcb->version >= 0x30)
++	if (bdcb->version >= 0x40)
 +		entry->connector = (conn >> 12) & 0xf;
-+	else
-+		entry->connector = entry->i2c_index; /* sorta */
 +	entry->bus = (conn >> 16) & 0xf;
 +	entry->location = (conn >> 20) & 0x3;
 +	entry->or = (conn >> 24) & 0xf;
@@ -6613,7 +6595,45 @@ index 0000000..1500eed
 +	return (dcb->entries ? 0 : -ENXIO);
 +}
 +
-+static void fixup_legacy_i2c(struct nvbios *bios)
++static void
++fixup_legacy_connector(struct nvbios *bios)
++{
++	struct bios_parsed_dcb *bdcb = &bios->bdcb;
++	struct parsed_dcb *dcb = &bdcb->dcb;
++	int high = 0, i;
++
++	/* DCB 3.0 also has the table in most cases, but there are some cards
++	 * where the table is filled with stub entries, and the DCB entriy
[...2564 lines suppressed...]
++		if (pxclk >= 165000)
++			script |= 0x0100;
++
++		if (nouveau_uscript_tmds >= 0) {
++			NV_INFO(dev, "override script 0x%04x with 0x%04x"
++				     "for output TMDS-%d\n", script,
++				     nouveau_uscript_tmds, or);
++			script = nouveau_uscript_tmds;
++		}
++		break;
++	case OUTPUT_ANALOG:
++		script = 0xff;
++		break;
++	default:
++		NV_ERROR(dev, "modeset on unsupported output type!\n");
++		break;
++	}
++
++	return script;
++}
++
 +static void
 +nv50_display_vblank_crtc_handler(struct drm_device *dev, int crtc)
 +{
@@ -33162,7 +32807,7 @@ index 0000000..7ddb760
 +
 +	nv_wr32(dev, 0x619494, nv_rd32(dev, 0x619494) & ~8);
 +
-+	nouveau_bios_run_display_table(dev, dcbent, -1);
++	nouveau_bios_run_display_table(dev, dcbent, 0, -1);
 +
 +ack:
 +	nv_wr32(dev, NV50_PDISPLAY_INTR_1, NV50_PDISPLAY_INTR_1_CLK_UNK10);
@@ -33172,10 +32817,8 @@ index 0000000..7ddb760
 +static void
 +nv50_display_unk20_handler(struct drm_device *dev)
 +{
-+	struct drm_nouveau_private *dev_priv = dev->dev_private;
-+	struct nvbios *bios = &dev_priv->VBIOS;
 +	struct dcb_entry *dcbent;
-+	uint32_t tmp, pclk;
++	uint32_t tmp, pclk, script;
 +	int head, or, ret;
 +
 +	ret = nv50_display_irq_head(dev, &head, &dcbent);
@@ -33183,30 +32826,24 @@ index 0000000..7ddb760
 +		goto ack;
 +	or = ffs(dcbent->or) - 1;
 +	pclk = nv_rd32(dev, NV50_PDISPLAY_CRTC_P(head, CLOCK)) & 0x3fffff;
++	script = nv50_display_script_select(dev, dcbent, pclk);
 +
 +	NV_DEBUG(dev, "head %d pxclk: %dKHz\n", head, pclk);
 +
-+	nouveau_bios_run_display_table(dev, dcbent, -2);
++	nouveau_bios_run_display_table(dev, dcbent, 0, -2);
 +
 +	nv50_crtc_set_clock(dev, head, pclk);
 +
-+	nouveau_bios_run_display_table(dev, dcbent, pclk);
++	nouveau_bios_run_display_table(dev, dcbent, script, pclk);
 +
 +	tmp = nv_rd32(dev, NV50_PDISPLAY_CRTC_CLK_CTRL2(head));
 +	tmp &= ~0x000000f;
 +	nv_wr32(dev, NV50_PDISPLAY_CRTC_CLK_CTRL2(head), tmp);
 +
 +	if (dcbent->type != OUTPUT_ANALOG) {
-+		int tclk;
-+
-+		if (dcbent->type == OUTPUT_LVDS)
-+			tclk = bios->fp.duallink_transition_clk;
-+		else
-+			tclk = 165000;
-+
 +		tmp = nv_rd32(dev, NV50_PDISPLAY_SOR_CLK_CTRL2(or));
 +		tmp &= ~0x00000f0f;
-+		if (pclk > tclk)
++		if (script & 0x0100)
 +			tmp |= 0x00000101;
 +		nv_wr32(dev, NV50_PDISPLAY_SOR_CLK_CTRL2(or), tmp);
 +	} else {
@@ -33222,14 +32859,15 @@ index 0000000..7ddb760
 +nv50_display_unk40_handler(struct drm_device *dev)
 +{
 +	struct dcb_entry *dcbent;
-+	int head, pclk, ret;
++	int head, pclk, script, ret;
 +
 +	ret = nv50_display_irq_head(dev, &head, &dcbent);
 +	if (ret)
 +		goto ack;
 +	pclk = nv_rd32(dev, NV50_PDISPLAY_CRTC_P(head, CLOCK)) & 0x3fffff;
++	script = nv50_display_script_select(dev, dcbent, pclk);
 +
-+	nouveau_bios_run_display_table(dev, dcbent, -pclk);
++	nouveau_bios_run_display_table(dev, dcbent, script, -pclk);
 +
 +ack:
 +	nv_wr32(dev, NV50_PDISPLAY_INTR_1, NV50_PDISPLAY_INTR_1_CLK_UNK40);
@@ -34246,10 +33884,10 @@ index 0000000..3d12e12
 +
 diff --git a/drivers/gpu/drm/nouveau/nv50_graph.c b/drivers/gpu/drm/nouveau/nv50_graph.c
 new file mode 100644
-index 0000000..72db3cf
+index 0000000..108f672
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_graph.c
-@@ -0,0 +1,437 @@
+@@ -0,0 +1,439 @@
 +/*
 + * Copyright (C) 2007 Ben Skeggs.
 + * All Rights Reserved.
@@ -34434,8 +34072,10 @@ index 0000000..72db3cf
 +	struct nouveau_gpuobj *ramin = chan->ramin->gpuobj;
 +	struct nouveau_gpuobj *ctx;
 +	uint32_t *ctxvals = NULL;
-+	int grctx_size = 0x70000, hdr;
-+	int ret, pos;
++	uint32_t grctx_size = 0x70000;
++	int hdr;
++	int ret;
++	int pos;
 +
 +	NV_DEBUG(dev, "ch%d\n", chan->id);
 +
@@ -57530,10 +57170,10 @@ index 0000000..e0a9c3f
 +}
 diff --git a/drivers/gpu/drm/nouveau/nv50_sor.c b/drivers/gpu/drm/nouveau/nv50_sor.c
 new file mode 100644
-index 0000000..9ae8ec3
+index 0000000..45b0ff7
 --- /dev/null
 +++ b/drivers/gpu/drm/nouveau/nv50_sor.c
-@@ -0,0 +1,253 @@
+@@ -0,0 +1,250 @@
 +/*
 + * Copyright (C) 2008 Maarten Maathuis.
 + * All Rights Reserved.
@@ -57592,17 +57232,11 @@ index 0000000..9ae8ec3
 +static void nv50_sor_dpms(struct drm_encoder *drm_encoder, int mode)
 +{
 +	struct drm_device *dev = drm_encoder->dev;
-+	struct drm_nouveau_private *dev_priv = dev->dev_private;
 +	struct nouveau_encoder *encoder = nouveau_encoder(drm_encoder);
 +	uint32_t val;
 +	int or = encoder->or;
 +
-+	NV_DEBUG(dev, "or %d\n", encoder->or);
-+
-+	if (dev_priv->in_modeset) {
-+		nv50_sor_disconnect(encoder);
-+		return;
-+	}
++	NV_DEBUG(dev, "or %d mode %d\n", or, mode);
 +
 +	/* wait for it to be done */
 +	if (!nv_wait(NV50_PDISPLAY_SOR_DPMS_CTRL(or),
@@ -57646,9 +57280,13 @@ index 0000000..9ae8ec3
 +	struct nouveau_encoder *encoder = nouveau_encoder(drm_encoder);
 +	struct nouveau_connector *connector;
 +
++	NV_DEBUG(drm_encoder->dev, "or %d\n", encoder->or);
++
 +	connector = nouveau_encoder_connector_get(encoder);
-+	if (!connector)
++	if (!connector) {
++		NV_ERROR(drm_encoder->dev, "Encoder has no connector\n");
 +		return false;
++	}
 +
 +	if (connector->scaling_mode != DRM_MODE_SCALE_NONE &&
 +	     connector->native_mode) {
@@ -57682,10 +57320,7 @@ index 0000000..9ae8ec3
 +
 +	NV_DEBUG(dev, "or %d\n", encoder->or);
 +
-+	ret = dev_priv->in_modeset;
-+	dev_priv->in_modeset = false;
 +	nv50_sor_dpms(drm_encoder, DRM_MODE_DPMS_ON);
-+	dev_priv->in_modeset = ret;
 +
 +	if (to_drm_encoder(encoder)->encoder_type != DRM_MODE_ENCODER_LVDS) {
 +		mode_ctl |= NV50_EVO_SOR_MODE_CTRL_TMDS;
@@ -57779,6 +57414,8 @@ index 0000000..9ae8ec3
 +	encoder->dcb = entry;
 +	encoder->or = ffs(entry->or) - 1;
 +
++	encoder->disconnect = nv50_sor_disconnect;
++
 +	drm_encoder_init(dev, to_drm_encoder(encoder), &nv50_sor_encoder_funcs, type);
 +	drm_encoder_helper_add(to_drm_encoder(encoder), &nv50_sor_helper_funcs);
 +
@@ -58373,7 +58010,7 @@ index b940fdf..cfa6af4 100644
  unifdef-y += via_drm.h
 +unifdef-y += nouveau_drm.h
 diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index e0f1c1f..84e2fa6 100644
+index eeefb63..1345c39 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
 @@ -1240,6 +1240,8 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1770
retrieving revision 1.1771
diff -u -p -r1.1770 -r1.1771
--- kernel.spec	8 Sep 2009 04:03:56 -0000	1.1770
+++ kernel.spec	8 Sep 2009 04:18:48 -0000	1.1771
@@ -2020,6 +2020,9 @@ fi
 # and build.
 
 %changelog
+* Tue Sep 09 2009 Ben Skeggs <bskeggs at redhat.com> 2.6.31-0.208.rc9.git1
+- drm-nouveau.patch: latest upstream + rebase onto drm-next
+
 * Tue Sep 08 2009 Dave Airlie <airlied at redhat.com> 2.6.31-0.207.rc9.git1
 - drm-vga-arb.patch: update to avoid lockdep + add r600 support
 




More information about the fedora-extras-commits mailing list