xserver: Branch 'master' - 3 commits

Ben Gamari bgamari at gmail.com
Mon Dec 15 15:26:18 PST 2008


This commit broke starting X.

- Ben


This is a pre-release version of the X server from The X.Org Foundation.
It is not supported in any way.
Bugs may be filed in the bugzilla at http://bugs.freedesktop.org/.
Select the "xorg" product for bugs you find in this release.
Before reporting bugs in pre-release versions please check the
latest version in the X.Org Foundation git repository.
See http://wiki.x.org/wiki/GitPage for git access instructions.

X.Org X Server 1.6.99.1
Release Date: (unreleased)
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.28-rc7 x86_64 
Current Operating System: Linux mercury.localdomain 2.6.28-rc7 #6 SMP
Tue Dec 9 19:36:02 EST 2008 x86_64
Build Date: 13 December 2008  05:40:43PM
 
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Mon Dec 15 17:26:29 2008
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "single head configuration"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "<default monitor>"
(**) |   |-->Device "Videocard0"
(==) No monitor specified for screen "Screen0".
	Using a default monitor configuration.
(**) |-->Input Device "Keyboard0"
(**) Option "DontZap" "off"
(==) Automatically adding devices
(==) Automatically enabling devices
(==) No FontPath specified.  Using compiled-in default.
(==) FontPath set to:
	built-ins
(==) ModulePath set to "/usr/lib64/xorg/modules"
(II) Cannot locate a core pointer device.
(II) The server relies on HAL to provide the list of input devices.
	If no devices become available, reconfigure HAL or disable
AllowEmptyInput.
(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or
'vmmouse' will be disabled.
(WW) Disabling Keyboard0
(II) Loader magic: 0x1a50
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.4
	X.Org Video Driver: 5.0
	X.Org XInput driver : 4.0
	X.Org Server Extension : 2.0
(II) Loader running on linux
(--) using VT number 7

(--) PCI:*(0 at 0:2:0) Intel Corporation Mobile GM965/GL960 Integrated
Graphics Controller rev 12, Mem @ 0xfea00000/1048576,
0xe0000000/268435456, I/O @ 0x0000eff8/8
(--) PCI: (0 at 0:2:1) Intel Corporation Mobile GM965/GL960 Integrated
Graphics Controller rev 12, Mem @ 0xfeb00000/1048576
(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or
directory)
(II) No APM support in BIOS or kernel
(II) System resource ranges:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[4] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[5] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
(II) LoadModule: "extmod"
(II) Loading /usr/lib64/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
	compiled for 1.6.99.1, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 2.0
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "dbe"
(II) Loading /usr/lib64/xorg/modules/extensions//libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 1.6.99.1, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "glx"
(II) Loading /usr/lib64/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
	compiled for 1.6.99.1, module version = 1.0.0
	ABI class: X.Org Server Extension, version 2.0
(==) AIGLX enabled
(==) Exporting typical set of GLX visuals
(II) Loading extension GLX
(II) LoadModule: "dri"
(II) Loading /usr/lib64/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
	compiled for 1.6.99.1, module version = 1.0.0
	ABI class: X.Org Server Extension, version 2.0
(II) Loading extension XFree86-DRI
(II) LoadModule: "dri2"
(II) Loading /usr/lib64/xorg/modules/extensions//libdri2.so
(II) Module dri2: vendor="X.Org Foundation"
	compiled for 1.6.99.1, module version = 1.0.0
	ABI class: X.Org Server Extension, version 2.0
(II) Loading extension DRI2
(II) LoadModule: "intel"
(II) Loading /usr/lib64/xorg/modules/drivers//intel_drv.so
(II) Module intel: vendor="X.Org Foundation"
	compiled for 1.6.99.1, module version = 2.6.99
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 5.0
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
	i810-dc100, i810e, i815, i830M, 845G, 852GM/855GM, 865G, 915G,
	E7221 (i915), 915GM, 945G, 945GM, 945GME, 965G, G35, 965Q, 946GZ,
	965GM, 965GME/GLE, G33, Q35, Q33,
	Mobile Intel® GM45 Express Chipset,
	Intel Integrated Graphics Device, G45/G43, Q45/Q43, G41
(II) Primary Device is: PCI 00 at 00:02:0
(II) resource ranges after xf86ClaimFixedResources() call:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[4] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[5] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
(II) resource ranges after probing:
	[0] -1	0	0xffffffff - 0xffffffff (0x1) MX[B]
	[1] -1	0	0x000f0000 - 0x000fffff (0x10000) MX[B]
	[2] -1	0	0x000c0000 - 0x000effff (0x30000) MX[B]
	[3] -1	0	0x00000000 - 0x0009ffff (0xa0000) MX[B]
	[4] 0	0	0x000a0000 - 0x000affff (0x10000) MS[B]
	[5] 0	0	0x000b0000 - 0x000b7fff (0x8000) MS[B]
	[6] 0	0	0x000b8000 - 0x000bffff (0x8000) MS[B]
	[7] -1	0	0x0000ffff - 0x0000ffff (0x1) IX[B]
	[8] -1	0	0x00000000 - 0x00000000 (0x1) IX[B]
	[9] 0	0	0x000003b0 - 0x000003bb (0xc) IS[B]
	[10] 0	0	0x000003c0 - 0x000003df (0x20) IS[B]
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/lib64/xorg/modules//libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
	compiled for 1.6.99.1, module version = 0.1.0
	ABI class: X.Org Video Driver, version 5.0
(**) intel(0): Depth 24, (--) framebuffer bpp 32
(==) intel(0): RGB weight 888
(==) intel(0): Default visual is TrueColor
(**) intel(0): Option "AccelMethod" "uxa"
(**) intel(0): Option "Tiling" "No"
(II) intel(0): Integrated Graphics Chipset: Intel(R) 965GM
(--) intel(0): Chipset: "965GM"
(--) intel(0): Linear framebuffer at 0xE0000000
(--) intel(0): IO registers at addr 0xFEA00000
(WW) intel(0): libpciaccess reported 0 rom size, guessing 64kB
(**) intel(0): Using UXA for acceleration
(II) intel(0): 2 display pipes available.
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Module "ddc" already built-in
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"
(II) Module "i2c" already built-in
(II) intel(0): Output VGA has no monitor section
(II) intel(0): Output LVDS has no monitor section
(II) intel(0): I2C bus "LVDSDDC_C" initialized.
(II) intel(0): Attempting to determine panel fixed mode.
(II) intel(0): I2C device "LVDSDDC_C:E-EDID segment register" registered
at address 0x60.
(II) intel(0): I2C device "LVDSDDC_C:ddc2" registered at address 0xA0.
(II) intel(0): EDID vendor "SEC", prod id 12885
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOB" initialized.
(II) intel(0): I2C device "SDVOCTRL_E for SDVOB:SDVO Controller B"
registered at address 0x70.
(II) intel(0): I2C bus "SDVOB DDC Bus" initialized.
(II) intel(0): Output TMDS-1 has no monitor section
(II) intel(0): SDVOB: device VID/DID: 04:AA.03, clock range 25.0MHz -
165.0MHz
(II) intel(0): SDVOB: 1 input channel
(II) intel(0): SDVOB: TMDS0 output reported
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" initialized.
(II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C"
registered at address 0x72.
(II) intel(0): No SDVO device found on SDVOC
(II) intel(0): I2C device "SDVOCTRL_E for SDVOC:SDVO Controller C"
removed.
(II) intel(0): I2C bus "SDVOCTRL_E for SDVOC" removed.
(II) intel(0): Output TV has no monitor section
(II) intel(0): Current clock rate multiplier: 1
(II) intel(0): EDID vendor "SEC", prod id 12885

Backtrace:
0: /usr/bin/Xorg(xorg_backtrace+0x26) [0x4998a6]
1: /usr/bin/Xorg(xf86SigHandler+0x39) [0x44a2e9]
2: /lib64/libc.so.6 [0x3f7f432f90]
3: /usr/lib64/xorg/modules/drivers//intel_drv.so [0x7fb112f5742c]
4: /usr/lib64/xorg/modules/drivers//intel_drv.so [0x7fb112f5773d]
5: /usr/lib64/xorg/modules/drivers//intel_drv.so [0x7fb112f47302]
6: /usr/bin/Xorg(xf86CrtcRotate+0x13a) [0x538efa]
7: /usr/bin/Xorg(xf86CrtcSetModeTransform+0x46c) [0x5364ac]
8: /usr/lib64/xorg/modules/drivers//intel_drv.so [0x7fb112f48784]
9: /usr/lib64/xorg/modules/drivers//intel_drv.so [0x7fb112f649ec]
10: /usr/bin/Xorg(xf86ProbeOutputModes+0x19b) [0x5331fb]
11: /usr/bin/Xorg(xf86InitialConfiguration+0x181) [0x533cd1]
12: /usr/lib64/xorg/modules/drivers//intel_drv.so [0x7fb112f4dd20]
13: /usr/lib64/xorg/modules/drivers//intel_drv.so [0x7fb112f4f697]
14: /usr/bin/Xorg(InitOutput+0xe4b) [0x44d8bb]
15: /usr/bin/Xorg [0x42434e]
16: /lib64/libc.so.6(__libc_start_main+0xe6) [0x3f7f41e576]
17: /usr/bin/Xorg [0x423979]

Fatal server error:
Caught signal 11.  Server aborting


Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
Please also check the log file at "/var/log/Xorg.1.log" for additional
information.




On Mon, 2008-12-15 at 11:47 -0800, Keith Packard wrote:
> hw/xfree86/modes/xf86Crtc.c          |   12 +-----------
>  hw/xfree86/modes/xf86Crtc.h          |    7 +++++++
>  hw/xfree86/modes/xf86Rotate.c        |   10 +++-------
>  hw/xfree86/os-support/shared/sigio.c |    2 +-
>  4 files changed, 12 insertions(+), 19 deletions(-)
> 
> New commits:
> commit fde2f961035609cfff8761ef1e0f23e6a9761be2
> Author: Keith Packard <keithp at keithp.com>
> Date:   Mon Dec 15 11:39:24 2008 -0800
> 
>     Use scrn->virtualX/virtualY in xf86CrtcFitsScreen. Fix bug 19017.
>     
>     pScreen->width/height are not initialized when doing initial mode setting,
>     which makes this function incorrectly fail. Using scrn->virtualX should work
>     in all cases though.
>     
>     Bug 19017 reports a crash in xf86CrtcSetModeTransform when doing a modeset
>     for output probing, long before the screen array is initialized; that was
>     caused by a work-around to set pScreen->width/height so that xf86CrtcFitsScreen
>     could find the right values.
>     
>     Signed-off-by: Keith Packard <keithp at keithp.com>
> 
> diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
> index 4f8cbb5..ef2ecb7 100644
> --- a/hw/xfree86/modes/xf86Crtc.c
> +++ b/hw/xfree86/modes/xf86Crtc.c
> @@ -244,8 +244,6 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati
>  			  RRTransformPtr transform, int x, int y)
>  {
>      ScrnInfoPtr		scrn = crtc->scrn;
> -    /* During ScreenInit() scrn->pScreen is still NULL */
> -    ScreenPtr		pScreen = screenInfo.screens[scrn->scrnIndex];
>      xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn);
>      int			i;
>      Bool		ret = FALSE;
> @@ -295,15 +293,6 @@ xf86CrtcSetModeTransform (xf86CrtcPtr crtc, DisplayModePtr mode, Rotation rotati
>      } else
>  	crtc->transformPresent = FALSE;
>  
> -    /* We may hit this path during PreInit during load-detcect, at
> -     * which point no pScreens exist yet, so avoid this step. */
> -    if (pScreen) {
> -	/* xf86CrtcFitsScreen() relies on these values being correct. */
> -	/* This should ensure the values are always set at modeset time. */
> -	pScreen->width = scrn->virtualX;
> -	pScreen->height = scrn->virtualY;
> -    }
> -
>      /* Shift offsets that move us out of virtual size */
>      if (x + mode->HDisplay > xf86_config->maxWidth ||
>  	y + mode->VDisplay > xf86_config->maxHeight)
> diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
> index 793b1a9..348b793 100644
> --- a/hw/xfree86/modes/xf86Rotate.c
> +++ b/hw/xfree86/modes/xf86Rotate.c
> @@ -364,12 +364,8 @@ static Bool
>  xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb)
>  {
>      ScrnInfoPtr		pScrn = crtc->scrn;
> -    /* if this is called during ScreenInit() we don't have pScrn->pScreen yet */
> -    ScreenPtr		pScreen = screenInfo.screens[pScrn->scrnIndex];
>      BoxRec		b;
>  
> -    if (!pScreen)
> -	return TRUE;
>      b.x1 = 0;
>      b.y1 = 0;
>      b.x2 = crtc->mode.HDisplay;
> @@ -383,8 +379,8 @@ xf86CrtcFitsScreen (xf86CrtcPtr crtc, struct pict_f_transform *crtc_to_fb)
>  	b.y2 += crtc->y;
>      }
>  
> -    return (0 <= b.x1 && b.x2 <= pScreen->width &&
> -	    0 <= b.y1 && b.y2 <= pScreen->height);
> +    return (0 <= b.x1 && b.x2 <= pScrn->virtualX &&
> +	    0 <= b.y1 && b.y2 <= pScrn->virtualY);
>  }
>  
>  Bool
> commit 29a5b0596b396d3e4a8a014cacd3e3ef77467ab7
> Author: Keith Packard <keithp at keithp.com>
> Date:   Mon Dec 15 11:38:00 2008 -0800
> 
>     When disabling SIGIO tracking, use SIG_IGN instead of SIG_DFL.
>     
>     This avoids a race condition for drivers which mis-order the fd close and
>     signal disable.
>     
>     Signed-off-by: Keith Packard <keithp at keithp.com>
> 
> diff --git a/hw/xfree86/os-support/shared/sigio.c b/hw/xfree86/os-support/shared/sigio.c
> index ef85e3b..54c02cc 100644
> --- a/hw/xfree86/os-support/shared/sigio.c
> +++ b/hw/xfree86/os-support/shared/sigio.c
> @@ -229,7 +229,7 @@ xf86RemoveSIGIOHandler(int fd)
>  	    sigemptyset(&sa.sa_mask);
>  	    sigaddset(&sa.sa_mask, SIGIO);
>  	    sa.sa_flags   = 0;
> -	    sa.sa_handler = SIG_DFL;
> +	    sa.sa_handler = SIG_IGN;
>  	    sigaction(SIGIO, &sa, &osa);
>  	}
>      }
> commit 1ba4cbb15919759aadd71960c5c057af9ba94fe3
> Author: Keith Packard <keithp at keithp.com>
> Date:   Mon Dec 15 11:36:43 2008 -0800
> 
>     Clean up rotation data when crtc is turned off
>     
>     The shadow frame buffer and other data used for rotation need to be freed
>     when the crtc is disabled, not just when rotation is disabled.
>     
>     Signed-off-by: Keith Packard <keithp at keithp.com>
> 
> diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
> index d580ada..4f8cbb5 100644
> --- a/hw/xfree86/modes/xf86Crtc.c
> +++ b/hw/xfree86/modes/xf86Crtc.c
> @@ -2750,6 +2750,7 @@ xf86DisableUnusedFunctions(ScrnInfoPtr pScrn)
>  	{
>  	    crtc->funcs->dpms(crtc, DPMSModeOff);
>  	    memset(&crtc->mode, 0, sizeof(crtc->mode));
> +	    xf86RotateDestroy(crtc);
>  	}
>      }
>      if (pScrn->pScreen)
> diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
> index fcf022b..e44996f 100644
> --- a/hw/xfree86/modes/xf86Crtc.h
> +++ b/hw/xfree86/modes/xf86Crtc.h
> @@ -708,6 +708,13 @@ extern _X_EXPORT Bool
>  xf86CrtcRotate (xf86CrtcPtr crtc);
>  
>  /*
> + * Clean up any rotation data, used when a crtc is turned off
> + * as well as when rotation is disabled.
> + */
> +void
> +xf86RotateDestroy (xf86CrtcPtr crtc);
> +
> +/*
>   * free shadow memory allocated for all crtcs
>   */
>  extern _X_EXPORT void
> diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
> index 9d7b373..793b1a9 100644
> --- a/hw/xfree86/modes/xf86Rotate.c
> +++ b/hw/xfree86/modes/xf86Rotate.c
> @@ -294,7 +294,7 @@ xf86RotateBlockHandler(int screenNum, pointer blockData,
>      }
>  }
>  
> -static void
> +void
>  xf86RotateDestroy (xf86CrtcPtr crtc)
>  {
>      ScrnInfoPtr		pScrn = crtc->scrn;
> _______________________________________________
> xorg-commit mailing list
> xorg-commit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xorg-commit



More information about the xorg-commit mailing list