rpms/kernel/devel drm-modesetting-radeon.patch, 1.8, 1.9 kernel.spec, 1.863, 1.864
Dave Airlie (airlied)
fedora-extras-commits at redhat.com
Fri Aug 8 04:54:19 UTC 2008
- Previous message (by thread): rpms/perl-Devel-StackTrace/F-9 .cvsignore, 1.9, 1.10 perl-Devel-StackTrace.spec, 1.15, 1.16 sources, 1.9, 1.10
- Next message (by thread): rpms/perl-IPC-Run3/devel .cvsignore, 1.4, 1.5 perl-IPC-Run3.spec, 1.11, 1.12 sources, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: airlied
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3953
Modified Files:
drm-modesetting-radeon.patch kernel.spec
Log Message:
* Fri Aug 08 2008 Dave Airlie <airlied at redhat.com>
- attempt to fix oops in drm_open
drm-modesetting-radeon.patch:
Index: drm-modesetting-radeon.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-modesetting-radeon.patch,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- drm-modesetting-radeon.patch 6 Aug 2008 06:20:55 -0000 1.8
+++ drm-modesetting-radeon.patch 8 Aug 2008 04:53:49 -0000 1.9
@@ -8187,7 +8187,7 @@
+}
+
diff --git a/drivers/gpu/drm/drm_fops.c b/drivers/gpu/drm/drm_fops.c
-index 851a53f..9a50462 100644
+index 851a53f..db1a27d 100644
--- a/drivers/gpu/drm/drm_fops.c
+++ b/drivers/gpu/drm/drm_fops.c
@@ -44,10 +44,8 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
@@ -8234,7 +8234,7 @@
dev->context_flag = 0;
dev->interrupt_flag = 0;
dev->dma_flag = 0;
-@@ -147,10 +133,18 @@ int drm_open(struct inode *inode, struct file *filp)
+@@ -147,10 +133,20 @@ int drm_open(struct inode *inode, struct file *filp)
spin_lock(&dev->count_lock);
if (!dev->open_count++) {
spin_unlock(&dev->count_lock);
@@ -8246,15 +8246,17 @@
}
+out:
+ mutex_lock(&dev->struct_mutex);
-+ BUG_ON((dev->dev_mapping != NULL) &&
-+ (dev->dev_mapping != inode->i_mapping));
-+ if (dev->dev_mapping == NULL)
-+ dev->dev_mapping = inode->i_mapping;
++ if (minor->type == DRM_MINOR_LEGACY) {
++ BUG_ON((dev->dev_mapping != NULL) &&
++ (dev->dev_mapping != inode->i_mapping));
++ if (dev->dev_mapping == NULL)
++ dev->dev_mapping = inode->i_mapping;
++ }
+ mutex_unlock(&dev->struct_mutex);
return retcode;
}
-@@ -255,6 +249,10 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
+@@ -255,6 +251,10 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
priv->lock_count = 0;
INIT_LIST_HEAD(&priv->lhead);
@@ -8265,7 +8267,7 @@
if (dev->driver->open) {
ret = dev->driver->open(dev, priv);
-@@ -262,10 +260,42 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
+@@ -262,10 +262,42 @@ static int drm_open_helper(struct inode *inode, struct file *filp,
goto out_free;
}
@@ -8281,7 +8283,7 @@
+ ret = -ENOMEM;
+ goto out_free;
+ }
-+
+
+ priv->is_master = 1;
+ /* take another reference for the copy in the local file priv */
+ priv->master = drm_master_get(priv->minor->master);
@@ -8305,12 +8307,12 @@
+ priv->master = drm_master_get(priv->minor->master);
+ mutex_unlock(&dev->struct_mutex);
+ }
-
++
+ mutex_lock(&dev->struct_mutex);
list_add(&priv->lhead, &dev->filelist);
mutex_unlock(&dev->struct_mutex);
-@@ -345,60 +375,67 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -345,60 +377,67 @@ int drm_release(struct inode *inode, struct file *filp)
(long)old_encode_dev(file_priv->minor->device),
dev->open_count);
@@ -8424,7 +8426,7 @@
drm_fasync(-1, filp, 0);
-@@ -423,13 +460,30 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -423,13 +462,30 @@ int drm_release(struct inode *inode, struct file *filp)
}
mutex_unlock(&dev->ctxlist_mutex);
@@ -8458,7 +8460,7 @@
list_del(&file_priv->lhead);
mutex_unlock(&dev->struct_mutex);
-@@ -444,9 +498,9 @@ int drm_release(struct inode *inode, struct file *filp)
+@@ -444,9 +500,9 @@ int drm_release(struct inode *inode, struct file *filp)
atomic_inc(&dev->counts[_DRM_STAT_CLOSES]);
spin_lock(&dev->count_lock);
if (!--dev->open_count) {
@@ -18720,7 +18722,7 @@
+
+#endif /* _I915_REG_H_ */
diff --git a/drivers/gpu/drm/radeon/Makefile b/drivers/gpu/drm/radeon/Makefile
-index feb521e..d562350 100644
+index feb521e..d4c5bdd 100644
--- a/drivers/gpu/drm/radeon/Makefile
+++ b/drivers/gpu/drm/radeon/Makefile
@@ -3,7 +3,10 @@
@@ -18731,7 +18733,7 @@
+radeon-y := radeon_drv.o radeon_cp.o radeon_state.o radeon_mem.o radeon_irq.o r300_cmdbuf.o \
+ radeon_gem.o radeon_buffer.o radeon_fence.o radeon_cs.o \
+ radeon_i2c.o radeon_fb.o radeon_encoders.o radeon_connectors.o radeon_display.o \
-+ atombios_crtc.o atom.o radeon_atombios.o radeon_combios.o
++ atombios_crtc.o atom.o radeon_atombios.o radeon_combios.o radeon_legacy_crtc.o
radeon-$(CONFIG_COMPAT) += radeon_ioc32.o
@@ -26746,10 +26748,10 @@
+}
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
new file mode 100644
-index 0000000..e2b768c
+index 0000000..8a1dd8b
--- /dev/null
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
-@@ -0,0 +1,381 @@
+@@ -0,0 +1,420 @@
+/*
+ * Copyright 2004 ATI Technologies Inc., Markham, Ontario
+ * Copyright 2007-8 Advanced Micro Devices, Inc.
@@ -26927,6 +26929,45 @@
+ return true;
+}
+
++bool radeon_combios_get_tmds_info(struct radeon_encoder *encoder)
++{
++ struct drm_device *dev = encoder->base.dev;
++ struct drm_radeon_private *dev_priv = dev->dev_private;
++ uint16_t tmp;
++ int i, n;
++ uint8_t ver;
++
++ tmp = radeon_bios16(dev_priv, dev_priv->bios_header_start + 0x34);
++ if (!tmp) {
++ DRM_INFO("No TMDS info found in BIOS\n");
++ return false;
++ }
++
++ ver = radeon_bios8(dev_priv, tmp);
++ DRM_INFO("DFP table revision: %d\n", ver);
++ if (ver == 3) {
++ n = radeon_bios8(dev_priv, tmp + 5) + 1;
++ if (n > 4) n = 4;
++ for (i = 0; i < n; i++) {
++ encoder->tmds_pll[i].value = radeon_bios32(dev_priv, tmp+i*10+0x08);
++ encoder->tmds_pll[i].freq = radeon_bios16(dev_priv, tmp+i*10+0x10);
++ }
++ return true;
++ } else if (ver == 4) {
++ int stride = 0;
++ n = radeon_bios8(dev_priv, tmp + 5) + 1;
++ if (n > 4) n = 4;
++ for (i = 0; i < n; i++) {
++ encoder->tmds_pll[i].value = radeon_bios32(dev_priv, tmp+stride+0x08);
++ encoder->tmds_pll[i].freq = radeon_bios16(dev_priv, tmp+stride+0x10);
++ if (i == 0) stride += 10;
++ else stride += 6;
++ }
++ return true;
++ }
++ return false;
++}
++
+static void radeon_apply_legacy_quirks(struct drm_device *dev, int bios_index)
+{
+ struct drm_radeon_private *dev_priv = dev->dev_private;
@@ -29288,10 +29329,10 @@
+}
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
new file mode 100644
-index 0000000..7a7b585
+index 0000000..1e5233d
--- /dev/null
+++ b/drivers/gpu/drm/radeon/radeon_display.c
-@@ -0,0 +1,725 @@
+@@ -0,0 +1,695 @@
+/*
+ * Copyright 2007-8 Advanced Micro Devices, Inc.
+ * Copyright 2008 Red Hat Inc.
@@ -29410,39 +29451,8 @@
+ radeon_crtc->lut_b[regno] = blue >> 8;
+}
+
-+void radeon_crtc_dpms(struct drm_crtc *crtc, int mode)
-+{
-+}
-+
+
+
-+static bool radeon_crtc_mode_fixup(struct drm_crtc *crtc,
-+ struct drm_display_mode *mode,
-+ struct drm_display_mode *adjusted_mode)
-+{
-+ return true;
-+}
-+
-+static void radeon_crtc_mode_set(struct drm_crtc *crtc,
-+ struct drm_display_mode *mode,
-+ struct drm_display_mode *adjusted_mode,
-+ int x, int y)
-+{
-+
-+}
-+
-+void radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y)
-+{
-+}
-+
-+static void radeon_crtc_prepare(struct drm_crtc *crtc)
-+{
-+}
-+
-+static void radeon_crtc_commit(struct drm_crtc *crtc)
-+{
-+}
-+
+static void avivo_lock_cursor(struct drm_crtc *crtc, bool lock)
+{
+ struct drm_radeon_private *dev_priv = crtc->dev->dev_private;
@@ -29557,15 +29567,6 @@
+ kfree(radeon_crtc);
+}
+
-+static const struct drm_crtc_helper_funcs radeon_helper_funcs = {
-+ .dpms = radeon_crtc_dpms,
-+ .mode_fixup = radeon_crtc_mode_fixup,
-+ .mode_set = radeon_crtc_mode_set,
-+ .mode_set_base = radeon_crtc_set_base,
-+ .prepare = radeon_crtc_prepare,
-+ .commit = radeon_crtc_commit,
-+};
-+
+static const struct drm_crtc_funcs radeon_crtc_funcs = {
+ .cursor_set = radeon_crtc_cursor_set,
+ .cursor_move = radeon_crtc_cursor_move,
@@ -29603,7 +29604,7 @@
+ if (dev_priv->is_atom_bios && dev_priv->chip_family > CHIP_RS690)
+ radeon_atombios_init_crtc(dev, radeon_crtc);
+ else
-+ drm_crtc_helper_add(&radeon_crtc->base, &radeon_helper_funcs);
++ radeon_legacy_init_crtc(dev, radeon_crtc);
+}
+
+bool radeon_legacy_setup_enc_conn(struct drm_device *dev)
@@ -29654,8 +29655,14 @@
+ if ((mode_info->bios_connector[i].connector_type == CONNECTOR_DVI_I) ||
+ (mode_info->bios_connector[i].connector_type == CONNECTOR_DVI_A) ||
+ (mode_info->bios_connector[i].connector_type == CONNECTOR_VGA)) {
-+ if (radeon_is_avivo(dev_priv))
++ if (radeon_is_avivo(dev_priv)) {
+ encoder = radeon_encoder_atom_dac_add(dev, i, mode_info->bios_connector[i].dac_type, 0);
++ } else {
++ if (mode_info->bios_connector[i].dac_type == DAC_PRIMARY)
++ encoder = radeon_encoder_legacy_primary_dac_add(dev, i, 0);
++// else if (mode_info->bios_connector[i].dac_type == DAC_TVDAC)
++// encoder radeon_encoder_legacy_secondary_dac_add(dev, i, 0);
++ }
+ if (encoder)
+ drm_mode_connector_attach_encoder(connector, encoder);
+ }
@@ -29665,6 +29672,10 @@
+ (mode_info->bios_connector[i].connector_type == CONNECTOR_DVI_D)) {
+ if (radeon_is_avivo(dev_priv))
+ encoder = radeon_encoder_atom_tmds_add(dev, i, mode_info->bios_connector[i].dac_type);
++ else {
++ if (mode_info->bios_connector[i].tmds_type == TMDS_INT)
++ encoder = radeon_encoder_legacy_tmds_int_add(dev, i);
++ }
+ if (encoder)
+ drm_mode_connector_attach_encoder(connector, encoder);
+ }
@@ -30018,7 +30029,7 @@
+}
+
diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
-index 349ac3d..fdc559c 100644
+index 637bd7f..dfe95db 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -37,10 +37,17 @@
@@ -30740,10 +30751,10 @@
#endif /* __RADEON_DRV_H__ */
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c
new file mode 100644
-index 0000000..1b75bd6
+index 0000000..9d07c77
--- /dev/null
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
-@@ -0,0 +1,962 @@
+@@ -0,0 +1,1099 @@
+/*
+ * Copyright 2007-8 Advanced Micro Devices, Inc.
+ * Copyright 2008 Red Hat Inc.
@@ -31677,6 +31688,7 @@
+ .destroy = radeon_enc_destroy,
+};
+
++
+struct drm_encoder *radeon_encoder_legacy_lvds_add(struct drm_device *dev, int bios_index)
+{
+ struct drm_radeon_private *dev_priv = dev->dev_private;
@@ -31706,6 +31718,142 @@
+
+ return encoder;
+}
++
++static bool radeon_legacy_primary_dac_mode_fixup(struct drm_encoder *encoder,
++ struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode)
++{
++
++}
++
++static void radeon_legacy_primary_dac_dpms(struct drm_encoder *encoder, int mode)
++{
++
++
++}
++
++static void radeon_legacy_primary_dac_prepare(struct drm_encoder *encoder)
++{
++ radeon_legacy_primary_dac_dpms(encoder, DRM_MODE_DPMS_OFF);
++}
++
++static void radeon_legacy_primary_dac_commit(struct drm_encoder *encoder)
++{
++ radeon_legacy_primary_dac_dpms(encoder, DRM_MODE_DPMS_ON);
++}
++
++static void radeon_legacy_primary_dac_mode_set(struct drm_encoder *encoder,
++ struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode)
++{
++
++
++}
++
++static const struct drm_encoder_helper_funcs radeon_legacy_primary_dac_helper_funcs = {
++ .dpms = radeon_legacy_primary_dac_dpms,
++ .mode_fixup = radeon_legacy_primary_dac_mode_fixup,
++ .prepare = radeon_legacy_primary_dac_prepare,
++ .mode_set = radeon_legacy_primary_dac_mode_set,
++ .commit = radeon_legacy_primary_dac_commit,
++};
++
++
++static const struct drm_encoder_funcs radeon_legacy_primary_dac_enc_funcs = {
++ .destroy = radeon_enc_destroy,
++};
++
++struct drm_encoder *radeon_encoder_legacy_primary_dac_add(struct drm_device *dev, int bios_index, int has_tv)
++{
++ struct drm_radeon_private *dev_priv = dev->dev_private;
++ struct radeon_mode_info *mode_info = &dev_priv->mode_info;
++ struct radeon_encoder *radeon_encoder;
++ struct drm_encoder *encoder;
++ radeon_encoder = kzalloc(sizeof(struct radeon_encoder), GFP_KERNEL);
++ if (!radeon_encoder) {
++ return NULL;
++ }
++
++ encoder = &radeon_encoder->base;
++
++ encoder->possible_crtcs = 0x3;
++ encoder->possible_clones = 0;
++ drm_encoder_init(dev, encoder, &radeon_legacy_primary_dac_enc_funcs,
++ DRM_MODE_ENCODER_DAC);
++
++ drm_encoder_helper_add(encoder, &radeon_legacy_primary_dac_helper_funcs);
++
++ return encoder;
++}
++
++
++static bool radeon_legacy_tmds_int_mode_fixup(struct drm_encoder *encoder,
++ struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode)
++{
++
++}
++
++static void radeon_legacy_tmds_int_dpms(struct drm_encoder *encoder, int mode)
++{
++ /* dfp1 */
++
++}
++
++static void radeon_legacy_tmds_int_prepare(struct drm_encoder *encoder)
++{
++ radeon_legacy_tmds_int_dpms(encoder, DRM_MODE_DPMS_OFF);
++}
++
++static void radeon_legacy_tmds_int_commit(struct drm_encoder *encoder)
++{
++ radeon_legacy_tmds_int_dpms(encoder, DRM_MODE_DPMS_ON);
++}
++
++static void radeon_legacy_tmds_int_mode_set(struct drm_encoder *encoder,
++ struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode)
++{
++
++
++}
++
++static const struct drm_encoder_helper_funcs radeon_legacy_tmds_int_helper_funcs = {
++ .dpms = radeon_legacy_tmds_int_dpms,
++ .mode_fixup = radeon_legacy_tmds_int_mode_fixup,
++ .prepare = radeon_legacy_tmds_int_prepare,
++ .mode_set = radeon_legacy_tmds_int_mode_set,
++ .commit = radeon_legacy_tmds_int_commit,
++};
++
++
++static const struct drm_encoder_funcs radeon_legacy_tmds_int_enc_funcs = {
++ .destroy = radeon_enc_destroy,
++};
++
++struct drm_encoder *radeon_encoder_legacy_tmds_int_add(struct drm_device *dev, int bios_index)
++{
++ struct drm_radeon_private *dev_priv = dev->dev_private;
++ struct radeon_mode_info *mode_info = &dev_priv->mode_info;
++ struct radeon_encoder *radeon_encoder;
++ struct drm_encoder *encoder;
++ radeon_encoder = kzalloc(sizeof(struct radeon_encoder), GFP_KERNEL);
++ if (!radeon_encoder) {
++ return NULL;
++ }
++
++ encoder = &radeon_encoder->base;
++
++ encoder->possible_crtcs = 0x3;
++ encoder->possible_clones = 0;
++ drm_encoder_init(dev, encoder, &radeon_legacy_tmds_int_enc_funcs,
++ DRM_MODE_ENCODER_TMDS);
++
++ drm_encoder_helper_add(encoder, &radeon_legacy_tmds_int_helper_funcs);
++
++ radeon_combios_get_tmds_info(radeon_encoder);
++ return encoder;
++}
diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c
new file mode 100644
index 0000000..2da5cc0
@@ -33807,12 +33955,97 @@
DRM_INIT_WAITQUEUE(&dev_priv->swi_queue);
radeon_enable_interrupt(dev);
+diff --git a/drivers/gpu/drm/radeon/radeon_legacy_crtc.c b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
+new file mode 100644
+index 0000000..3fe01fa
+--- /dev/null
++++ b/drivers/gpu/drm/radeon/radeon_legacy_crtc.c
+@@ -0,0 +1,79 @@
++/*
++ * Copyright 2007-8 Advanced Micro Devices, Inc.
++ * Copyright 2008 Red Hat Inc.
++ *
++ * 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 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 HOLDER(S) OR AUTHOR(S) 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.
++ *
++ * Authors: Dave Airlie
++ * Alex Deucher
++ */
++#include "drmP.h"
++#include "radeon_drm.h"
++#include "radeon_drv.h"
++
++#include "drm_crtc_helper.h"
++
++void radeon_crtc_dpms(struct drm_crtc *crtc, int mode)
++{
++}
++
++
++
++static bool radeon_crtc_mode_fixup(struct drm_crtc *crtc,
++ struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode)
++{
++ return true;
++}
++
++static void radeon_crtc_mode_set(struct drm_crtc *crtc,
++ struct drm_display_mode *mode,
++ struct drm_display_mode *adjusted_mode,
++ int x, int y)
++{
++
++}
++
++void radeon_crtc_set_base(struct drm_crtc *crtc, int x, int y)
++{
++}
++
++static void radeon_crtc_prepare(struct drm_crtc *crtc)
++{
++}
++
++static void radeon_crtc_commit(struct drm_crtc *crtc)
++{
++}
++
++static const struct drm_crtc_helper_funcs legacy_helper_funcs = {
++ .dpms = radeon_crtc_dpms,
++ .mode_fixup = radeon_crtc_mode_fixup,
++ .mode_set = radeon_crtc_mode_set,
++ .mode_set_base = radeon_crtc_set_base,
++ .prepare = radeon_crtc_prepare,
++ .commit = radeon_crtc_commit,
++};
++
++
++void radeon_legacy_init_crtc(struct drm_device *dev,
++ struct radeon_crtc *radeon_crtc)
++{
++ drm_crtc_helper_add(&radeon_crtc->base, &legacy_helper_funcs);
++}
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
new file mode 100644
-index 0000000..f75e827
+index 0000000..2a588a3
--- /dev/null
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
-@@ -0,0 +1,255 @@
+@@ -0,0 +1,266 @@
+/*
+ * Copyright 2000 ATI Technologies Inc., Markham, Ontario, and
+ * VA Linux Systems Inc., Fremont, California.
@@ -33930,6 +34163,11 @@
+ int igp_lane_info;
+};
+
++struct radeon_tmds_pll {
++ uint32_t freq;
++ uint32_t value;
++};
++
+#define RADEON_MAX_BIOS_CONNECTOR 16
+
+#define RADEON_PLL_USE_BIOS_DIVS (1 << 0)
@@ -34000,6 +34238,7 @@
+ uint32_t vblank;
+ uint32_t panel_pwr_delay;
+ uint32_t dotclock;
++ struct radeon_tmds_pll tmds_pll[4];
+};
+
+struct radeon_connector {
@@ -34036,6 +34275,8 @@
+struct drm_encoder *radeon_encoder_atom_dac_add(struct drm_device *dev, int bios_index, int dac_id, int with_tv);
+struct drm_encoder *radeon_encoder_atom_tmds_add(struct drm_device *dev, int bios_index, int tmds_type);
+struct drm_encoder *radeon_encoder_legacy_lvds_add(struct drm_device *dev, int bios_index);
++struct drm_encoder *radeon_encoder_legacy_primary_dac_add(struct drm_device *dev, int bios_index, int with_tv);
++struct drm_encoder *radeon_encoder_legacy_tmds_int_add(struct drm_device *dev, int bios_index);
+
+extern void radeon_crtc_load_lut(struct drm_crtc *crtc);
+extern void atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y);
@@ -34048,6 +34289,7 @@
+extern bool radeon_combios_get_clock_info(struct drm_device *dev);
+extern void radeon_get_lvds_info(struct radeon_encoder *encoder);
+extern bool radeon_combios_get_lvds_info(struct radeon_encoder *encoder);
++extern bool radeon_combios_get_tmds_info(struct radeon_encoder *encoder);
+extern void radeon_crtc_fb_gamma_set(struct drm_crtc *crtc, u16 red, u16 green,
+ u16 blue, int regno);
+struct drm_framebuffer *radeon_user_framebuffer_create(struct drm_device *dev,
@@ -34060,6 +34302,8 @@
+bool radeon_get_legacy_connector_info_from_bios(struct drm_device *dev);
+void radeon_atombios_init_crtc(struct drm_device *dev,
+ struct radeon_crtc *radeon_crtc);
++void radeon_legacy_init_crtc(struct drm_device *dev,
++ struct radeon_crtc *radeon_crtc);
+void avivo_i2c_do_lock(struct radeon_connector *radeon_connector, int lock_state);
+
+void radeon_atom_static_pwrmgt_setup(struct drm_device *dev, int enable);
@@ -43565,7 +43809,7 @@
* Error values that may be returned by PCI functions.
*/
diff --git a/mm/shmem.c b/mm/shmem.c
-index c1e5a3b..7166ff3 100644
+index 04fb4f1..174d99c 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -77,14 +77,6 @@
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.863
retrieving revision 1.864
diff -u -r1.863 -r1.864
--- kernel.spec 7 Aug 2008 23:35:59 -0000 1.863
+++ kernel.spec 8 Aug 2008 04:53:49 -0000 1.864
@@ -1727,6 +1727,9 @@
%kernel_variant_files -k vmlinux %{with_kdump} kdump
%changelog
+* Fri Aug 08 2008 Dave Airlie <airlied at redhat.com>
+- attempt to fix oops in drm_open
+
* Thu Aug 07 2008 Dave Jones <davej at redhat.com>
- include/asm needs to be called such, not asm-x86.
- Previous message (by thread): rpms/perl-Devel-StackTrace/F-9 .cvsignore, 1.9, 1.10 perl-Devel-StackTrace.spec, 1.15, 1.16 sources, 1.9, 1.10
- Next message (by thread): rpms/perl-IPC-Run3/devel .cvsignore, 1.4, 1.5 perl-IPC-Run3.spec, 1.11, 1.12 sources, 1.4, 1.5
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list