Commit Graph

604 Commits

Author SHA1 Message Date
Eric Anholt 85f404bc67 Re-indent ch7xxx driver. 2006-11-27 09:38:38 -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
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
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 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
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
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
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
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
Keith Packard 7fcb555735 Rename availablePipes to num_pipes 2006-11-04 00:52:21 -08:00
Keith Packard 3ab7f96932 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.
2006-11-04 00:46:18 -08:00
Keith Packard e4bcec796e Use pI830->availablePipes instead of MAX_DISPLAY_PIPES everywhere 2006-11-03 23:29:12 -08:00
Keith Packard b7262a9a91 Finish removing persistant vbe data 2006-11-03 23:24:07 -08:00
Keith Packard 4625073244 Oops, martian memset of randr modes pointer 2006-11-03 23:23:38 -08:00
Keith Packard 719ad68515 Use VBE only temporarily to fetch BIOS rom image
(cherry picked from 6a9386651785afc70a29e355255e8295b321f28e commit)
2006-11-03 21:48:45 -08:00
Eric Anholt 27df2ff790 Report pipe status (and status mismatches) in i830DescribeOutputConfiguration() 2006-11-03 16:39:49 -08:00
Eric Anholt ecbe73b940 Merge branch 'modesetting-origin' into modesetting
Conflicts:

	src/i830_display.c
2006-11-03 15:59:59 -08:00
Eric Anholt 561af00797 Add support for load-based CRT detection. 2006-11-03 15:57:34 -08:00
Eric Anholt e416b426d8 Print out modelines as info, not error (which had been used for debugging). 2006-11-03 15:25:41 -08:00
Eric Anholt 282a9e073e Don't memset the modes pointer on init, which was dereferencing NULL. 2006-11-03 13:46:09 -08:00
Keith Packard 9681602177 Create I830PipeRec to hold pipe-specific data. Remove unused I830 members.
I830 contained six parallel arrays for pipe-specific data; these
have been moved to a I830PipeRec structure instead.

I830 also contained several unused members:

   unsigned int bios_version;
   Bool newPipeSwitch;
   Bool fakeSwitch;
   int fixedPipe;

These have been removed, along with the code that set them.
2006-11-03 12:55:25 -08:00