Commit Graph

1042 Commits

Author SHA1 Message Date
Keith Packard d5727717c9 Switch TV_FORMAT property to format XA_ATOM
This allows the driver to report the set of valid formats in the property
data.
2007-03-25 23:44:59 -07:00
Keith Packard 1e6e675524 Eliminate calls to RRPostPendingProperty.
RRPostPendingProperty has been removed in favor of RRPostPendingProperties,
and that call is now managed outside of the driver.
2007-03-23 23:42:52 -07:00
Keith Packard 28da6f4e30 Record 3D state loss at EnterVT in last_3d value.
last_3d set to LAST_3D_OTHER indicates that the 3D hardware has unknown
state.
2007-03-23 14:37:25 -07:00
Keith Packard ab19439cf4 Don't call AdjustFrame on EnterVT.
AdjustFrame is strictly for legacy compatibility; calling it on EnterVT
wrecks crtc positions.
2007-03-23 14:37:25 -07:00
Keith Packard 26f32ef680 Property size is in units, not bytes.
Several places were using byte lengths instead of unit lengths for
properties.
2007-03-23 01:17:58 -07:00
Keith Packard f48dc501fb TV output properties: TV_FORMAT, LEFT, TOP, RIGHT, BOTTOM.
Remove TV format from mode name, instead use an explicit output property and
split the input resolution from the tv format. Add properties to set the
blank area on all four sides of the image.
2007-03-23 01:08:08 -07:00
Wang Zhenyu 20b26854ab EXA: don't smash vertex header in G965
Originally we smashed vertex header to store texture
coordinates, this is working as we only use sf/wm kernel
and disable all other stages on pipeline. But better to
not do this. This also cleans up vertex elements state
and makes vertex buffer order looks "normal".
2007-03-22 10:33:15 +08:00
Wang Zhenyu 3025fa0fb2 EXA: try to enable rotation for G965
The new sf/wm should handle the texture sampling only in
rotated case. Also fix possible hole in VUE slot.
2007-03-21 14:50:45 +08:00
Eric Anholt 223944878c Attempt to fix single/dual-channel issues on i9xx LVDS panels.
- Use the existing single/dual-channel state when available, as changing it
  doesn't appear to work out.
- Set the power state of the CLKB and B0-B3 pairs according to whether
  choose to go dual-channel or not.
- Restore the LVDS register at the appropriate point (before DPLLs are
  re-programmed.
2007-03-20 14:33:53 -07:00
Eric Anholt 4c4faf260e Set the CURSOR_SIZE register when present.
Failure to do so gets you a lot of pretty colors.
2007-03-19 13:36:37 -07:00
Eric Anholt 64c1420445 Print the mode actually being set per pipe. 2007-03-19 13:35:43 -07:00
Eric Anholt 3ce802414a Add debug output for ADPA. 2007-03-19 11:35:11 -07:00
Michel Dänzer c21b88d838 Fix build when DAMAGE is not defined. 2007-03-19 10:45:58 +01:00
Keith Packard 991719c21a Make i830_sdvo_write_sdvox write everything twice.
For some reason, certain chips don't correctly enable the SDVO hardware when
this register is written only once. We're following what the BIOS code does
and writing it twice now, but with extra posting reads to boot. Yes, this is
cult-and-paste, but it fixes problems found on deployed hardware.
2007-03-18 23:05:33 -07:00
Keith Packard 9118122a23 Allocate 4 separate buffers for HW Cursors on Linux.
Linux cannot allocate a large fixed buffer for the HW cursors as needed for
FreeBSD; instead, allocate four separate buffers. The code now prefers to
allocate one buffer (less overhead) and falls back to separate buffers only
when necessary.
2007-03-17 21:34:03 -07:00
Keith Packard 62a5399d70 Elide I830DRIClipNotify for older DRI versions.
I830DRIClipNotify is passed to newer versions of DRI; don't include it in
the server when building against older versions.
2007-03-17 21:32:36 -07:00
Keith Packard 05e0021147 Cast ARGB cursor address to CARD32 * to eliminate warning.
While we're just doing a memcpy, it's nice for the two argument types to
match.
2007-03-17 21:31:04 -07:00
Keith Packard d05bb5362e Increase DDC I2C RiseFallTime to handle older monitors
Changing this value slows the entire I2C bus down, making it far more
reliable on older monitors. Note the same change has been made in the core X
server code; this change is included here to ensure that older X servers
work reliably with this driver.
2007-03-17 20:21:59 -07:00
Keith Packard 44d1b544ce Build fix for pre-XF86DRI_MM environments.
Misplaced brace broke builds with older DRM libraries.
2007-03-17 17:20:30 -07:00
Keith Packard a58befe9d2 Remove extra (and incorrect) I2C ByteTimeout setting.
Setting the value correctly and then immediately breaking it caused many I2C
transactions to timeout with slow monitors. Oops.
2007-03-17 17:20:30 -07:00
Eric Anholt 9d6d9ace4b Move vendor ID check in the utils to after pci_device_probe.
Even current libpciaccess seems to require this.
2007-03-16 19:41:54 -07:00
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