Age | Commit message (Collapse) | Author |
|
|
|
TV output private type field was set to I830_OUTPUT_SDVO instead of
I830_OUTPUT_TVOUT. When DGA mode setting occurred, the sdvo output debug
code would be invoked and attempt to dereference sdvo-specific bits of the
private structure leading to a segfault.
|
|
Physical screen size from the config file or DDC will already
be set correctly in the screen structure, unless it was computed from the
virtual size using the -dpi command line option. Recompute physical size as
we reset the screen size if the -dpi option was used.
|
|
|
|
|
|
|
|
|
|
Also, clean up the message if the limitation is hit.
|
|
This bug resulted in broken xinerama, among other issues.
|
|
|
|
We're not supposed to turn off pipes/planes/dplls with outputs attached, which
we could have done before this.
|
|
|
|
We were forcing bus lines to 1 which was breaking DDC for some monitors.
Instead, make the PutBits function just tristate when writing 1 bits.
|
|
|
|
|
|
|
|
The old Init() function is removed and the previous Detect() function is now
init(). This leaves us room in the namespace for a detect() like other
outputs have ("is the monitor connected?"). Also, Power() became dpms(),
taking a DPMSMode*. In general, the mode setting path now matches the intel
internal path, except for the lack of mode_fixup().
|
|
Don't load if we don't match name
|
|
|
|
With this, the driver works at 640x480 and 1280x1024 on my panel.
|
|
|
|
|
|
|
|
|
|
This reverts commit 08575331ac75783c9910cfb6e78db701a29983ac.
|
|
This is an un(der?)-documented part of the render protocol: If the mask is
alpha only, then the component alpha flag is ignored on it.
|
|
|
|
Add delays after output and CRTC disable. Restore panel fit register before
PLLs are restarted. Move all VGA restore code last. Shuffle various register
writes around and add delays to match PipeSetMode code.
|
|
For some reason, the code was preferring the last possible output when
mapping outputs to crtcs. Use the earlier CRTC instead to make the i830
driver consistent with BIOS usage.
|
|
Oops--looks like a typo to me; the code was callint set_target_output
instead of set_active_outputs.
BIOS loops waiting for the SDVO input to sync before enabling outputs, this
makes sense to me.
|
|
965 BIOS writes DPLL and then DPLL_MD.
945 BIOS writes DPLL twice.
|
|
|
|
|
|
This gets VGA output and text restore working, but SDVO is still not working.
|
|
Instead of delaying pll/pipe/plane enables to the dpms function, turn them
on right away in the crtc_set_mode function. To avoid rewriting these
registers in the subsequent dpms function, check each register written there
to see if the enable bit is already on and don't rewrite.
|
|
Instead of growing virtual to fit our desired sizes, if it is set in the
config file, use the value as the virtual size and make the default
configuration fit within that size (if possible).
|
|
Initialization and default configuration code needs to know the range of
legitimate sizes for the frame buffer.
|
|
This avoids having the artificial TV mode size drive overall screen size.
|
|
Pull xf86CrtcConfig out of the driver private structure and allocate a
ScrnInfo private index for it. Also, make the arrays of outputs and crtcs
dynamic instead of fixed.
|
|
|
|
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.
|
|
|
|
While it doesn't specifically help/hurt my test case, we've seen enough
mysterious behavior that caution is probably warranted.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|