Keith Packard
a0518f5a44
Remove mode setting from load detect CRTC allocation.
...
To share load-detect CRTC allocation with TV driver,
move it to the output driver
2006-11-26 19:44:38 -08:00
Keith Packard
a47c549df0
Clean up reworked data structure code so the server actually starts.
...
Use i830GeLoadDetectPipe again (instead of missing xf86AllocCrtc). Actually
create new Crtc structures. Fix a few other NULL pointer dereferences.
2006-11-26 18:26:26 -08:00
Keith Packard
2529863a1a
Start output/crtc restructuring work. It compiles.
...
Outputs and Crtcs are now split between 'generic'
and 'driver specific' pieces in the hope that more code
will be able to migrate to the xf86-generic layer.
Right now, the code remains tangled together, significant
work remains to tease the pieces apart. First the code
needs to be made to actually work as-is though.
2006-11-26 16:44:17 -08:00
Keith Packard
9aca4e2074
Remove custom configuration code (which was #ifdef'd out).
...
Multi-screen configuration is moving to generic code.
2006-11-22 15:52:32 -08:00
Keith Packard
850e3652f4
Note which pipe has failed to be configured for VBlank interrupt
2006-11-22 15:36:43 -08:00
Keith Packard
659e3db925
Set up maximum screen size for clone instead of panorama.
...
This avoids heading past the 8Kbyte stride limit of DRI so
that 3D will be available by default.
2006-11-22 15:35:59 -08:00
Keith Packard
03c12f8665
Limit DRI use to cases when pitch < 8Kbytes, not 4096 pixels.
...
3D rendering pipeline is limited to pitch of 8Kbytes and not 4096
pixels, which rather makes a difference at 32bpp.
2006-11-22 15:34:03 -08:00
Alan Hourihane
6781575f73
Be a little more verbose when rejecting modes.
2006-11-22 16:51:18 +00:00
Alan Hourihane
e065324661
update port attributes immediately when overlay is on.
2006-11-22 16:51:18 +00:00
Keith Packard
a0a9d1ea2a
Set configured values for screen virtual size and initial frame.
...
Computation for virtual size and initial frame origin is quite
broken in xf86 common code.
2006-11-20 17:25:00 -08:00
Keith Packard
d6a0f917e6
Enable second SDVO channel.
...
Rework SDVO support so that it can deal with two channels correctly,
also save/restore all connected output timings.
2006-11-20 15:17:32 -08:00
Eric Anholt
08b6569dc6
Enable TV output on Crestline (untested).
2006-11-19 16:15:45 -08:00
Eric Anholt
05202cabbd
Merge branch 'modesetting-origin' into crestline
2006-11-19 16:14:18 -08:00
Keith Packard
b945a650e9
Fix TV color key.
...
Subcarrier defines were incorrect in header file leaving one of the
DDA phases disabled.
2006-11-19 00:54:30 -08:00
Keith Packard
28224af3d9
Preliminary 945 TV output. Color key is broken. Fixed mode.
...
TV output is generating video with this patch, but the color burst
signal is incorrect somehow.
2006-11-19 00:40:46 -08:00
Eric Anholt
ee502dd92a
Merge branch 'crestline-origin' into crestline
2006-11-17 14:57:41 -08:00
Eric Anholt
15ff17c756
Merge branch 'modesetting' into crestline
...
This works for analog, but SDVO output appears to not work yet.
Conflicts:
src/i830_driver.c
2006-11-17 14:50:22 -08:00
Eric Anholt
816fc1a76a
Merge branch 'modesetting-origin' into modesetting
2006-11-17 00:05:53 -08:00
Keith Packard
7a7bb331e1
Don't dereference null DisplayModePtr on disabled output.
...
During initial configuration, outputs which are disabled have null
modes.
2006-11-16 21:19:20 -08:00
Wang Zhenyu
2fe6107ac6
Rotation support for 965GM
2006-11-17 13:11:36 +08:00
Keith Packard
c4508c1cad
RandR-based initial output configuration.
...
Using pre-init computed RandR information, make reasonable
default choices for the output configuration at startup time.
Either some preferred size or a size which yields 96dpi is chosen,
from which other monitors are set to a similar size. The largest
size sets the screen size.
This needs to be extended to respect config file settings, but
those have not been defined yet.
2006-11-16 21:09:23 -08:00
Eric Anholt
9948d8377d
Merge branch 'master' into modesetting
...
Conflicts:
src/i830.h
src/i830_cursor.c
src/i830_dri.c
src/i830_driver.c
src/i830_video.c
2006-11-16 19:47:24 -08:00
Eric Anholt
9cc2f3313d
Replace broken PCI resource size detection with pciGetBaseSize() call.
2006-11-16 15:23:56 -08:00
Keith Packard
45a27f80e1
Remove output options. Let outputs be connected to other crtcs.
...
Output options will be replaced by properties.
Permits outputs to be connected to arbitrary CRTCs (within hardware limits).
No cloning yet.
2006-11-16 13:38:35 -08:00
Keith Packard
9aea79d1e9
Inverted boolean sense when selecting pipe for CRT detection.
...
Pipes are available when they are not in use.
2006-11-16 11:40:26 -08:00
Eric Anholt
4889b9f333
Enable the LVDS if we find it and assign it to a pipe (oops).
2006-11-15 15:26:31 -08:00
Eric Anholt
854ff826c0
Disable setup of the second SDVO device until we fix it.
2006-11-14 09:14:24 -08:00
Eric Anholt
d51555fba4
Fix clock range for single-channel LVDS.
2006-11-10 14:40:44 -08:00
Eric Anholt
dd1dcfab0a
Fill in some of the high bits of mode timings for SDVO.
2006-11-10 11:08:02 -08:00
Eric Anholt
3955f044cf
Expose the DDC-probed EDID data as the EDID_DATA output property.
2006-11-09 20:28:46 -08:00
Keith Packard
0f5886689d
Create RandR 1.2 objects in I830PreInit.
...
Creating the objects early will allow the driver to use
randr structures to select a reasonable configuration.
That part has not been done yet.
2006-11-08 23:19:59 -08:00
Keith Packard
679c7bd826
ignore edited man page
2006-11-08 21:39:28 -08:00
Keith Packard
81b7b489af
Adapt to RandR updates that split object creation from screen association.
...
RandR DIX code is preparing for xf86 drivers that want to allocate RandR
objects at PreInit time. This patch adapts to that change without taking
advantage of it.
2006-11-08 21:38:00 -08:00
Keith Packard
81bace0c31
Merge branch 'modesetting-keithp' into modesetting
...
Conflicts in PipeSetMode were resolved to use the keithp changes
that pushed more modesetting stuff into the per-pipe function.
Switched availablePipes to num_pipes.
Used modesetting default output configuration.
2006-11-08 20:23:20 -08:00
Eric Anholt
713c5b0899
Change the output and pipe "is it on/off" field name to "enabled".
2006-11-08 19:55:31 -08:00
Eric Anholt
ff77e9d84f
Clean up i830_crt_detect_load() a bit more.
...
ADPA might not have been set right in some cases (DPMS-off monitor, for
example), and a wait for vsync that the bios does was missing.
2006-11-08 19:53:31 -08:00
Eric Anholt
9b267014b5
Go back to only setting up outputs that have a display connected.
2006-11-08 19:39:18 -08:00
Eric Anholt
35ab689bbd
Fix i830DisableUnusedFunctions after pipe structure change.
...
Using "pipe" instead of the index "i" meant pipe(3) got referenced instead of
a nice small integer. Oops.
2006-11-08 19:35:49 -08:00
Alan Hourihane
b649f95ea6
Disable some debug message
2006-11-08 19:01:25 +00:00
root
75f4df278e
855 fix
2006-11-08 13:56:32 +08:00
Keith Packard
f1ff01e31e
Eliminate operatingDevices member and PIPE_* values.
...
operatingDevices and MonType1/MonType2 duplicate information already stored
in the device structures. Eliminate them and replace uses with direct
references to the appropriate other data.
(cherry picked from 3ab7f96932 commit)
2006-11-07 15:17:27 -08:00
Keith Packard
0b2d36d4f0
Use pI830->availablePipes instead of MAX_DISPLAY_PIPES everywhere
...
(cherry picked from e4bcec796e commit)
2006-11-07 15:13:23 -08:00
Eric Anholt
d0ef9e99ac
Restore PFIT_CONTROL before turning the LVDS back on in the restore method.
2006-11-06 18:30:46 -08:00
Eric Anholt
94a3731c2b
Move PFIT_CONTROL disable for G965 up before post_set_mode.
...
Also, remove setting of some other random registers that appears to have
been spammed in at the same time, and don't try to disable on the I830, before
this register existed.
2006-11-06 18:28:55 -08:00
Keith Packard
beb89163d7
DSPSURF must be page aligned. Place intra-screen offset in DSPBASE.
...
DSPASURF/DSPBSURF can only take page aligned values, ignoring
the lower order bits. So, place the offset for the output
within the frame buffer in the DSPABASE/DSPBBASE registers instead.
2006-11-05 19:06:45 -08:00
Keith Packard
997e8c9bb4
Don't allocate stuff in the first 256K of video memory (GATT?)
...
Letting the ring buffer or other objects be allocated within the lowest
portion of memory appears to trash some memory mapping data; I'm assuming
this is the GATT table on the 965. Just marking this out of bounds for
allocation fixes this problem.
2006-11-05 18:56:33 -08:00
Keith Packard
5a355c7261
Fix CRT output on 965 chipset.
...
A few more register settings are needed to get CRT output working on the
965 chipset, in particular the the SDVO/UDI clock multiplier register
needed to get set to the default value (3). No, I really don't know what
this does, but it does get the CRT running at a wide range of sizes.
2006-11-05 18:51:28 -08:00
Wang Zhenyu
49a6bea7d9
Merge branch 'master' into crestline
2006-11-06 10:25:23 +08:00
Keith Packard
68c3185046
Avoid crashing when disabling sdvo output. XXX
2006-11-05 13:30:32 -08:00
Keith Packard
15ef08046b
Move remaining pipe mode setting logic to i830PipeSetMode
2006-11-05 13:29:56 -08:00