Commit Graph

1288 Commits

Author SHA1 Message Date
Keith Packard 02935ced3f Clean up overlay management.
Create separate on/continue/off functions for overlay.
Manage overlayOn boolean within those functions.
Eliminate redundant management code in other routines.
2007-05-23 20:47:52 -07:00
Keith Packard 08753f9b79 Use FLIP_CONTINUE with ~OVERLAY_ENABLE to turn overlay off.
This makes the overlay work on i830 with the modesetting driver. I don't
know why the pre-modesetting driver worked without this, but it did.
A more 'correct' fix would be welcome, but this does seem to do the trick.
2007-05-23 20:47:52 -07:00
Keith Packard aa187186dc Automatically select crtc based on coverage.
By default, select crtc based on which one covers more of the video output.
pipe property can be used to override selection when both have partial
coverage.
2007-05-23 20:47:52 -07:00
Keith Packard f5017a06a2 Use CRTCs instead of pipe indices for video pipe selection.
Replace pipe indices with crtc indices and store references to the xf86Crtc
objects in the video private structure.
2007-05-23 20:47:52 -07:00
Keith Packard 2df87256df Dump pending ring on crash.
When the hardware locks up, dump the pending commands in the ring for
analysis.
2007-05-23 20:47:52 -07:00
Michel Dänzer 9971fac876 i830: Provide new DRI texOffsetStart hook when available with EXA. 2007-05-22 10:46:39 +02:00
Michel Dänzer 5390a2e261 Update vblank pipes when a pipe gets disabled. 2007-05-18 17:51:36 +02:00
Wang Zhenyu 4120a20626 EXA: add render enter helper function
That notify mesa rendering is smashing the state, and check last 3d
operation to do sync after we're swapped in or others.
2007-05-18 10:10:34 +08:00
Wang Zhenyu 8db28aeaa6 Fix ring debug code
Use proper unsigned type for timer variables, and try to dump 965G state.
2007-05-18 09:54:34 +08:00
Wang Zhenyu 16e50a91dd EXA: remove a flush cmd in i915 render code 2007-05-18 09:53:36 +08:00
Keith Packard 12a9fcfe1b Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/driver/xf86-video-intel 2007-05-17 15:11:29 -07:00
Keith Packard e89d5f2754 Make each output control clones/crtcs. Split DVO into LVDS, TMDS, TV.
Move clone/crtc config into each output where it's easier to understand (no
need for a switch statement in I830PrepareOutputs. Also, split DVO into
three sub-types (TMDS, LVDS, TVOUT) as those have different cloning
abilities.
2007-05-17 15:00:12 -07:00
Keith Packard a441954630 Enable panel fitter on ivch DVO.
Using BIOS source code as a guide, set up the panel fitter on the ivch. This
involves setting the pipe to the panel fixed mode, the DVO to the source
size and assigning vertical and horizontal scaling factors in the ivch
itself.
2007-05-17 14:11:49 -07:00
Keith Packard c0daa0a982 Change DVO module interface to pass more state across. Fix IVCH display.
The DVO module interface reflected most of the xf86Output API to the
underlying functions; finish that work given the changes that have since
occurred in the xf86Output API.

Move the LVDS-specific code into the IVCH module and make that work on the
Thinkpad X30 (an i830-based laptop). Panel scaling does not work yet.
2007-05-16 14:02:00 -07:00
Keith Packard b28817a87a Add i830_bios_get_aim_data_block to read AIM data from BIOS
Add-in modules have per-module data in the BIOS which contains configuration
information which cannot be entirely discovered.
2007-05-16 13:59:36 -07:00
Keith Packard b31bef1a8e Deal with i830 CRT load detection which cannot use FORCE_BORDER.
Chips newer than the i830 can force the border color for the active period
of the screen, allowing the load detection to easily see the right data. In
addition, newer chips appear to have more sensible load detection hardware
which either ignores inactive periods on the screen or performs some
longer-term averaging. The i830 appears to provide unfiltered samples of the
detected load.

For the i830, then, emit a border at the bottom of the screen and, for load
detection, simply turn it purple and wait for the current line to be within
the border. Sample an entire scanline, counting the number of times the load
detection sees a monitor. In my testing, the presence of a monitor will
cause the detection to succeed every time, while the absense will cause it
to fail about 75% of the time. The code here, checks for presence at least
75% of the time, which should be adequate.

Also, as the new mode configuration code has already taken care to enable
the CRT output, eliminate much of the load detection code which is simply
duplicating functionality from the general mode setting code. This should
result in faster load detection as this code will now run in no more than
one frame time. It does burn the CPU the whole time though, polling the
displayed scanline register.
2007-05-12 20:04:31 -07:00
Eric Anholt b930bb9d6d Disable vblank interrupts when no DRI clients are running.
(cherry picked from commit 6621dd71ada839f4c1742e9e5b272e924cee21d9)
2007-05-03 13:55:37 -07:00
Eric Anholt 3b769af53e Disable vblank interrupts when no DRI clients are running. 2007-05-03 13:54:19 -07:00
Dave Airlie 775fc125aa i810: be a bit more verbose about disabling DRI 2007-05-03 20:59:39 +10:00
Eric Anholt 34f362d099 Fix typo s/i/index/ in LoadPalette for depth 16.
Reported by:	Haihao Xiang <haihao.xiang@intel.com>
2007-05-02 15:43:17 -07:00
Eric Anholt f850d4727a Make up a fixed panel timing for DVO LVDS, and use DVOA for DVO LVDS.
The fixed panel timing will only be available when the LVDS is already on
at X startup.

So far, our only mostly-working LVDS driver is for the i830, and on i830 the
LVDS is always on DVOA, so use that for all LVDS chips.  This may need to
change if we support the ch7017 I've seen used on embedded i845, for example.
2007-05-02 14:31:57 -07:00
Eric Anholt f3168e3b0c Disable non-working GTT decoding on i830, and fix map/unmap of GTT. 2007-05-02 14:31:57 -07:00
Eric Anholt 1fc630f24f Add DVO[ABC] register debugging. 2007-05-02 14:31:56 -07:00
Eric Anholt d0ec37e9c0 Make the DVO output name LVDS if it's an LVDS chip. 2007-05-02 14:31:56 -07:00
Eric Anholt 490d05f99d Fix typo in previous commit with s/XF86_DRI/XF86DRI/ 2007-05-02 14:31:56 -07:00
Dave Airlie c7bb34e83d disable all outputs on EnterVT
This disables all outputs on EnterVT as the SDVO output can confuse
the VGA output if the BIOS has enabled it on the same pipe but X
isn't going to use the SDVO.

Worked out on irc with keithp
2007-05-02 14:25:39 +10:00
Samuel Thibault cae0ae237b Bug #10714: Fix build without DRI. 2007-05-01 12:41:18 -07:00
Eric Anholt 6748d620fb Ignore VideoRam now that its original purpose is obsolete.
It had been necessary to allow more than a small amount of memory to be
allocated, but now those old small allocations people had configured are
getting in the way.
2007-04-30 19:15:34 -07:00
Eric Anholt a4f1a7872f Allow physical-memory allocations within stolen memory.
Because stolen memory happens to be a contiguous block of high system memory,
we can just read the GTT entries for it to get physical addresses for our
allocations there if needed.  This reduces fragmentation of the aperture space,
and will often reclaim up to 7 MB of memory that had been left unused since the
simplified aperture manager was put in place, but without reintroducing the
complexities of the old aperture manager.
2007-04-30 19:15:24 -07:00
Eric Anholt 7d0d34cfdc Disable some clock gating functions documented to work incorrectly. 2007-04-30 18:40:03 -07:00
Wang Zhenyu 138ac8f36c Alloc state mem buffer on 965G for xaa rotation
965G needs state mem buffer to setup render pipeline.
Thanks Barry Scrott for report this.
2007-04-29 14:43:19 +08:00
Kristian Høgsberg 0cd524e541 Implement the custom I2C protocol used by the ivch DVO.
The ihch DVO uses a modified I2C addressing scheme as described
in section 5.2 of the data sheet.  Implement this by over-riding
the I2C read and write word routines.
2007-04-25 18:09:10 -04:00
Keith Packard 880314aabe CRTC Rotation under XAA wasn't hitting accelerated path.
The server rotation code is now using the root window in IncludeInferiors
mode rather than using the screen pixmap. Change the XAA Composite code
to check for this case now.
2007-04-24 11:37:08 -07:00
Keith Packard b23eae55c8 Merge branch 'origin' 2007-04-19 20:38:18 -07:00
Keith Packard 31bf269afe Update version to 2.0.0 2007-04-19 20:03:41 -07:00
Wang Zhenyu cebdb8bfc6 EXA: set enabling bits properly for i830
This was found when debug exa on a 865GV, we should set
pipeline state bits properly, otherwise the engine will hang.
2007-04-20 10:54:34 +08:00
Keith Packard 60e891915a Eliminate LinearAlloc option and code.
With the fixes to the 2D frame buffer allocation that allows up to 65536
lines of 2D frame buffer in XAA mode, the old linear allocation hacks are no
longer necessary.
2007-04-19 14:02:23 -07:00
Keith Packard cca3897690 Clean up 1.2 xserver build support.
Convert relative X server source path to absolute.  Check for local copies
of needed header files before building, rather than requiring server source.
Remove extra duplicate -I elements in AM_CFLAGS in sub directories.
2007-04-19 13:15:23 -07:00
Keith Packard 07797fee88 Fix mismatching braces when XF86DRI_MM is not defined.
A closing brace was left inside #ifdef XF86DRI_MM while the matching
open brace was outside.
2007-04-19 13:01:37 -07:00
Keith Packard 163c565527 Use I2C delay function instead of usleep.
usleep isn't always available, and we have an existing delay mechanism
available to use.
2007-04-19 13:00:03 -07:00
Wang Zhenyu 378ceea3d9 Fix mem list order and remove extra unbind call when free memory 2007-04-19 17:30:28 +08:00
Alan Hourihane db4b9e1881 Fix return status 2007-04-18 13:52:08 +01:00
Alan Hourihane 3f5111940e Update read_response to include the try on PENDING status
and remove it from get attached displays call.
2007-04-18 13:28:25 +01:00
Eric Anholt 902388fa06 Don't try to init the XAA linear region unless we allocated memory for it.
Reported by JM Ibanez
2007-04-17 14:21:25 -07:00
Eric Anholt 8abecae202 Fix i852 EXA Composite acceleration setup.
Reported by JM Ibanez.
2007-04-17 12:28:47 -07:00
Timo Aaltonen 2dbe8d678b Fix build against xserver 1.2. 2007-04-17 12:28:47 -07:00
Eric Anholt a089ac11be Add all the possible ivch slave addresses (still commented out). 2007-04-17 11:01:24 -07:00
Eric Anholt 37ee68a95c Bug #10438: Fix 965 XV when sourcing from less than the full image.
Bob deinterlacing in MythTV, and the zoom options in totem would result in
attempting to source from outside the video instead of scaling appropriately.
2007-04-17 11:01:24 -07:00
Alan Hourihane ac9181c014 Check for the PENDING message when reading the attached
displays. Ensures the command has completed before continuing.

(probably need to check PENDING in other SDVO calls too)
2007-04-17 16:30:17 +01:00
Wang Zhenyu ab5bdee8a6 EXA: fix i830 render
Fix tex blend pipeline in case that src/mask pict has no
alpha. Unmask color buffer write disable bits. These make
rendercheck run fine on 855GM.
2007-04-17 16:23:46 +08:00