Commit Graph

759 Commits

Author SHA1 Message Date
Keith Packard 001e272437 Auto-detect working TV output by checking TV regs functionality.
We can't figure out which chips are supposed to have TV out, so instead we
prod the TV_DAC register to see if it will hold the value written to it, if
not, we assume the chip doesn't have TV out.
2006-12-13 12:08:58 -08:00
Keith Packard df0a5a25aa Rename outputs to TMDS-1/TMDS-2, LVDS, TV and VGA.
These names are reasonably short and describe the connector rather than the
target media, but we don't appear to have any way to determine what is on
the other end of the wire. More importantly, they're all unique now.
2006-12-13 11:38:18 -08:00
Keith Packard 4cdcaac26b Write dpll_md register while updating dpll as that appears to be required.
SDVO multiplier on 965 is in the dpll_md register; for some reason, that
needs to be written along with the dpll value or the multiplier doesn't get
set correctly.
2006-12-12 23:26:00 -08:00
Keith Packard 9dd1520421 Merge branch 'modesetting-origin' into modesetting 2006-12-12 22:52:59 -08:00
Keith Packard d57a258153 Elide duplicate modes in pScrn->monitor.
xf86DDCMonitorSet dumps all of the DDC-discovered modes
into the monitor mode list without checking to see if they
are already present. This provides an ever-changing list of
modes for outputs which have no DDC and which simply duplicate the monitor
mode list.
2006-12-12 22:48:21 -08:00
Eric Anholt 63bf48481d Correct typo in mac mini hack, and return modes when the hack is unnecessary. 2006-12-12 22:42:41 -08:00
Eric Anholt 41444183b5 Replace custom, partially broken DPMS implementation with a generic one. 2006-12-12 18:08:57 -08:00
Eric Anholt 7ed1b05922 Fix mac mini SDVO output: write the SDVO[BC] enabled register state twice. 2006-12-12 16:03:52 -08:00
Eric Anholt 9776f6c68b Flush the plane changes in i830_crtc_dpms()
Otherwise, the changes may not have taken effect.
2006-12-12 16:02:47 -08:00
Eric Anholt 54823ac39c Move the SDVO sync detection to after we've turned the port on. 2006-12-12 14:55:10 -08:00
Eric Anholt ec45d72743 Extend the error state reporting to cover ESR and decode PGTBL_ERR for 945. 2006-12-12 14:55:10 -08:00
Eric Anholt 838af10b85 Move PrintErrorState and CheckInheritedErrors code to i830_debug.c. 2006-12-12 14:55:10 -08:00
Eric Anholt 668ae6ce3c Set the SDVO port to on before sending the SDVO output on command. 2006-12-12 14:55:10 -08:00
Eric Anholt 91a538bead More debugging output for SDVO. 2006-12-12 14:55:10 -08:00
Eric Anholt ce54538b90 Add a hack for DDC on my Mac Mini. 2006-12-12 14:55:10 -08:00
Eric Anholt c8c1fb64cc Move the overlay mode switch status updates to when we enable/disable crtcs.
This should help if we mode switch with randr during video playback, and also
simplifies the code by moving the protection all to one place.
2006-12-11 16:02:29 -08:00
Eric Anholt 3f3791ba2e Remove remnants of old savedCurrentMode hack. Man, that was gross. 2006-12-11 15:20:15 -08:00
Eric Anholt c21baa5a30 Remove dead remnants of old clone mode support. 2006-12-11 15:15:01 -08:00
Joshua J. Berry b3865f3466 Include i830.h to get M_T_* compat defines for older X Servers.
Not duplicating the defines ensures that we won't let the compat bits slip
into the X Server when we move this code over there.
2006-12-11 14:46:56 -08:00
Eric Anholt 24d9521c7a Add error messages for previous silent DRI initialization failures. 2006-12-11 14:46:55 -08:00
Keith Packard fde52de870 Merge branch 'modesetting-origin' into modesetting 2006-12-06 23:40:13 -08:00
Keith Packard 7dbe6c378d Move vga restore to end of RestoreHWState.
I was having consistent system lockups when the vga restore
was first. Moving it to the end has reduced them to an infrequent
occurrence (but, alas, it has happened once since). This does not
make me happy.
2006-12-06 23:39:14 -08:00
Keith Packard 28c7002b1c Use DOUBLE_WIDE mode on all hardware.
DOUBLE_WIDE mode is needed when the pixel clock is > 90% of the core
clock rate. The code guesses what the core clock rate is based on
the bus (AGP -> 133MHz, PCI-E -> 200MHz).
2006-12-06 23:35:15 -08:00
Eric Anholt 85de8a0580 Include render.h to get SubPixelUnknown define. 2006-12-06 20:26:53 -08:00
Keith Packard 182d2f503a Merge branch 'modesetting-origin' into modesetting 2006-12-06 17:18:58 -08:00
Eric Anholt 6777d8044d Harmless warning fix. 2006-12-06 17:10:06 -08:00
Eric Anholt c6ce8a3c33 Reduce dumpregs to X startup, after a mode set, and LeaveVT.
While here, remove some other register dumping that is better done by
i830DumpRegs().
2006-12-06 17:08:30 -08:00
Eric Anholt b23dec37b2 Save/restore registers around calls in PreInit with register side-effects. 2006-12-06 17:08:30 -08:00
Eric Anholt d3c21c09e3 Remove stale i830_tv_pre_set_mode. Replaced by generic dpms hook call.
Also replaced by not spamming unrelated ADPA register.  At least, it had sure
better not be related.
2006-12-06 17:08:30 -08:00
Eric Anholt 9c3e733aaa Save/restore more TV registers. 2006-12-06 17:08:30 -08:00
Keith Packard d5ec9d2160 Cannot modify DPLL register in output mode_set function.
DPLL register contains clock setup, so it cannot be written
from the output mode_set function or 'bad things' happen.
2006-12-06 14:44:40 -08:00
Keith Packard 5d345c13a9 Clean up SDVO multiplier debug output 2006-12-06 13:19:58 -08:00
Keith Packard 6ee63364f5 Merge branch 'modesetting' into nonrandr-setup
Also, fix buffer overflow in i830_debug.c
2006-12-06 12:53:22 -08:00
Eric Anholt b75ecdb483 Merge branch 'generic-mode-set' into modesetting 2006-12-06 11:59:33 -08:00
Eric Anholt b3bb10e33e Fix LVDS: Don't change bits in LVDS other than port enable/pipe select.
This behavior matches what we did before when LVDS worked.
2006-12-06 11:53:40 -08:00
Eric Anholt 47d07b1073 More LVDS fixed mode fixing: use the EDID DTD's blank length. 2006-12-06 10:56:38 -08:00
Eric Anholt 727bf1cbf7 Add missing newlines to new debug output. 2006-12-06 10:12:49 -08:00
Eric Anholt 236c53be5d Fix LVDS fixed mode code after generic-mode-set. 2006-12-06 10:10:27 -08:00
Wang Zhenyu 1cb6311c11 fix typo in checking xf86CrtcScreenInit return 2006-12-06 16:31:00 +08:00
Keith Packard 56f7119415 Use xf86 structures for default config instead of RandR.
To avoid requiring RandR 1.2 in the X server, use the
xf86 Crtc and Output structures as the basis for the default configuration
computation (and, eventually, the config-file based configuration as well).
2006-12-06 00:13:57 -08:00
Keith Packard ffd8aacbe7 new server APIs are not in server-1.2 (version 7.1.99.2) 2006-12-05 19:48:39 -08:00
Keith Packard a736496114 Capture VGA registers sooner so checks are more informative 2006-12-05 19:47:04 -08:00
Keith Packard 62fba80d3e fix up misleading comment in i830_crt.c about border register 2006-12-05 19:43:41 -08:00
Eric Anholt 1d94ec7de3 Fix ordering of PIPE[AB]SRC debug output to be (x, y). 2006-12-05 18:22:59 -08:00
Eric Anholt eee23fdd0d Fix copy'n'paste-o of the ordering of h/v fields in DSP[AB]SIZE. 2006-12-05 18:19:49 -08:00
Eric Anholt 58c247c6de Merge branch 'modesetting-origin' into modesetting
Conflicts:

	src/i830_display.c
2006-12-05 15:28:21 -08:00
Eric Anholt 0b4c3e7bff Add a bunch of per-register debug code to i830DumpRegs(). 2006-12-05 15:03:48 -08:00
Eric Anholt 7844e576e7 Move reg dump from i830PipeSetMode to after we set up the modes with RandR. 2006-12-05 14:39:24 -08:00
Eric Anholt e777d38ce9 WIP code to move mode set sequencing to XFree86 handlers.
It compiles.  It definitely doesn't run.
2006-12-05 12:15:34 -08:00
Keith Packard 2e8c927f93 Re-create RandR Crtc/output structures on server regen.
RandR structures must be re-created when the server reinitializes,
but the driver PreInit function is not re-invoked. Recreate them
manually in this case during ScreenInit.
2006-12-04 14:02:30 -08:00