Today's snapshot. mergey-merge-merge.

This commit is contained in:
Adam Jackson 2008-03-14 19:50:58 +00:00
parent cae9d22d3e
commit 633248141c
7 changed files with 9 additions and 367 deletions

View File

@ -1 +1 @@
xorg-server-20080310.tar.bz2
xorg-server-20080314.tar.bz2

View File

@ -1 +1 @@
02feb14a678e3b8ad9acf0b6db8d159b4fd64147
4a61cf3b08942895868e18bff11e0e4e12f69a7e

View File

@ -1 +1 @@
5d8257eb3d8f466e7c48540cb3740a19 xorg-server-20080310.tar.bz2
455e0406e3b9f7a22d33f596284f9cd0 xorg-server-20080314.tar.bz2

View File

@ -15,12 +15,12 @@
# RHEL5 bugfix sync
%define pkgname xorg-server
%define gitdate 20080310
%define gitdate 20080314
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.4.99.901
Release: 8.%{gitdate}%{?dist}
Release: 9.%{gitdate}%{?dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -60,13 +60,10 @@ Patch5001: xserver-1.4.99-alloca-poison.patch
# This really could be done prettier.
Patch5002: xserver-1.4.99-ssh-isnt-local.patch
Patch5003: xserver-1.5.0-x86emu.patch
Patch5004: xserver-1.5.0-wfs.patch
Patch5005: xserver-1.5.0-unselinux.patch
Patch5006: xserver-1.5.0-ia64.patch
Patch5007: xserver-1.5.0-bad-fbdev-thats-mine.patch
Patch5008: xserver-1.5.0-xaa-sucks.patch
Patch5009: xserver-1.5.0-aspect-match.patch
%define moduledir %{_libdir}/xorg/modules
%define drimoduledir %{_libdir}/dri
@ -124,7 +121,7 @@ BuildRequires: libdrm-devel >= 2.4.0
Requires: libdrm >= 2.4.0
%endif
BuildRequires: libselinux-devel audit-libs-devel
BuildRequires: audit-libs-devel libselinux-devel >= 2.0.59-1
BuildRequires: hal-devel dbus-devel
# Make sure libXfont has the catalogue FPE
@ -515,6 +512,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Fri Mar 14 2008 Adam Jackson <ajax@redhat.com> 1.4.99.901-9.20080314
- Today's snapshot. Mostly just patch merge with rawhide.
* Thu Mar 13 2008 Adam Jackson <ajax@redhat.com> 1.4.99.901-8.20080310
- xserver-1.5.0-aspect-match.patch: Fix the RANDR 1.2 initial configuration
heuristic for the case where the best possible mode is the first one in

View File

@ -1,92 +0,0 @@
From ee98a88b16133b1e2b8532678ea9e06868db7407 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Thu, 13 Mar 2008 14:06:18 -0400
Subject: [PATCH] Fix xf86TargetAspect() to, er, work.
nextAspectMode() was always skipping the first mode in the mode list, which
was problematic if that was the best possible mode...
---
hw/xfree86/modes/xf86Crtc.c | 51 ++++++++++++++++++++++--------------------
1 files changed, 27 insertions(+), 24 deletions(-)
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 0bef5b4..2b07421 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -1674,14 +1674,19 @@ aspectMatch(float a, float b)
}
static DisplayModePtr
-nextAspectMode(DisplayModePtr start, float aspect)
+nextAspectMode(xf86OutputPtr o, DisplayModePtr last, float aspect)
{
- DisplayModePtr m = start;
+ DisplayModePtr m = NULL;
- if (!m)
+ if (!o)
return NULL;
- for (m = m->next; m; m = m->next)
+ if (!last)
+ m = o->probed_modes;
+ else
+ m = last->next;
+
+ for (; m; m = m->next)
if (aspectMatch(aspect, (float)m->HDisplay / (float)m->VDisplay))
return m;
@@ -1691,31 +1696,29 @@ nextAspectMode(DisplayModePtr start, float aspect)
static DisplayModePtr
bestModeForAspect(xf86CrtcConfigPtr config, Bool *enabled, float aspect)
{
- int o, p;
- DisplayModePtr mode, test = NULL, match = NULL;
+ int o = -1, p;
+ DisplayModePtr mode = NULL, test = NULL, match = NULL;
- for (o = -1; nextEnabledOutput(config, enabled, &o); ) {
- mode = config->output[o]->probed_modes;
- while ((mode = nextAspectMode(mode, aspect))) {
- for (p = o; nextEnabledOutput(config, enabled, &p); ) {
- test = xf86OutputFindClosestMode(config->output[p], mode);
- if (!test)
- break;
- if (test->HDisplay != mode->HDisplay ||
+ nextEnabledOutput(config, enabled, &o);
+ while ((mode = nextAspectMode(config->output[o], mode, aspect))) {
+ for (p = o; nextEnabledOutput(config, enabled, &p); ) {
+ test = xf86OutputFindClosestMode(config->output[p], mode);
+ if (!test)
+ break;
+ if (test->HDisplay != mode->HDisplay ||
test->VDisplay != mode->VDisplay) {
- test = NULL;
- break;
- }
+ test = NULL;
+ break;
}
+ }
- /* if we didn't match it on all outputs, try the next one */
- if (!test)
- continue;
+ /* if we didn't match it on all outputs, try the next one */
+ if (!test)
+ continue;
- /* if it's bigger than the last one, save it */
- if (!match || (test->HDisplay > match->HDisplay))
- match = test;
- }
+ /* if it's bigger than the last one, save it */
+ if (!match || (test->HDisplay > match->HDisplay))
+ match = test;
}
/* return the biggest one found */
--
1.5.4.3

View File

@ -1,137 +0,0 @@
From 9053cba9d766be78d150226aa4adf61e5a6717d2 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@benzedrine.nwnk.net>
Date: Wed, 12 Mar 2008 19:52:50 -0400
Subject: [PATCH] Fix ia64 PCI support.
---
hw/xfree86/os-support/bus/Makefile.am | 12 -------
hw/xfree86/os-support/bus/Pci.h | 3 +-
hw/xfree86/os-support/linux/Makefile.am | 2 +-
hw/xfree86/os-support/shared/ia64Pci.c | 55 -------------------------------
4 files changed, 2 insertions(+), 70 deletions(-)
diff --git a/hw/xfree86/os-support/bus/Makefile.am b/hw/xfree86/os-support/bus/Makefile.am
index 381b992..5a15430 100644
--- a/hw/xfree86/os-support/bus/Makefile.am
+++ b/hw/xfree86/os-support/bus/Makefile.am
@@ -27,18 +27,6 @@ if LINUX_ALPHA
PCI_SOURCES += axpPci.c
endif
-if LINUX_IA64
-PLATFORM_PCI_SOURCES = \
- 460gxPCI.c \
- 460gxPCI.h \
- altixPCI.c \
- altixPCI.h \
- e8870PCI.c \
- e8870PCI.h \
- zx1PCI.c \
- zx1PCI.h
-endif
-
if XORG_BUS_SPARC
PLATFORM_SOURCES = Sbus.c
sdk_HEADERS += xf86Sbus.h
diff --git a/hw/xfree86/os-support/bus/Pci.h b/hw/xfree86/os-support/bus/Pci.h
index 0abb34f..ebac090 100644
--- a/hw/xfree86/os-support/bus/Pci.h
+++ b/hw/xfree86/os-support/bus/Pci.h
@@ -207,9 +207,8 @@
# endif
#elif defined(__ia64__)
# if defined(linux)
-# define ARCH_PCI_INIT ia64linuxPciInit
+# define ARCH_PCI_INIT linuxPciInit
# endif
-# define XF86SCANPCI_WRAPPER ia64ScanPCIWrapper
#elif defined(__i386__) || defined(__i386)
# if defined(linux)
# define ARCH_PCI_INIT linuxPciInit
diff --git a/hw/xfree86/os-support/linux/Makefile.am b/hw/xfree86/os-support/linux/Makefile.am
index 5a52ffd..beaae3d 100644
--- a/hw/xfree86/os-support/linux/Makefile.am
+++ b/hw/xfree86/os-support/linux/Makefile.am
@@ -1,7 +1,7 @@
noinst_LTLIBRARIES = liblinux.la
if LINUX_IA64
-PLATFORM_PCI_SUPPORT = $(srcdir)/lnx_ia64.c $(srcdir)/../shared/ia64Pci.c
+PLATFORM_PCI_SUPPORT = $(srcdir)/../shared/ia64Pci.c
PLATFORM_DEFINES = -DOS_PROBE_PCI_CHIPSET=lnxProbePciChipset
PLATFORM_INCLUDES = -I$(srcdir)/../shared
endif
diff --git a/hw/xfree86/os-support/shared/ia64Pci.c b/hw/xfree86/os-support/shared/ia64Pci.c
index 45522e9..6f6924b 100644
--- a/hw/xfree86/os-support/shared/ia64Pci.c
+++ b/hw/xfree86/os-support/shared/ia64Pci.c
@@ -42,12 +42,7 @@
#include <linux/pci.h>
#include "compiler.h"
-#include "460gxPCI.h"
-#include "e8870PCI.h"
-#include "zx1PCI.h"
-#include "altixPCI.h"
#include "Pci.h"
-#include "ia64Pci.h"
/*
* We use special in/out routines here since Altix platforms require the
@@ -191,53 +186,3 @@ _X_EXPORT unsigned int inl(unsigned long port)
return val;
}
-void
-ia64ScanPCIWrapper(scanpciWrapperOpt flags)
-{
- static IA64Chipset chipset = NONE_CHIPSET;
-
- if (flags == SCANPCI_INIT) {
-
- /* PCI configuration space probes should be done first */
- if (xorgProbe460GX(flags)) {
- chipset = I460GX_CHIPSET;
- xf86PreScan460GX();
- return;
- } else if (xorgProbeE8870(flags)) {
- chipset = E8870_CHIPSET;
- xf86PreScanE8870();
- return;
- }
-#ifdef OS_PROBE_PCI_CHIPSET
- chipset = OS_PROBE_PCI_CHIPSET(flags);
- switch (chipset) {
- case ZX1_CHIPSET:
- xf86PreScanZX1();
- return;
- case ALTIX_CHIPSET:
- xf86PreScanAltix();
- return;
- default:
- return;
- }
-#endif
- } else /* if (flags == SCANPCI_TERM) */ {
-
- switch (chipset) {
- case I460GX_CHIPSET:
- xf86PostScan460GX();
- return;
- case E8870_CHIPSET:
- xf86PostScanE8870();
- return;
- case ZX1_CHIPSET:
- xf86PostScanZX1();
- return;
- case ALTIX_CHIPSET:
- xf86PostScanAltix();
- return;
- default:
- return;
- }
- }
-}
--
1.5.4.3

View File

@ -1,129 +0,0 @@
From 332b9c7d0f499360f7750e6e85cc905703b6ad4a Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Mon, 10 Mar 2008 19:39:21 -0400
Subject: [PATCH] test x86emu fix
---
hw/xfree86/int10/helper_exec.c | 57 +++++++++++++++++++++++++++++++++++-----
1 files changed, 50 insertions(+), 7 deletions(-)
diff --git a/hw/xfree86/int10/helper_exec.c b/hw/xfree86/int10/helper_exec.c
index de6fde5..9daff22 100644
--- a/hw/xfree86/int10/helper_exec.c
+++ b/hw/xfree86/int10/helper_exec.c
@@ -33,6 +33,7 @@
#ifdef _X86EMU
#include "x86emu/x86emui.h"
#endif
+#include <pciaccess.h>
static int pciCfg1in(CARD16 addr, CARD32 *val);
static int pciCfg1out(CARD16 addr, CARD32 val);
@@ -459,7 +460,43 @@ Mem_wl(CARD32 addr, CARD32 val)
static CARD32 PciCfg1Addr = 0;
-#define OFFSET(Cfg1Addr) (Cfg1Addr & 0xff)
+#define PCI_OFFSET(x) ((x) & 0x000000ff)
+#define PCI_TAG(x) ((x) & 0xffffff00)
+
+static struct pci_device*
+pci_device_for_cfg_address (CARD32 addr)
+{
+ struct pci_device *dev = NULL;
+ PCITAG tag = PCI_TAG(addr);
+ struct pci_slot_match slot_match = {
+ .domain = PCI_DOM_FROM_TAG(tag),
+ .bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(tag)),
+ .dev = PCI_DEV_FROM_TAG(tag),
+ .func = PCI_FUNC_FROM_TAG(tag),
+ .match_data = 0
+ };
+
+ struct pci_device_iterator *iter =
+ pci_slot_match_iterator_create (&slot_match);
+ if (iter)
+ dev = pci_device_next(iter);
+ if (!dev) {
+ char buf[128]; /* enough to store "%u@%u" */
+ xf86FormatPciBusNumber(tag >> 16, buf);
+ ErrorF("Failed to find device matching %s:%u:%u\n",
+ buf, slot_match.dev, slot_match.func);
+ return NULL;
+ }
+
+ if (pci_device_next(iter)) {
+ char buf[128]; /* enough to store "%u@%u" */
+ xf86FormatPciBusNumber(tag >> 16, buf);
+ ErrorF("Multiple devices matching %s:%u:%u\n",
+ buf, slot_match.dev, slot_match.func);
+ }
+
+ return dev;
+}
static int
pciCfg1in(CARD16 addr, CARD32 *val)
@@ -469,7 +506,8 @@ pciCfg1in(CARD16 addr, CARD32 *val)
return 1;
}
if (addr == 0xCFC) {
- pci_device_cfg_read_u32(Int10Current->dev, val, OFFSET(PciCfg1Addr));
+ pci_device_cfg_read_u32(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr));
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_inl(%#x) = %8.8x\n", PciCfg1Addr, *val);
return 1;
@@ -487,7 +525,8 @@ pciCfg1out(CARD16 addr, CARD32 val)
if (addr == 0xCFC) {
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_outl(%#x, %8.8x)\n", PciCfg1Addr, val);
- pci_device_cfg_write_u32(Int10Current->dev, val, OFFSET(PciCfg1Addr));
+ pci_device_cfg_write_u32(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr));
return 1;
}
return 0;
@@ -506,7 +545,8 @@ pciCfg1inw(CARD16 addr, CARD16 *val)
if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
const unsigned offset = addr - 0xCFC;
- pci_device_cfg_read_u16(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_read_u16(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_inw(%#x) = %4.4x\n", PciCfg1Addr + offset, *val);
return 1;
@@ -530,7 +570,8 @@ pciCfg1outw(CARD16 addr, CARD16 val)
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_outw(%#x, %4.4x)\n", PciCfg1Addr + offset, val);
- pci_device_cfg_write_u16(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_write_u16(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
return 1;
}
return 0;
@@ -549,7 +590,8 @@ pciCfg1inb(CARD16 addr, CARD8 *val)
if ((addr >= 0xCFC) && (addr <= 0xCFF)) {
const unsigned offset = addr - 0xCFC;
- pci_device_cfg_read_u8(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_read_u8(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_inb(%#x) = %2.2x\n", PciCfg1Addr + offset, *val);
return 1;
@@ -573,7 +615,8 @@ pciCfg1outb(CARD16 addr, CARD8 val)
if (PRINT_PORT && DEBUG_IO_TRACE())
ErrorF(" cfg_outb(%#x, %2.2x)\n", PciCfg1Addr + offset, val);
- pci_device_cfg_write_u8(Int10Current->dev, val, OFFSET(PciCfg1Addr) + offset);
+ pci_device_cfg_write_u8(pci_device_for_cfg_address(PciCfg1Addr),
+ val, PCI_OFFSET(PciCfg1Addr) + offset);
return 1;
}
return 0;
--
1.5.4.3