aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xfree86/common
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/xfree86/common')
-rw-r--r--xorg-server/hw/xfree86/common/xf86Events.c4
-rw-r--r--xorg-server/hw/xfree86/common/xf86pciBus.c64
2 files changed, 58 insertions, 10 deletions
diff --git a/xorg-server/hw/xfree86/common/xf86Events.c b/xorg-server/hw/xfree86/common/xf86Events.c
index 377e936f7..d92174edf 100644
--- a/xorg-server/hw/xfree86/common/xf86Events.c
+++ b/xorg-server/hw/xfree86/common/xf86Events.c
@@ -272,9 +272,9 @@ xf86Wakeup(pointer blockData, int err, pointer pReadmask)
}
if (err >= 0) { /* we don't want the handlers called if select() */
- IHPtr ih; /* returned with an error condition, do we? */
+ IHPtr ih, ih_tmp; /* returned with an error condition, do we? */
- for (ih = InputHandlers; ih; ih = ih->next) {
+ nt_list_for_each_entry_safe(ih, ih_tmp, InputHandlers, next) {
if (ih->enabled && ih->fd >= 0 && ih->ihproc &&
(FD_ISSET(ih->fd, ((fd_set *) pReadmask)) != 0)) {
ih->ihproc(ih->fd, ih->data);
diff --git a/xorg-server/hw/xfree86/common/xf86pciBus.c b/xorg-server/hw/xfree86/common/xf86pciBus.c
index a2c18ebf2..258988a84 100644
--- a/xorg-server/hw/xfree86/common/xf86pciBus.c
+++ b/xorg-server/hw/xfree86/common/xf86pciBus.c
@@ -1147,14 +1147,62 @@ xf86VideoPtrToDriverList(struct pci_device *dev,
driverList[0] = "i128";
break;
case 0x8086:
- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
- driverList[0] = "i740";
- }
- else if (dev->device_id == 0x8108) {
- break; /* "hooray" for poulsbo */
- }
- else {
- driverList[0] = "intel";
+ switch (dev->device_id)
+ {
+ /* Intel i740 */
+ case 0x00d1:
+ case 0x7800:
+ driverList[0] = "i740";
+ break;
+ /* GMA500/Poulsbo */
+ case 0x8108:
+ case 0x8109:
+ /* Try psb driver on Poulsbo - if available */
+ driverList[0] = "psb";
+ driverList[1] = "psb_drv";
+ break;
+ /* GMA600/Oaktrail */
+ case 0x4100:
+ case 0x4101:
+ case 0x4102:
+ case 0x4103:
+ case 0x4104:
+ case 0x4105:
+ case 0x4106:
+ case 0x4107:
+ /* Atom E620/Oaktrail */
+ case 0x4108:
+ /* Medfield */
+ case 0x0130:
+ case 0x0131:
+ case 0x0132:
+ case 0x0133:
+ case 0x0134:
+ case 0x0135:
+ case 0x0136:
+ case 0x0137:
+ /* GMA 3600/CDV */
+ case 0x0be0:
+ case 0x0be1:
+ case 0x0be2:
+ case 0x0be3:
+ case 0x0be4:
+ case 0x0be5:
+ case 0x0be6:
+ case 0x0be7:
+ case 0x0be8:
+ case 0x0be9:
+ case 0x0bea:
+ case 0x0beb:
+ case 0x0bec:
+ case 0x0bed:
+ case 0x0bee:
+ case 0x0bef:
+ /* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */
+ break;
+ default:
+ driverList[0] = "intel";
+ break;
}
break;
case 0x102b: