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 ]
|
||||
* 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
|
||||
|
||||
linux-2.6 (2.6.32-9) unstable; urgency=high
|
||||
|
|
|
@ -199,6 +199,14 @@ CONFIG_DRM_RADEON=m
|
|||
CONFIG_DRM_MGA=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
|
||||
##
|
||||
|
|
|
@ -318,11 +318,21 @@ CONFIG_FIREWIRE_NET=m
|
|||
CONFIG_DRM_VIA=m
|
||||
CONFIG_DRM_SAVAGE=m
|
||||
|
||||
##
|
||||
## file: drivers/gpu/drm/nouveau/Kconfig
|
||||
##
|
||||
# CONFIG_DRM_NOUVEAU is not set
|
||||
|
||||
##
|
||||
## file: drivers/gpu/drm/radeon/Kconfig
|
||||
##
|
||||
# CONFIG_DRM_RADEON_KMS is not set
|
||||
|
||||
##
|
||||
## file: drivers/gpu/drm/vmwgfx/Kconfig
|
||||
##
|
||||
# CONFIG_DRM_VMWGFX is not set
|
||||
|
||||
##
|
||||
## file: drivers/hid/Kconfig
|
||||
##
|
||||
|
|
|
@ -135,6 +135,14 @@ CONFIG_DRM_RADEON=m
|
|||
CONFIG_DRM_MGA=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
|
||||
##
|
||||
|
|
|
@ -367,6 +367,14 @@ CONFIG_DRM_I915=m
|
|||
CONFIG_DRM_MGA=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
|
||||
##
|
||||
|
|
|
@ -259,6 +259,14 @@ CONFIG_DRM_MGA=m
|
|||
CONFIG_DRM_VIA=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
|
||||
##
|
||||
|
|
|
@ -251,6 +251,14 @@ CONFIG_DRM_MGA=m
|
|||
CONFIG_DRM_VIA=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
|
||||
##
|
||||
|
|
|
@ -177,6 +177,14 @@ CONFIG_DRM_RADEON=m
|
|||
CONFIG_DRM_MGA=m
|
||||
# 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
|
||||
##
|
||||
|
|
|
@ -56,6 +56,14 @@ CONFIG_DRM_R128=m
|
|||
CONFIG_DRM_RADEON=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
|
||||
##
|
||||
|
|
|
@ -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/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