Commit Graph

1021 Commits

Author SHA1 Message Date
Eric Anholt a117bc9e3e Add the (afaict) correct ch7017 I2C slave address. 2007-03-16 19:39:53 -07:00
Eric Anholt 29446cdb4f Fix compile failure due to needed types being in inttypes.h on Linux. 2007-03-16 19:18:37 -07:00
Eric Anholt 213394fbaa Fix crashes and other failures when a cursor allocation fails.
Now, we allocate one single block of memory for cursors, and either succeed or
fail once, rather than trying to support partial fallback modes that generally
resulted in pain due to being untested.  In particular, this fixes cursors on
FreeBSD, which only allowed one large physically-contiguous allocation.
2007-03-15 19:13:28 -07:00
Eric Anholt 316ee682d3 Don't reload the cursors if we haven't set up the screen yet.
This avoids a crash during preinit if we set a mode for load detecting.
2007-03-15 18:53:55 -07:00
Eric Anholt 8b06ab50bb Fix sparse warnings about using 0 for NULL. 2007-03-15 16:02:36 -07:00
Keith Packard 8ae6ad9332 Use new driver-independent CRTC-based cursor layer.
This eliminates all of the cursor rotation code and other cursor management
infrastructure, leaving a fairly simple hardware layer in its place.
2007-03-15 00:01:39 -07:00
Michel Dänzer 555b801a75 Make sure the legacy texture area is there when needed.
This currently only matters when the DRM memory manager is not available and
Option "Legacy3D" "off" is specified, but that hasn't always been the case and
might change again in the future.
2007-03-14 11:41:50 +01:00
Eric Anholt 66fdb08c83 Refine the i855 LVDS clock code. In particular, p2 is always 14.
This gets correct clocks detected on most harware.  The SSC is always assumed
to be 66Mhz, which may not be true, but we'll fix that when we find example
hardware.
2007-03-13 17:07:10 -07:00
Eric Anholt 44708bdd9e Get SDVO DPMS working on the Mac Mini by writing SDVOB and SDVOC together.
Also, add code for setting the encoder power state like the BIOS does, but this
doesn't appear to work.  We do much more than the BIOS does in powering things
down, so perhaps that's interfering somehow.
2007-03-13 16:59:38 -07:00
Eric Anholt 5135b3a79f Use a POSTING_READ(reg) macro instead of using the (void)INREG(reg) pattern. 2007-03-13 16:59:38 -07:00
Eric Anholt 578da7ca70 Add PCI write posting protection to i2c putbits. 2007-03-13 16:59:38 -07:00
Eric Anholt cf33abe43b Add write posting protection for the SDVO DPMS-on path. 2007-03-13 16:59:38 -07:00
Eric Anholt 9d30f00072 Replace #if 0ed LVDS register setting with updated comment. 2007-03-13 16:59:38 -07:00
Eric Anholt 9c17c6e9c6 Add write posting protections to relevant register writes in the mode-set path. 2007-03-13 16:59:38 -07:00
Eric Anholt 2824ec7ccb Fix uninitialized string use in SDVO non-TMDS case. 2007-03-13 16:59:37 -07:00
Eric Anholt 1ed3843f73 Make the 965 use Y-major tiling for the depth buffer, as required by the spec.
An example of the failure can be seen with the reflect demo when set to
depth buffer mode.

Reported by:	Haihao Xiang <haihao.xiang@intel.com>
2007-03-12 17:47:32 -07:00
Michel Dänzer 7aa2571546 Fix build against released libdrm. 2007-03-12 19:00:14 +01:00
Michel Dänzer 7c561956a2 Defer flipping pages back to normal until the end of the DRI block handler.
Doing it earlier can result in the wrong page being visible, giving the
appearance of a frozen X server.
2007-03-12 18:55:27 +01:00
Michel Dänzer fe59ab9f56 Disable page flipping if the DRM is older than 1.9.
Older versions don't support the functionality we need.
2007-03-12 13:03:47 +01:00
Michel Dänzer ba55ff15df Fix attempt to flip pages back to normal when the last 3D window disappears.
When this succeeds, 2D rendering does not have to be synchronized to back
buffers until the next 3D window appears.
2007-03-12 13:01:00 +01:00
Michel Dänzer c4a23c5ef8 Remove unused have3DWindows from pI830. 2007-03-12 10:59:21 +01:00
Dave Airlie 797aa6fcb1 fixup missing assert includes 2007-03-11 12:58:50 +11:00
Dave Airlie 43a80ef909 fixup brace alignment for older X.org 2007-03-11 12:58:26 +11:00
Dave Airlie 0d33fd3d03 add XMODES flags to the i2c drivers 2007-03-11 12:58:02 +11:00
Michel Dänzer 3c2d6e07bd Don't crash when the SAREA pointer is NULL. 2007-03-09 23:49:46 +01:00
Michel Dänzer 7518b8959e Revert change accidentally included in previous commit. 2007-03-09 19:50:03 +01:00
Michel Dänzer 1991a90ae9 Update SAREA pipe sizes in i830_crtc_dpms instead of i830PipeSetBase.
This allows setting the size to 0 when a pipe gets disabled.
2007-03-09 19:47:13 +01:00
Michel Dänzer aef1618530 Merge remote branch 'origin/master' into i830-pageflip 2007-03-09 15:14:48 +01:00
Michel Dänzer 1b54ee493f Merge remote branch 'origin/master' into i830-pageflip
Conflicts:

	src/i830_dri.c
2007-03-09 15:13:50 +01:00
Eric Anholt 14ee9195d2 Bug #10157: Fix cursor corruption on server regen. 2007-03-07 13:04:02 -08:00
Alan Hourihane a5f0522b1d Add some additional checks when XAA is enabled. 2007-03-07 15:49:47 +00:00
Keith Packard 81722a21d2 Remove usage of 'shadow' module. Use xf86CrtcScreenInit.
With the new mode setting code, rotation is handled outside of the driver,
so the old usage of the 'shadow' module is no longer needed. Code to
initialize the crtc structures has been moved out of the driver and into the
modes code.
2007-03-06 23:17:55 -08:00
Eric Anholt 04f50961e2 Bug #9898: Fix a crash with NoAccel set. 2007-03-06 14:23:06 -08:00
Eric Anholt b07dfbba5d Remove leftover code that was disabling tiling after we set it up. 2007-03-06 13:59:14 -08:00
Eric Anholt 94c37f3587 Make the depth buffer X tiled instead of Y, and fix a Y tiling nit on 945.
The previous code claimed to set the depth buffer up as Y tiled, but due to
lack of implementation in SetFence, it ended up being X tiled.  Actually
setting the Y tiling flag in the new version broke the depth buffer, so just
switch the depth buffer to X tiling, which appears to work fine.
2007-03-06 13:57:31 -08:00
Eric Anholt 30bb719ca0 Continue to allocate the legacy texture pool by default.
This is a partial revert of 7358642e64

If we don't allocate it now, when the DRM version is too low there won't be any
memory allocated and DRI will fail.  Instead, waste the memory in the i915tex
case for now, and leave fixing it right (check DRM version up front and decide
which memory manager to set up) to later.
2007-03-06 12:23:43 -08:00
Michel Dänzer e972265261 Fix build failure.
Not sure how I missed this before... Thanks to Todd Merrill for reporting.
2007-03-06 16:54:16 +01:00
Michel Dänzer 1e1b45fa6e Fix reduced DRI memory manager size.
pI830->mmSize is in kB.
2007-03-06 10:28:41 +01:00
Michel Dänzer 3c08bc7d69 Fix some conditionals related to triple buffering.
Guard code that dereferences pI830->third_buffer with tests for that instead of
pI830->TripleBuffer. It could happen that we want to enable triple buffering
but (temporarily) can't because the third buffer couldn't be allocated.
2007-03-06 10:14:47 +01:00
Michel Dänzer c25cfafbe1 Unify allocation of back buffers. 2007-03-06 10:00:12 +01:00
Michel Dänzer 6c299aea8e Merge remote branch 'origin/master' into i830-pageflip
Conflicts:

	src/i830_display.c
	src/i830_driver.c
2007-03-06 09:28:52 +01:00
Keith Packard 4042b27f01 Move EnterVT mode setting code to xf86SetDesiredModes.
Make the application of crtc desiredModes generic code instead of
per-driver by creating xf86SetDesiredModes from the code that was in EnterVT
and calling it.

Also, move the frame buffer clear until just before mode setting to make
sure things are mapped correctly.
2007-03-05 22:34:13 -08:00
Wang Zhenyu 55ee46aebb Merge branch 'master' of git://proxy.ims.intel.com:9419/git/xorg/driver/xf86-video-intel 2007-03-06 12:45:08 +08:00
Wang Zhenyu 5c720147e2 EXA: try to always alloc exa i965 state buffer in stolen mem
I think this is a safe way to work around any possible chip
error.
2007-03-06 12:44:04 +08:00
Keith Packard 50aa09425f Merge branch 'modesetting' 2007-03-05 11:28:46 -08:00
Keith Packard c2c62559e7 Move single mode setting code to X server.
Code to drive the global configuration from a single mode setting operation
(from RandR 1.1, XFree86-VidModeExtension or XFree86-DGA) has been included
in the X server now, so remove it from this driver.
2007-03-05 10:37:03 -08:00
Michel Dänzer 330815251d Merge remote branch 'origin/master' into i830-pageflip
Conflicts:

	src/i830.h
	src/i830_dri.c
	src/i830_dri.h
	src/i830_driver.c
	src/i830_memory.c
	src/i830_xaa.c
2007-03-05 13:05:20 +01:00
Michel Dänzer d717d9d566 Fix DRM memory manager initialization.
It takes the offset and size in pages, not bytes.
2007-03-05 12:57:21 +01:00
Michel Dänzer 7358642e64 Fix handling of new vs. old texture pools.
Only one of them can be active.
2007-03-05 12:06:51 +01:00
Michel Dänzer 50ba1fff88 Be more verbose when page flipping can't be enabled for various reasons. 2007-03-05 10:22:07 +01:00