summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-01-03Allow initial position to be set in config file. Increase 965 max size.Keith Packard
Add relative and absolute position configuration code, using per-output monitor sections. Options include: PreferredMode selects a preferred mode for this output by name Position absolute position, x and y in a single string. Below relative positions; argument names other monitor. RightOf Above LeftOf Enable force the monitor to be disabled by setting Disable enable to no or disable to yes. MinClock Set valid clock ranges MaxClock Monitor sections can also include sync ranges, physical size and mode lines as documented in xorg.conf(5). Monitors are associated with outputs through options in the Device section: Option "monitor-VGA" "My VGA Monitor" Output named 'VGA' will use monitor section "My VGA Monitor".
2007-01-03Sync dspbase/dspsurf registers by re-reading them.Keith Packard
This seems to eliminate base/surf value confusion during EnterVT.
2007-01-02 Various sparse cleanups:Jesse Barnes
NULL vs. 0 remove redundant pScrn in I830DRISwapContext make I830DRISwapContext static
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.
2007-01-02Typo disabled new DRI MM on all chips.Keith Packard
Detection for new DRI MM wasn't converted to #define correctly because of a typo.
2007-01-02Fix driver to build on RandR 1.2 systems again.Keith Packard
Changes to move initial config code to RandR 1.1/1.2 common path broke code required only for RandR 1.2.
2007-01-02Make driver build and run on Xorg 7.1. Delay DSP*BASE setting until last.Keith Packard
Autodetect libdrm version, disable new memory manager on older libraries. Move new M_T_ defines from i830.h to i830_xf86Crtc.h. Add many system headers to define functions. Use i830PipeSetBase at end of mode setting code to set DSP*BASE and flush changes. Don't duplicate PipeSetBase call from screen init function. Make initial RandR configuration code usable on older versions of extension so the server doesn't start in a panning mode. Use xfree instead of free in i830_tv.c.
2006-12-31Elide identical modes from reported list.Keith Packard
Where two modes would produce precisely the same crtc settings and have the same name, remove the latter mode from the mode list.
2006-12-31Replace author-specific license with generic license.Keith Packard
This file retained the old MIT license with the embedded author name. Replace that with the version that uses generic 'copyright holders' instead.
2006-12-31Replace author-specific license with generic license.Keith Packard
This file retained the old MIT license with the embedded author name. Replace that with the version that uses generic 'copyright holders' instead.
2006-12-30Prune default modes to EDID clock limit.Keith Packard
Pick out the EDID max clock value and use that to elide default modes which are too fast.
2006-12-30Merge branch 'modesetting-origin' into modesettingKeith Packard
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-29Relax tiling requirements on G965.Eric Anholt
For the 965, we can tile with the pitch at any integer multiple of a tile size (128 or 512B), up to 128KB.
2006-12-28Lack of configured monitor implies no configured modes.Keith Packard
Missing check for missing monitor configuration would result in segfault.
2006-12-28Sync ranges from EDID/default should not limit configured modelines.Keith Packard
Limit the effect of sync ranges so that sync ranges found via EDID will not eliminate modes explicitly added by the user. Limit default sync range to eliminating only default modes, not configured or EDID modes.
2006-12-28Belinea 10 15 55 monitor quirk - override preferred mode with largest @60HzKeith Packard
Belinea 10 15 55 model monitor reports a preferred mode of 640x350, when in fact it wants a 1024x768 mode @ 60Hz. Add an edid quirk that selects the largest size mode, preferring those closer to 60hz among equal sized modes.
2006-12-28Remove 8MB/32MB default VideoRam limits.Eric Anholt
With modern monitors and increased XV and EXA memory requirements, these small limits were resulting in DRI and other initialization failures because we wouldn't allow them enough memory. Instead, allow each piece of the system (DRI, EXA, XAA, etc) to request as much memory as it wants, and choose the actual videoRam to be used for laying out the memory afterwards. With this change, in the absence of a VideoRam option, 32MB will be allocated for textures.
2006-12-28Oops, dont use symlinks for stolen xf86 header filesKeith Packard
2006-12-28Add stolen xf86 header files to driver sourceKeith Packard
2006-12-28Merge branch 'modesetting-origin' into modesettingKeith Packard
2006-12-28Configuration support: per-output mode lines, preferred mode.Keith Packard
Add the modelines specified in the per-output monitor and all of the default modes to the list to each output. Prune the resulting list to specified sync limits and virtual sizes. Sort the resulting mode list on preferred/size/refresh.
2006-12-28In EXA mode, force backing pixmaps into memory when doing XV to them.Eric Anholt
2006-12-28Draw textured video to the backing pixmap in the composited case.Eric Anholt
Currently, when the backing pixmap is not in framebuffer, we just BadAlloc rather than drawing garbage to the front buffer. This can be fixed with EXA.
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-27Remove the nasty #define away of ErrorF in i830_video.c.Eric Anholt
Every new person touching this file hits this trap, so it's now removed.
2006-12-27Fix operator precedence issue that stuck 965 t-v state into the front buffer.Eric Anholt
2006-12-27debugging for location of various 965 textured-video state.Eric Anholt
2006-12-27Fix discrepancy between XAA/EXA linear allocations that broke EXA XV.Eric Anholt
The XAA allocator returned an offset from the beginning of the frontbuffer allocation (where the linear allocations come from), while EXA returned one from the start of framebuffer. Now, both of them use the start of framebuffer as the reference.
2006-12-27Bump the size of the extra space for 965 so it actually fits.Eric Anholt
2006-12-27Make the assert() in i965_video.c actually work and expose an error.Eric Anholt
2006-12-27Replace XAA mark/waitsyncs with the XAA/EXA wrappers.Eric Anholt
2006-12-27reformat i965_video.c to 4-space indents, 80 columns, no trailing whitespace.Eric Anholt
2006-12-27Move 965 textured-video out to a separate file.Eric Anholt
2006-12-27Bug #7524: Major improvements to EXA/XAA static memory allocation.Eric Anholt
With this, we no longer allocate XV through the XF86 linear allocator in the EXA case. We also no longer allocate extra space for the XF86 2D allocator that we don't use in EXA mode, or space for the EXA allocator in XAA mode. The EXA offscreen allocator now gets enough space for several screenfuls of pixmaps plus one 1920x1088 movie. A large duplicated section of code for allocating each framebuffer in the old dual-screen mode was also factored out.
2006-12-21If DDC detailed modes are missing physical size, pull from features.Keith Packard
Monitors without detailed modes, or those which do not bother to set a physical size in their detailed modes may still have physical size in the global data.
2006-12-21Merge branch 'modesetting-origin' into modesettingKeith Packard
2006-12-21Change belinea edid quirk to cover the 10 20 30W model as well.Keith Packard
This larger model reported different (but still incorrect) sync polarities, so instead of flipping them, just set them to the right value.
2006-12-21Use Vesa DDC timeouts for all I2C busses.Keith Packard
The default I2C timeouts are very short, and while most modern monitors have no trouble responding at that rate, some older ones cannot manage.
2006-12-21When cleaning duplicate modes, make sure ->Last is reset correctly.Keith Packard
When removing the very last mode for a monitor, move the ->Last pointer to the previous list element.
2006-12-21Add EDID quirk support for broken EDID data.Keith Packard
For EDID with known errors, add a quirk mechanism to automatically compensate. The first quirk is for a Belinea 1440x900 monitor which incorrectly specifies sync polarities in the detailed mode.
2006-12-21PLL computations missed one possible 'm2' value.Keith Packard
m2 was ranging from min <= m2 < max instead of <= max resulting in inaccurate PLL frequencies for some modes.
2006-12-21Computed corred color conversion values.Keith Packard
Extract correct color conversion values for all video formats from documentation. Use those, with appropriate conversions, for the color conversion register values.
2006-12-21TV subcarrier was computed from wrong clock value.Keith Packard
The constants provided in the documentation for the subcarrier DDA values assumed the clock was programmed to precisely 108MHz, but the PLL can't hit that value exactly (or our PLL computation can't, in any case). The result was an incorrect subcarrier frequency which resulted in synthetic subcarrier phase shift and a lovely rainbow effect on the screen. Unfortunately, the documentation didn't exactly describe the function performed by the subcarrier clock hardware, so a bit of detective work was needed. New constants were computed using the code in tv.5c and those, along with lots of other values from the documentation were inserted into the necessary tables. The result appears to generate stable NTSC video on the svideo connector.
2006-12-19Reinitialize DGA mode list whenever we update the global list.Keith Packard
DGA has a copy of the current mode list (yes, this is broken). Regenerate it whenever the ddx mode list changes.
2006-12-19TV output I830OutputPrivate had wrong type (crashed in SetMode).Keith Packard
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.
2006-12-19Re-initialize physical screen size only if -dpi was passed.Keith Packard
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.