drm: Apply all changes from 2.6.33
Add nouveau driver. i915: Restore video overlay support (Closes: #560033). radeon: Enable KMS support. svn path=/dists/sid/linux-2.6/; revision=15304
This commit is contained in:
parent
7ee30c2c6c
commit
4e1a5a5116
|
@ -14,6 +14,12 @@ linux-2.6 (2.6.32-10) UNRELEASED; urgency=low
|
||||||
[ Bastian Blank ]
|
[ Bastian Blank ]
|
||||||
* Add support for Xen dom0 into its featureset.
|
* Add support for Xen dom0 into its featureset.
|
||||||
|
|
||||||
|
[ Ben Hutchings ]
|
||||||
|
* drm: Apply all changes from 2.6.33:
|
||||||
|
- Add nouveau driver
|
||||||
|
- i915: Restore video overlay support (Closes: #560033)
|
||||||
|
- radeon: Enable KMS support
|
||||||
|
|
||||||
-- maximilian attems <maks@debian.org> Thu, 25 Feb 2010 13:07:47 +0100
|
-- maximilian attems <maks@debian.org> Thu, 25 Feb 2010 13:07:47 +0100
|
||||||
|
|
||||||
linux-2.6 (2.6.32-9) unstable; urgency=high
|
linux-2.6 (2.6.32-9) unstable; urgency=high
|
||||||
|
|
|
@ -199,6 +199,14 @@ CONFIG_DRM_RADEON=m
|
||||||
CONFIG_DRM_MGA=m
|
CONFIG_DRM_MGA=m
|
||||||
CONFIG_DRM_SIS=m
|
CONFIG_DRM_SIS=m
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
CONFIG_DRM_NOUVEAU=m
|
||||||
|
# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set
|
||||||
|
# CONFIG_DRM_NOUVEAU_DEBUG is not set
|
||||||
|
CONFIG_DRM_I2C_CH7006=m
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hid/usbhid/Kconfig
|
## file: drivers/hid/usbhid/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -318,11 +318,21 @@ CONFIG_FIREWIRE_NET=m
|
||||||
CONFIG_DRM_VIA=m
|
CONFIG_DRM_VIA=m
|
||||||
CONFIG_DRM_SAVAGE=m
|
CONFIG_DRM_SAVAGE=m
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
# CONFIG_DRM_NOUVEAU is not set
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/gpu/drm/radeon/Kconfig
|
## file: drivers/gpu/drm/radeon/Kconfig
|
||||||
##
|
##
|
||||||
# CONFIG_DRM_RADEON_KMS is not set
|
# CONFIG_DRM_RADEON_KMS is not set
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/vmwgfx/Kconfig
|
||||||
|
##
|
||||||
|
# CONFIG_DRM_VMWGFX is not set
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hid/Kconfig
|
## file: drivers/hid/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -135,6 +135,14 @@ CONFIG_DRM_RADEON=m
|
||||||
CONFIG_DRM_MGA=m
|
CONFIG_DRM_MGA=m
|
||||||
CONFIG_DRM_SIS=m
|
CONFIG_DRM_SIS=m
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
CONFIG_DRM_NOUVEAU=m
|
||||||
|
# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set
|
||||||
|
# CONFIG_DRM_NOUVEAU_DEBUG is not set
|
||||||
|
CONFIG_DRM_I2C_CH7006=m
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hid/usbhid/Kconfig
|
## file: drivers/hid/usbhid/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -367,6 +367,14 @@ CONFIG_DRM_I915=m
|
||||||
CONFIG_DRM_MGA=m
|
CONFIG_DRM_MGA=m
|
||||||
CONFIG_DRM_SIS=m
|
CONFIG_DRM_SIS=m
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
CONFIG_DRM_NOUVEAU=m
|
||||||
|
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
|
||||||
|
# CONFIG_DRM_NOUVEAU_DEBUG is not set
|
||||||
|
CONFIG_DRM_I2C_CH7006=m
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hid/usbhid/Kconfig
|
## file: drivers/hid/usbhid/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -259,6 +259,14 @@ CONFIG_DRM_MGA=m
|
||||||
CONFIG_DRM_VIA=m
|
CONFIG_DRM_VIA=m
|
||||||
CONFIG_DRM_SAVAGE=m
|
CONFIG_DRM_SAVAGE=m
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
CONFIG_DRM_NOUVEAU=m
|
||||||
|
# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set
|
||||||
|
# CONFIG_DRM_NOUVEAU_DEBUG is not set
|
||||||
|
CONFIG_DRM_I2C_CH7006=m
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hwmon/Kconfig
|
## file: drivers/hwmon/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -251,6 +251,14 @@ CONFIG_DRM_MGA=m
|
||||||
CONFIG_DRM_VIA=m
|
CONFIG_DRM_VIA=m
|
||||||
CONFIG_DRM_SAVAGE=m
|
CONFIG_DRM_SAVAGE=m
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
CONFIG_DRM_NOUVEAU=m
|
||||||
|
# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set
|
||||||
|
# CONFIG_DRM_NOUVEAU_DEBUG is not set
|
||||||
|
CONFIG_DRM_I2C_CH7006=m
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hwmon/Kconfig
|
## file: drivers/hwmon/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -177,6 +177,14 @@ CONFIG_DRM_RADEON=m
|
||||||
CONFIG_DRM_MGA=m
|
CONFIG_DRM_MGA=m
|
||||||
# CONFIG_DRM_SIS is not set
|
# CONFIG_DRM_SIS is not set
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
CONFIG_DRM_NOUVEAU=m
|
||||||
|
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
|
||||||
|
# CONFIG_DRM_NOUVEAU_DEBUG is not set
|
||||||
|
CONFIG_DRM_I2C_CH7006=m
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hid/usbhid/Kconfig
|
## file: drivers/hid/usbhid/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -56,6 +56,14 @@ CONFIG_DRM_R128=m
|
||||||
CONFIG_DRM_RADEON=m
|
CONFIG_DRM_RADEON=m
|
||||||
CONFIG_DRM_MGA=m
|
CONFIG_DRM_MGA=m
|
||||||
|
|
||||||
|
##
|
||||||
|
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||||
|
##
|
||||||
|
CONFIG_DRM_NOUVEAU=m
|
||||||
|
# CONFIG_DRM_NOUVEAU_BACKLIGHT is not set
|
||||||
|
# CONFIG_DRM_NOUVEAU_DEBUG is not set
|
||||||
|
CONFIG_DRM_I2C_CH7006=m
|
||||||
|
|
||||||
##
|
##
|
||||||
## file: drivers/hid/usbhid/Kconfig
|
## file: drivers/hid/usbhid/Kconfig
|
||||||
##
|
##
|
||||||
|
|
|
@ -0,0 +1,140 @@
|
||||||
|
From: Ben Hutchings <ben@decadent.org.uk>
|
||||||
|
Subject: [PATCH] drm: Revert "lib: Introduce generic list_sort function"
|
||||||
|
|
||||||
|
This reverts commit 2c761270d5520dd84ab0b4e47c24d99ff8503c38
|
||||||
|
"lib: Introduce generic list_sort function" in drivers/gpu/drm, which
|
||||||
|
was included in drm-2.6.32.9-2.6.33.patch. We don't want to include
|
||||||
|
that change from 2.6.33. However, we do declare list_sort() as static.
|
||||||
|
|
||||||
|
--- a/drivers/gpu/drm/drm_modes.c
|
||||||
|
+++ b/drivers/gpu/drm/drm_modes.c
|
||||||
|
@@ -1,4 +1,9 @@
|
||||||
|
/*
|
||||||
|
+ * The list_sort function is (presumably) licensed under the GPL (see the
|
||||||
|
+ * top level "COPYING" file for details).
|
||||||
|
+ *
|
||||||
|
+ * The remainder of this file is:
|
||||||
|
+ *
|
||||||
|
* Copyright © 1997-2003 by The XFree86 Project, Inc.
|
||||||
|
* Copyright © 2007 Dave Airlie
|
||||||
|
* Copyright © 2007-2008 Intel Corporation
|
||||||
|
@@ -31,7 +36,6 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/list.h>
|
||||||
|
-#include <linux/list_sort.h>
|
||||||
|
#include "drmP.h"
|
||||||
|
#include "drm.h"
|
||||||
|
#include "drm_crtc.h"
|
||||||
|
@@ -851,7 +855,6 @@ EXPORT_SYMBOL(drm_mode_prune_invalid);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_mode_compare - compare modes for favorability
|
||||||
|
- * @priv: unused
|
||||||
|
* @lh_a: list_head for first mode
|
||||||
|
* @lh_b: list_head for second mode
|
||||||
|
*
|
||||||
|
@@ -865,7 +868,7 @@ EXPORT_SYMBOL(drm_mode_prune_invalid);
|
||||||
|
* Negative if @lh_a is better than @lh_b, zero if they're equivalent, or
|
||||||
|
* positive if @lh_b is better than @lh_a.
|
||||||
|
*/
|
||||||
|
-static int drm_mode_compare(void *priv, struct list_head *lh_a, struct list_head *lh_b)
|
||||||
|
+static int drm_mode_compare(struct list_head *lh_a, struct list_head *lh_b)
|
||||||
|
{
|
||||||
|
struct drm_display_mode *a = list_entry(lh_a, struct drm_display_mode, head);
|
||||||
|
struct drm_display_mode *b = list_entry(lh_b, struct drm_display_mode, head);
|
||||||
|
@@ -882,6 +885,85 @@ static int drm_mode_compare(void *priv, struct list_head *lh_a, struct list_head
|
||||||
|
return diff;
|
||||||
|
}
|
||||||
|
|
||||||
|
+/* FIXME: what we don't have a list sort function? */
|
||||||
|
+/* list sort from Mark J Roberts (mjr@znex.org) */
|
||||||
|
+static void list_sort(struct list_head *head,
|
||||||
|
+ int (*cmp)(struct list_head *a, struct list_head *b))
|
||||||
|
+{
|
||||||
|
+ struct list_head *p, *q, *e, *list, *tail, *oldhead;
|
||||||
|
+ int insize, nmerges, psize, qsize, i;
|
||||||
|
+
|
||||||
|
+ list = head->next;
|
||||||
|
+ list_del(head);
|
||||||
|
+ insize = 1;
|
||||||
|
+ for (;;) {
|
||||||
|
+ p = oldhead = list;
|
||||||
|
+ list = tail = NULL;
|
||||||
|
+ nmerges = 0;
|
||||||
|
+
|
||||||
|
+ while (p) {
|
||||||
|
+ nmerges++;
|
||||||
|
+ q = p;
|
||||||
|
+ psize = 0;
|
||||||
|
+ for (i = 0; i < insize; i++) {
|
||||||
|
+ psize++;
|
||||||
|
+ q = q->next == oldhead ? NULL : q->next;
|
||||||
|
+ if (!q)
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ qsize = insize;
|
||||||
|
+ while (psize > 0 || (qsize > 0 && q)) {
|
||||||
|
+ if (!psize) {
|
||||||
|
+ e = q;
|
||||||
|
+ q = q->next;
|
||||||
|
+ qsize--;
|
||||||
|
+ if (q == oldhead)
|
||||||
|
+ q = NULL;
|
||||||
|
+ } else if (!qsize || !q) {
|
||||||
|
+ e = p;
|
||||||
|
+ p = p->next;
|
||||||
|
+ psize--;
|
||||||
|
+ if (p == oldhead)
|
||||||
|
+ p = NULL;
|
||||||
|
+ } else if (cmp(p, q) <= 0) {
|
||||||
|
+ e = p;
|
||||||
|
+ p = p->next;
|
||||||
|
+ psize--;
|
||||||
|
+ if (p == oldhead)
|
||||||
|
+ p = NULL;
|
||||||
|
+ } else {
|
||||||
|
+ e = q;
|
||||||
|
+ q = q->next;
|
||||||
|
+ qsize--;
|
||||||
|
+ if (q == oldhead)
|
||||||
|
+ q = NULL;
|
||||||
|
+ }
|
||||||
|
+ if (tail)
|
||||||
|
+ tail->next = e;
|
||||||
|
+ else
|
||||||
|
+ list = e;
|
||||||
|
+ e->prev = tail;
|
||||||
|
+ tail = e;
|
||||||
|
+ }
|
||||||
|
+ p = q;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ tail->next = list;
|
||||||
|
+ list->prev = tail;
|
||||||
|
+
|
||||||
|
+ if (nmerges <= 1)
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
+ insize *= 2;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ head->next = list;
|
||||||
|
+ head->prev = list->prev;
|
||||||
|
+ list->prev->next = head;
|
||||||
|
+ list->prev = head;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* drm_mode_sort - sort mode list
|
||||||
|
* @mode_list: list to sort
|
||||||
|
@@ -893,7 +975,7 @@ static int drm_mode_compare(void *priv, struct list_head *lh_a, struct list_head
|
||||||
|
*/
|
||||||
|
void drm_mode_sort(struct list_head *mode_list)
|
||||||
|
{
|
||||||
|
- list_sort(NULL, mode_list, drm_mode_compare);
|
||||||
|
+ list_sort(mode_list, drm_mode_compare);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_mode_sort);
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
--- a/drivers/staging/Kconfig
|
||||||
|
+++ b/drivers/staging/Kconfig
|
||||||
|
@@ -101,8 +101,10 @@
|
||||||
|
|
||||||
|
source "drivers/staging/line6/Kconfig"
|
||||||
|
|
||||||
|
-source "drivers/gpu/drm/radeon/Kconfig"
|
||||||
|
-
|
||||||
|
+source "drivers/gpu/drm/vmwgfx/Kconfig"
|
||||||
|
+
|
||||||
|
+source "drivers/gpu/drm/nouveau/Kconfig"
|
||||||
|
+
|
||||||
|
source "drivers/staging/octeon/Kconfig"
|
||||||
|
|
||||||
|
source "drivers/staging/serqt_usb2/Kconfig"
|
File diff suppressed because it is too large
Load Diff
12
debian/patches/features/all/radeon-autoload-without-CONFIG_DRM_RADEON_KMS.patch
vendored
Normal file
12
debian/patches/features/all/radeon-autoload-without-CONFIG_DRM_RADEON_KMS.patch
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
--- a/drivers/gpu/drm/radeon/radeon_drv.c
|
||||||
|
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
|
||||||
|
@@ -160,9 +160,7 @@
|
||||||
|
radeon_PCI_IDS
|
||||||
|
};
|
||||||
|
|
||||||
|
-#if defined(CONFIG_DRM_RADEON_KMS)
|
||||||
|
MODULE_DEVICE_TABLE(pci, pciidlist);
|
||||||
|
-#endif
|
||||||
|
|
||||||
|
static struct drm_driver driver_old = {
|
||||||
|
.driver_features =
|
|
@ -1,2 +1,10 @@
|
||||||
+ bugfix/all/tcp-fix-ICMP-RTO-war.patch
|
+ bugfix/all/tcp-fix-ICMP-RTO-war.patch
|
||||||
+ bugfix/sparc/stack-alignment.patch
|
+ bugfix/sparc/stack-alignment.patch
|
||||||
|
- bugfix/all/radeon_block_ability_userspace_app.patch
|
||||||
|
- bugfix/all/drm-i915-give-up-on-8xx-lid-status.patch
|
||||||
|
- bugfix/all/drm-i915-disable-powersave.patch
|
||||||
|
- features/all/i915-autoload-without-CONFIG_DRM_I915_KMS.patch
|
||||||
|
+ features/all/drm-2.6.32.9-2.6.33.patch
|
||||||
|
+ debian/drm-staging-2.6.32.9-2.6.33.patch
|
||||||
|
+ debian/drm-restore-private-list_sort.patch
|
||||||
|
+ features/all/radeon-autoload-without-CONFIG_DRM_RADEON_KMS.patch
|
||||||
|
|
Loading…
Reference in New Issue