rpms/kernel/devel config-generic, 1.319, 1.320 drm-nouveau.patch, 1.44, 1.45 kernel.spec, 1.1736, 1.1737

Ben Skeggs bskeggs at fedoraproject.org
Tue Aug 25 03:15:10 UTC 2009


Author: bskeggs

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

Modified Files:
	config-generic drm-nouveau.patch kernel.spec 
Log Message:
* Tue Aug 25 2009 Ben Skeggs <bskeggs at redhat.com> 2.6.31-0.174.rc7.git2
- drm-nouveau.patch: upstream update, pre-nv50 tv-out + misc fixes




Index: config-generic
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/config-generic,v
retrieving revision 1.319
retrieving revision 1.320
diff -u -p -r1.319 -r1.320
--- config-generic	18 Aug 2009 17:48:11 -0000	1.319
+++ config-generic	25 Aug 2009 03:15:08 -0000	1.320
@@ -2247,6 +2247,7 @@ CONFIG_DRM_VIA=m
 CONFIG_DRM_NOUVEAU=m
 CONFIG_DRM_NOUVEAU_KMS=y
 CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_I2C_CH7006=m
 
 #
 # PCMCIA character devices

drm-nouveau.patch:
 drivers/gpu/drm/Kconfig                     |   44 
 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            |  529 
 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      | 5190 ++++++
 drivers/gpu/drm/nouveau/nouveau_bios.h      |  235 
 drivers/gpu/drm/nouveau/nouveau_bo.c        |  620 
 drivers/gpu/drm/nouveau/nouveau_calc.c      |  626 
 drivers/gpu/drm/nouveau/nouveau_channel.c   |  518 
 drivers/gpu/drm/nouveau/nouveau_connector.c |  628 
 drivers/gpu/drm/nouveau/nouveau_connector.h |   55 
 drivers/gpu/drm/nouveau/nouveau_crtc.h      |   92 
 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       |  374 
 drivers/gpu/drm/nouveau/nouveau_drv.h       | 1182 +
 drivers/gpu/drm/nouveau/nouveau_encoder.h   |   64 
 drivers/gpu/drm/nouveau/nouveau_fb.h        |   47 
 drivers/gpu/drm/nouveau/nouveau_fbcon.c     |  933 +
 drivers/gpu/drm/nouveau/nouveau_fbcon.h     |   49 
 drivers/gpu/drm/nouveau/nouveau_fence.c     |  261 
 drivers/gpu/drm/nouveau/nouveau_gem.c       |  936 +
 drivers/gpu/drm/nouveau/nouveau_hw.c        | 1077 +
 drivers/gpu/drm/nouveau/nouveau_hw.h        |  441 
 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       |  674 
 drivers/gpu/drm/nouveau/nouveau_mem.c       |  565 
 drivers/gpu/drm/nouveau/nouveau_notifier.c  |  194 
 drivers/gpu/drm/nouveau/nouveau_object.c    | 1276 +
 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         | 1018 +
 drivers/gpu/drm/nouveau/nv04_cursor.c       |   70 
 drivers/gpu/drm/nouveau/nv04_dac.c          |  525 
 drivers/gpu/drm/nouveau/nv04_dfp.c          |  611 
 drivers/gpu/drm/nouveau/nv04_display.c      |  291 
 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         |  815 +
 drivers/gpu/drm/nouveau/nv50_cursor.c       |  151 
 drivers/gpu/drm/nouveau/nv50_dac.c          |  299 
 drivers/gpu/drm/nouveau/nv50_display.c      |  855 +
 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        |  437 
 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          |  253 
 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, 58110 insertions(+), 21 deletions(-)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.44 -r 1.45 drm-nouveau.patchIndex: drm-nouveau.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-nouveau.patch,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -p -r1.44 -r1.45
--- drm-nouveau.patch	11 Aug 2009 05:49:52 -0000	1.44
+++ drm-nouveau.patch	25 Aug 2009 03:15:09 -0000	1.45
@@ -1,8 +1,8 @@
 diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
-index 39b393d..5ea10e5 100644
+index 39b393d..49b21cc 100644
 --- a/drivers/gpu/drm/Kconfig
 +++ b/drivers/gpu/drm/Kconfig
-@@ -143,3 +143,33 @@ config DRM_SAVAGE
+@@ -143,3 +143,47 @@ 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.
@@ -36,15 +36,30 @@ index 39b393d..5ea10e5 100644
 +	  Say Y here if you want to control the backlight of your display
 +	  (e.g. a laptop panel).
 +
++menu "I2C encoder or helper chips"
++     depends on DRM
++
++config DRM_I2C_CH7006
++	tristate "Chrontel ch7006 TV encoder"
++	default m if DRM_NOUVEAU
++	help
++	  Support for Chrontel ch7006 and similar TV encoders, found
++	  on some nVidia video cards.
++
++	  This driver is currently only useful if you're also using
++	  the nouveau driver.
++
++endmenu
 diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
-index fe23f29..4c6a38d 100644
+index 5f0aec4..f0ef455 100644
 --- a/drivers/gpu/drm/Makefile
 +++ b/drivers/gpu/drm/Makefile
-@@ -27,3 +27,4 @@ obj-$(CONFIG_DRM_I915)  += i915/
+@@ -27,3 +27,5 @@ obj-$(CONFIG_DRM_I915)  += i915/
  obj-$(CONFIG_DRM_SIS)   += sis/
  obj-$(CONFIG_DRM_SAVAGE)+= savage/
  obj-$(CONFIG_DRM_VIA)	+=via/
 +obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
++obj-y			+= i2c/
 diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c
 index 6246e3f..436e2fe 100644
 --- a/drivers/gpu/drm/drm_bufs.c
@@ -103,9 +118,1379 @@ index 6246e3f..436e2fe 100644
  			     (map->type == _DRM_SHM));
  	if (ret) {
  		if (map->type == _DRM_REGISTERS)
+diff --git a/drivers/gpu/drm/i2c/Makefile b/drivers/gpu/drm/i2c/Makefile
+new file mode 100644
+index 0000000..6d2abaf
+--- /dev/null
++++ b/drivers/gpu/drm/i2c/Makefile
+@@ -0,0 +1,4 @@
++ccflags-y := -Iinclude/drm
++
++ch7006-y := ch7006_drv.o ch7006_mode.o
++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
+--- /dev/null
++++ b/drivers/gpu/drm/i2c/ch7006_drv.c
+@@ -0,0 +1,529 @@
++/*
++ * Copyright (C) 2009 Francisco Jerez.
++ * All Rights Reserved.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining
++ * a copy of this software and associated documentation files (the
++ * "Software"), to deal in the Software without restriction, including
++ * without limitation the rights to use, copy, modify, merge, publish,
++ * distribute, sublicense, and/or sell copies of the Software, and to
++ * permit persons to whom the Software is furnished to do so, subject to
++ * the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the
++ * next paragraph) shall be included in all copies or substantial
++ * portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
++ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++ *
++ */
++
++#include "ch7006_priv.h"
++
++/* DRM encoder functions */
++
++static void ch7006_encoder_set_config(struct drm_encoder *encoder,
++				      void *params)
++{
++	struct ch7006_priv *priv = to_ch7006_priv(encoder);
++
++	priv->params = params;
++}
++
++static void ch7006_encoder_destroy(struct drm_encoder *encoder)
++{
++	struct ch7006_priv *priv = to_ch7006_priv(encoder);
++
++	drm_property_destroy(encoder->dev, priv->scale_property);
++
++	kfree(priv);
++	to_encoder_slave(encoder)->slave_priv = NULL;
++
++	drm_i2c_encoder_destroy(encoder);
++}
++
++static void  ch7006_encoder_dpms(struct drm_encoder *encoder, int mode)
++{
++	struct i2c_client *client = drm_i2c_encoder_get_client(encoder);
++	struct ch7006_priv *priv = to_ch7006_priv(encoder);
++	struct ch7006_state *state = &priv->state;
++
++	ch7006_dbg(client, "\n");
++
++	if (mode == priv->last_dpms)
++		return;
++	priv->last_dpms = mode;
++
++	ch7006_setup_power_state(encoder);
++
++	ch7006_load_reg(client, state, CH7006_POWER);
++}
++
++static void ch7006_encoder_save(struct drm_encoder *encoder)
++{
++	struct i2c_client *client = drm_i2c_encoder_get_client(encoder);
++	struct ch7006_priv *priv = to_ch7006_priv(encoder);
++
++	ch7006_dbg(client, "\n");
++
++	ch7006_state_save(client, &priv->saved_state);
++}
++
++static void ch7006_encoder_restore(struct drm_encoder *encoder)
++{
++	struct i2c_client *client = drm_i2c_encoder_get_client(encoder);
++	struct ch7006_priv *priv = to_ch7006_priv(encoder);
++
++	ch7006_dbg(client, "\n");
++
++	ch7006_state_load(client, &priv->saved_state);
++}
++
++static bool ch7006_encoder_mode_fixup(struct drm_encoder *encoder,
++				      struct drm_display_mode *mode,
++				      struct drm_display_mode *adjusted_mode)
++{
++	struct ch7006_priv *priv = to_ch7006_priv(encoder);
++
++	/* The ch7006 is painfully picky with the input timings so no
++	 * custom modes for now... */
++
++	priv->mode = ch7006_lookup_mode(encoder, mode);
++
++	return !!priv->mode;
++}
++
++static int ch7006_encoder_mode_valid(struct drm_encoder *encoder,
++				     struct drm_display_mode *mode)
++{
++	if (ch7006_lookup_mode(encoder, mode))
++		return MODE_OK;
++	else
++		return MODE_BAD;
++}
++
++static void ch7006_encoder_mode_set(struct drm_encoder *encoder,
++				     struct drm_display_mode *drm_mode,
++				     struct drm_display_mode *adjusted_mode)
++{
++	struct i2c_client *client = drm_i2c_encoder_get_client(encoder);
++	struct ch7006_priv *priv = to_ch7006_priv(encoder);
++	struct ch7006_encoder_params *params = priv->params;
++	struct ch7006_state *state = &priv->state;
++	uint8_t *regs = state->regs;
++	struct ch7006_mode *mode = priv->mode;
++	struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm];
++	int start_active;
++
++	ch7006_dbg(client, "\n");
++
++	regs[CH7006_DISPMODE] = norm->dispmode | mode->dispmode;
++	regs[CH7006_BWIDTH] = 0;
++	regs[CH7006_INPUT_FORMAT] = bitf(CH7006_INPUT_FORMAT_FORMAT,
[...14498 lines suppressed...]
++#define NV_PRAMDAC_TV_VSYNC_DELAY			0x00680728
++#define NV_PRAMDAC_TV_HTOTAL				0x0068072c
++#define NV_PRAMDAC_TV_HSKEW				0x00680730
++#define NV_PRAMDAC_TV_HSYNC_DELAY			0x00680734
++#define NV_PRAMDAC_TV_HSYNC_DELAY2			0x00680738
++
++#define NV_PRAMDAC_TV_SETUP                             0x00680700
++
 +#define NV_PRAMDAC_FP_VDISPLAY_END			0x00680800
 +#define NV_PRAMDAC_FP_VTOTAL				0x00680804
 +#define NV_PRAMDAC_FP_VCRTC				0x00680808
@@ -54217,6 +58206,7 @@ index 0000000..90623b0
 +#	define NV_PRAMDAC_FP_TG_CONTROL_WIDTH_12		(1 << 24)
 +#	define NV_PRAMDAC_FP_TG_CONTROL_DISPEN_POS		(1 << 28)
 +#	define NV_PRAMDAC_FP_TG_CONTROL_DISPEN_DISABLE		(2 << 28)
++#define NV_PRAMDAC_FP_MARGIN_COLOR			0x0068084c
 +#define NV_PRAMDAC_850					0x00680850
 +#define NV_PRAMDAC_85C					0x0068085c
 +#define NV_PRAMDAC_FP_DEBUG_0				0x00680880
@@ -54242,12 +58232,16 @@ index 0000000..90623b0
 +#	define NV_PRAMDAC_FP_TMDS_CONTROL_WRITE_DISABLE		(1 << 16)
 +#define NV_PRAMDAC_FP_TMDS_DATA				0x006808b4
 +
++#define NV_PRAMDAC_8C0                                  0x006808c0
++
 +/* Some kind of switch */
 +#define NV_PRAMDAC_900					0x00680900
 +#define NV_PRAMDAC_A20					0x00680A20
 +#define NV_PRAMDAC_A24					0x00680A24
 +#define NV_PRAMDAC_A34					0x00680A34
 +
++#define NV_PRAMDAC_CTV					0x00680c00
++
 +/* names fabricated from NV_USER_DAC info */
 +#define NV_PRMDIO_PIXEL_MASK		0x006813c6
 +#	define NV_PRMDIO_PIXEL_MASK_MASK	0xff
@@ -54335,10 +58329,10 @@ index 0000000..90623b0
 +
 +#endif
 diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
-index 6538d42..ebc9532 100644
+index 87c0625..863ac5e 100644
 --- a/drivers/gpu/drm/ttm/ttm_bo.c
 +++ b/drivers/gpu/drm/ttm/ttm_bo.c
-@@ -89,6 +89,7 @@ int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, bool interruptible)
+@@ -123,6 +123,7 @@ int ttm_bo_wait_unreserved(struct ttm_buffer_object *bo, bool interruptible)
  	}
  	return 0;
  }
@@ -54346,7 +58340,7 @@ index 6538d42..ebc9532 100644
  
  static void ttm_bo_add_to_lru(struct ttm_buffer_object *bo)
  {
-@@ -843,6 +844,7 @@ int ttm_bo_wait_cpu(struct ttm_buffer_object *bo, bool no_wait)
+@@ -883,6 +884,7 @@ int ttm_bo_wait_cpu(struct ttm_buffer_object *bo, bool no_wait)
  
  	return ret;
  }
@@ -54354,7 +58348,7 @@ index 6538d42..ebc9532 100644
  
  int ttm_bo_move_buffer(struct ttm_buffer_object *bo,
  		       uint32_t proposed_placement,
-@@ -1628,12 +1630,14 @@ int ttm_bo_synccpu_write_grab(struct ttm_buffer_object *bo, bool no_wait)
+@@ -1722,12 +1724,14 @@ int ttm_bo_synccpu_write_grab(struct ttm_buffer_object *bo, bool no_wait)
  	ttm_bo_unreserve(bo);
  	return ret;
  }
@@ -54379,10 +58373,10 @@ 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 45b67d9..46e72e9 100644
+index e0f1c1f..84e2fa6 100644
 --- a/include/drm/drmP.h
 +++ b/include/drm/drmP.h
-@@ -1216,6 +1216,8 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);
+@@ -1240,6 +1240,8 @@ extern void drm_idlelock_release(struct drm_lock_data *lock_data);
  extern int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv);
  
  				/* Buffer management support (drm_bufs.h) */
@@ -54391,12 +58385,104 @@ index 45b67d9..46e72e9 100644
  extern int drm_addbufs_agp(struct drm_device *dev, struct drm_buf_desc * request);
  extern int drm_addbufs_pci(struct drm_device *dev, struct drm_buf_desc * request);
  extern int drm_addmap(struct drm_device *dev, resource_size_t offset,
+diff --git a/include/drm/i2c/ch7006.h b/include/drm/i2c/ch7006.h
+new file mode 100644
+index 0000000..8390b43
+--- /dev/null
++++ b/include/drm/i2c/ch7006.h
+@@ -0,0 +1,86 @@
++/*
++ * Copyright (C) 2009 Francisco Jerez.
++ * All Rights Reserved.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining
++ * a copy of this software and associated documentation files (the
++ * "Software"), to deal in the Software without restriction, including
++ * without limitation the rights to use, copy, modify, merge, publish,
++ * distribute, sublicense, and/or sell copies of the Software, and to
++ * permit persons to whom the Software is furnished to do so, subject to
++ * the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the
++ * next paragraph) shall be included in all copies or substantial
++ * portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
++ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++ *
++ */
++
++#ifndef __DRM_I2C_CH7006_H__
++#define __DRM_I2C_CH7006_H__
++
++/**
++ * struct ch7006_encoder_params
++ *
++ * Describes how the ch7006 is wired up with the GPU. It should be
++ * used as the @params parameter of its @set_config method.
++ *
++ * See "http://www.chrontel.com/pdf/7006.pdf" for their precise
++ * meaning.
++ */
++struct ch7006_encoder_params {
++	enum {
++		CH7006_FORMAT_RGB16 = 0,
++		CH7006_FORMAT_YCrCb24m16,
++		CH7006_FORMAT_RGB24m16,
++		CH7006_FORMAT_RGB15,
++		CH7006_FORMAT_RGB24m12C,
++		CH7006_FORMAT_RGB24m12I,
++		CH7006_FORMAT_RGB24m8,
++		CH7006_FORMAT_RGB16m8,
++		CH7006_FORMAT_RGB15m8,
++		CH7006_FORMAT_YCrCb24m8,
++	} input_format;
++
++	enum {
++		CH7006_CLOCK_SLAVE = 0,
++		CH7006_CLOCK_MASTER,
++	} clock_mode;
++
++	enum {
++		CH7006_CLOCK_EDGE_NEG = 0,
++		CH7006_CLOCK_EDGE_POS,
++	} clock_edge;
++
++	int xcm, pcm;
++
++	enum {
++		CH7006_SYNC_SLAVE = 0,
++		CH7006_SYNC_MASTER,
++	} sync_direction;
++
++	enum {
++		CH7006_SYNC_SEPARATED = 0,
++		CH7006_SYNC_EMBEDDED,
++	} sync_encoding;
++
++	enum {
++		CH7006_POUT_1_8V = 0,
++		CH7006_POUT_3_3V,
++	} pout_level;
++
++	enum {
++		CH7006_ACTIVE_HSYNC = 0,
++		CH7006_ACTIVE_DSTART,
++	} active_detect;
++};
++
++#endif
 diff --git a/include/drm/nouveau_drm.h b/include/drm/nouveau_drm.h
 new file mode 100644
-index 0000000..3e52b24
+index 0000000..2050357
 --- /dev/null
 +++ b/include/drm/nouveau_drm.h
-@@ -0,0 +1,214 @@
+@@ -0,0 +1,216 @@
 +/*
 + * Copyright 2005 Stephane Marchesin.
 + * All Rights Reserved.
@@ -54549,9 +58635,11 @@ index 0000000..3e52b24
 +	uint32_t offset;
 +	uint32_t nr_buffers;
 +	uint32_t nr_relocs;
-+	uint32_t pad0;
++	uint32_t nr_dwords;
 +	uint64_t buffers;
 +	uint64_t relocs;
++	uint32_t suffix0;
++	uint32_t suffix1;
 +};
 +
 +struct drm_nouveau_gem_pin {


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1736
retrieving revision 1.1737
diff -u -p -r1.1736 -r1.1737
--- kernel.spec	25 Aug 2009 00:57:46 -0000	1.1736
+++ kernel.spec	25 Aug 2009 03:15:09 -0000	1.1737
@@ -2011,6 +2011,9 @@ fi
 # and build.
 
 %changelog
+* Tue Aug 25 2009 Ben Skeggs <bskeggs at redhat.com> 2.6.31-0.174.rc7.git2
+- drm-nouveau.patch: upstream update, pre-nv50 tv-out + misc fixes
+
 * Tue Aug 25 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.31-0.173.rc7.git2
 - Fix Xen boot (#508120)
 




More information about the fedora-extras-commits mailing list