summaryrefslogtreecommitdiff
path: root/src/i830_dvo.c
AgeCommit message (Collapse)Author
2007-06-22Bug #11171: Add support for the Ti TFP410 DVO TMDS transmitter.Dave Mueller
2007-06-22Move the ivch's fixed panel mode support to i830_dvo.c for other LVDS drivers.Eric Anholt
This also results in removal of the setup hook, which was being called unconditionally and breaking non-ivch dvo drivers.
2007-06-21Eliminate some uninitialized variable warningsKeith Packard
2007-05-17Make each output control clones/crtcs. Split DVO into LVDS, TMDS, TV.Keith Packard
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-16Change DVO module interface to pass more state across. Fix IVCH display.Keith Packard
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-02Make up a fixed panel timing for DVO LVDS, and use DVOA for DVO LVDS.Eric Anholt
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-02Make the DVO output name LVDS if it's an LVDS chip.Eric Anholt
2007-04-25Implement the custom I2C protocol used by the ivch DVO.Kristian Høgsberg
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-17Add all the possible ivch slave addresses (still commented out).Eric Anholt
2007-03-16Add the (afaict) correct ch7017 I2C slave address.Eric Anholt
2007-03-04Support new CRTC/Output prepare/commit hooks.Keith Packard
New hooks replace explicit invocation of DPMS functions to manage mode setting sequencing.
2007-01-02Use correct variable to initialize DVO I2C bus.Dave Airlie
intel_output->pI2CBus isn't initialized until the output is all happy and running, so using it before that is rather unlikely to do much good.
2006-12-30Detect in ProbeModes. Let get_modes set edid. Prune interlace/dblscan.Keith Packard
Move output connection status detection from RandR code up to ProbeModes so it is done before mode sets are built. Otherwise, the mode building code will elide all modes the first time through as it ignores outputs that are disconnected. Most get_modes functions fetch EDID data; make sure that any EDID changes are used in the ProbeModes filtering of default modes. Otherwise, stale EDID data will be used. Allow outputs to advertise support for interlaced and double scan modes; prune such modes from the default mode list when outputs do not support them.
2006-12-28Add WIP CH7017 LVDS driver. This is disconnected because it's untested.Eric Anholt
2006-12-28Add WIP IVCH (i82807aa) driver.Eric Anholt
It is not currently hooked up as it hasn't been tested. The hardware that this was written for decided to stop working.
2006-12-28Reformat the DVO drivers table to be a bit more normal style.Eric Anholt
2006-12-28Move dvo driver detection into i830_dvo_init(), and use GPIOB for LVDS drivers.Eric Anholt
The documentation states that GPIOB is (generally) used for devices on DVOA on the motherboard, which appears to be the case on the laptop we have with LVDS on the motherboard. This patch is probably not entirely accurate, as there was apparently an LVDS DVO card sold that could be put in desktop machines, which would likely be on GPIOE like other ADD cards. Given that we couldn't find one of these cards for purchase, I'm not worrying about it.
2006-12-18Add a detect() function for DVO chips, and implement it on sil164.Eric Anholt
2006-12-18Clean up i2c_vid interface, including de-StudlyCapsing and removing dead code.Eric Anholt
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().
2006-12-18Fix DVO mode valid function to not throw out all modes.Eric Anholt
2006-12-13Rename outputs to TMDS-1/TMDS-2, LVDS, TV and VGA.Keith Packard
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-06Merge branch 'modesetting' into nonrandr-setupnonrandr-setupKeith Packard
Also, fix buffer overflow in i830_debug.c
2006-12-06Use xf86 structures for default config instead of RandR.Keith Packard
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-05WIP code to move mode set sequencing to XFree86 handlers.Eric Anholt
It compiles. It definitely doesn't run.
2006-11-27Move crtc/output config to sub-structure.Keith Packard
Place crtc/output in separate structure at head of driver private structure. Use this from the config code to make it driver-independent. Still lots of effectively driver independent code that continues to use driver dependent stuff, but that will change.
2006-11-26Start output/crtc restructuring work. It compiles.Keith Packard
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-01Move mode lists from per-pipe to per-output.Eric Anholt
This should let RandR do the right thing in exposing the modes to userland. As a side effect of getting this working, the SDVO pixel clock range code was fixed and the mode valid tests for various outputs got extended. Also, LVDS grew a get_modes for the fixed panel mode. Note that we now no longer do automatic enabling of outputs at xrandr -s 0, hotkey, or VT switch. That will be left to generic RandR code later. Also, generic modes and user-defined modes are once again not validated into the lists, so this is a regression there.
2006-10-31Give each output a get_modes function and expose those modes through RandR.Eric Anholt
The get_modes should return the probed modes only. The driver should then append to the list (for example, compatible modes listed in other outputs, or standard VESA modes) to create the list to expose through RandR. That isn't done yet.
2006-10-31Move output connection detection to a per-output method.Eric Anholt
This will be used by RandR, and should let us clean up some of the initial display configuration, hopefully. Also, analog hotplug-based detection is now enabled on G965.
2006-10-16Add a per-output mode-valid method.Eric Anholt
This is currently disconnected, but will be used in more overhaul work. This should be where any output limitations, such as clocks, resolution, scaling limits, or other options, are validated. Other limitations, such as chipset resolution limits, CRTC clock limits, etc. should be elsewhere.
2006-10-09Move per-output mode setting code to per-output methods.Eric Anholt
This is not a very clean interface, as a number of outputs require tweaks to the DPLL registers. When possible, the DPLLs are just adjusted in the per-output post_set_mode, which happens just after the DPLL is enabled. However, this seems better than the previous method of having all outputs programmed in the same function.
2006-10-05Remove checks for output privates in various bits of code.Eric Anholt
Now, the output is only set up if it fully initializes, so it will never exist if the private it requires doesn't.
2006-10-05Give each output type an init method in its file, making other methods static.Eric Anholt
2006-10-04Move the save, restore, and DPMS per-output settings to per-output files.Eric Anholt
2006-07-10Supply proper NULL-terminated symbol lists to avoid crashing.Eric Anholt
2006-07-07Initial add of DVO support code. Probes my sil164.Eric Anholt
This is a mostly-untested merge of airlied's work. The I2C modules are intended to be moved into the core server or a separate driver module when they're functional and we're happy with the API.