summaryrefslogtreecommitdiff
path: root/src/i810_reg.h
AgeCommit message (Collapse)Author
2007-11-15Move fb compression reg definition into i810_reg.hZhenyu Wang
where we put MMIO control reg in, and shared with intel_reg_dump program.
2007-08-28Add register defines for hw binningKeith Packard
2007-08-03Tiled rendering & fbc fixes:Jesse Barnes
- actually enable tiling in DSP(A|B)CNTR if needed - add logic to EXA routines for tiled case (still needs work) - enable/disable fbc on DPMS events (meant moving functions higher in file) - fix fence register pitch programming (use correct pitch instead of kludged value)
2007-07-31Legacy backlight changes:Jesse Barnes
- add support for 965GM - make sure legacy enabled systems don't reduce the range of backlight values we can present to the user
2007-06-21Follow BIOS configuration for Legacy Backlight Brightness.Keith Packard
The backlight control in the LVDS controller can either operate in 'normal' mode or 'legacy' mode. In legacy mode, it uses the PCI config space register 0xf4 which can range from 0 to 0xff. In normal mode, it reads the range and current value from the BLC_PWM_CTL register.
2007-06-08Add description for how to use the frame and pixel counter registers.Keith Packard
The 24-bit frame and pixel counters were not described in detail and will be useful for DRM.
2007-06-05Add support for the G33, Q33, and Q35 chipsets.Wang Zhenyu
These chipsets require that the hardware status page be referenced by an offset in the GTT rather than a physical memory address, so the X Server allocates it rather than the DRM.
2007-05-12Deal with i830 CRT load detection which cannot use FORCE_BORDER.Keith Packard
Chips newer than the i830 can force the border color for the active period of the screen, allowing the load detection to easily see the right data. In addition, newer chips appear to have more sensible load detection hardware which either ignores inactive periods on the screen or performs some longer-term averaging. The i830 appears to provide unfiltered samples of the detected load. For the i830, then, emit a border at the bottom of the screen and, for load detection, simply turn it purple and wait for the current line to be within the border. Sample an entire scanline, counting the number of times the load detection sees a monitor. In my testing, the presence of a monitor will cause the detection to succeed every time, while the absense will cause it to fail about 75% of the time. The code here, checks for presence at least 75% of the time, which should be adequate. Also, as the new mode configuration code has already taken care to enable the CRT output, eliminate much of the load detection code which is simply duplicating functionality from the general mode setting code. This should result in faster load detection as this code will now run in no more than one frame time. It does burn the CPU the whole time though, polling the displayed scanline register.
2007-05-02Add DVO[ABC] register debugging.Eric Anholt
2007-04-30Allow physical-memory allocations within stolen memory.Eric Anholt
Because stolen memory happens to be a contiguous block of high system memory, we can just read the GTT entries for it to get physical addresses for our allocations there if needed. This reduces fragmentation of the aperture space, and will often reclaim up to 7 MB of memory that had been left unused since the simplified aperture manager was put in place, but without reintroducing the complexities of the old aperture manager.
2007-04-30Disable some clock gating functions documented to work incorrectly.Eric Anholt
2007-03-20Set the panel fitter to the right pipe on Crestline.Eric Anholt
2007-03-20Merge branch 'master' into crestlineEric Anholt
Conflicts: src/i810_reg.h src/i830_display.c
2007-03-20Attempt to fix single/dual-channel issues on i9xx LVDS panels.Eric Anholt
- Use the existing single/dual-channel state when available, as changing it doesn't appear to work out. - Set the power state of the CLKB and B0-B3 pairs according to whether choose to go dual-channel or not. - Restore the LVDS register at the appropriate point (before DPLLs are re-programmed.
2007-03-03LVDS dither control moved from PFIT to LVDS register for CrestlineKeith Packard
The LVDS register now contains lots of new controls for dual-channel LVDS control along with dither enabling. The PFIT register has a lot fewer controls as a result.
2007-03-02Add a WIP UploadToScreen implementation. This almost displays right.Eric Anholt
2007-02-28Many fixes to mode_get, mode_set, clock limits, and register dumps on i855.Eric Anholt
This should fix a number of issues with i855s, particularly with integrated LVDS panels.
2007-02-23Rework the video memory allocation.Eric Anholt
The previous allocator worked in multiple passes, with (at least) one of setting up allocations, another to attempt to adjust those for tiling, and then a pass to set up the offsets and fix them in memory. The new allocator is simpler, allocating memory immediately if possible, setting up tiling up front, and choosing offsets immediately. AGP memory is only allocated to back actual memory used, saving some memory that would have been allocated for padding previous. It will also allow dynamic freeing and reallocation of memory, which will be useful for framebuffer resizing.
2007-02-15Print the correct meaning of bit 30 of pipeconf for 965 in debug output.Eric Anholt
2007-02-15Detect core clock frequencies, to avoid double-wide mode when possible.Eric Anholt
Additionally, don't attempt to set double-wide on the 965, where there is no such thing any more (not that we'd ever see modes high enough to trigger it).
2007-02-01Improve register debugging output.Eric Anholt
This includes not reporting some fields on hardware where those bits are reserved, correcting one of the hardware error bit numbers, and reducing the severity of the debugging output warnings.
2007-01-16Add a settable backlight property for LVDS.Eric Anholt
This extends the output funcs to have a callback for when it's time to configure properties, and another for when the server has changed a property whose value isn't pending a mode set. (Pending properties are to be picked up by the driver at mode_set time).
2007-01-03Add interlace defines for pipeconf regsKeith Packard
2006-12-12Extend the error state reporting to cover ESR and decode PGTBL_ERR for 945.Eric Anholt
2006-12-12More debugging output for SDVO.Eric Anholt
2006-12-05Add a bunch of per-register debug code to i830DumpRegs().Eric Anholt
2006-11-30Preserve some GPIO bits that the docs tell us to.Eric Anholt
2006-11-30Merge branch 'restructure-outputs' into modesetting.Keith Packard
Outputs and Crtcs now have a driver-independent representation which should permit generic code to control RandR 1.2 and startup configuration.
2006-11-29Properly detect the GTT size on the G965.Eric Anholt
In the past, the GTT has always been sized just large enough to map the whole graphics aperture. However, apparently on the G965 that isn't the case, and it is actually 512KB on hardware with a 256MB aperture. This resulted in X not bothering to allocate memory for 256KB that it thought was already mapped into stolen memory, and thus garbage rendering (particularly visible in large video modes that displayed this unallocated memory). The kernel happens to get the right answer by hardwiring a 512KB GTT size already, but that may not be true on future hardware. Instead, we use a convenient field in PGETBL_CTL that's specifically for the GTT size rather than the aperture size, which gets us the answer we want.
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-19Fix TV color key.Keith Packard
Subcarrier defines were incorrect in header file leaving one of the DDA phases disabled.
2006-11-19Preliminary 945 TV output. Color key is broken. Fixed mode.Keith Packard
TV output is generating video with this patch, but the color burst signal is incorrect somehow.
2006-11-05Fix CRT output on 965 chipset.Keith Packard
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-02Add another couple of new registersKeith Packard
2006-11-02Remove duplicated register defs that were just added.Eric Anholt
2006-11-02Add airlied's I2C code, ifdeffed out.Eric Anholt
I've gone back to compare our behavior to it several times, so I'll just keep the code in tree for now.
2006-11-02Add a few more registers from the 965 specKeith Packard
2006-10-31Move SDVOB_PRESERVE_MASK next to SDVOC_PRESERVE_MASK.Eric Anholt
2006-10-30Use the new fields for SDVO pixel multiply on the G965.Eric Anholt
This should fix display at resolutions/refresh rates in a different multiplier class than the console display (generally, high resolution modes).
2006-10-23Add work-in-progress integrated TV-out support.Eric Anholt
This is the TV connector on board for the 915GM and 945GM. It is currently not hooked up to output initialization as it's entirely untested. However, I think this is a reasonable starting point for getting TV-out actually working.
2006-09-27Merge branch 'master' into modesettingEric Anholt
This reverts most of the mergedfb code. This will instead be done in device- independent RandR code. Conflicts: src/Makefile.am src/i810_driver.c src/i810_reg.h src/i830.h src/i830_cursor.c src/i830_driver.c src/i830_modes.c src/i830_video.c
2006-09-27Attempt to make the ACPI hotkey support a little more modesetting-compatible.Eric Anholt
Previously, we watched for the BIOS to have changed the layout, and repaired the resulting configuration. Now, we request that the BIOS make no changes, but leave a note in a register for when the key has been pressed. When we notice this, we reprobe monitors and turn on/off the things we find. This is a temporary solution until we can get the hotkey hooked up as an input key to external applications to control the change using RandR 1.2. It is also untested as neither of my laptops do anything with the hotkey. However, this code does result in many fewer BIOS calls.
2006-08-29Fix bug with probing info of DFP2 and LFP2 connectedAlan Hourihane
devices (Aaron Ridout)
2006-08-09Merge branch 'textured-video', bringing in fixed-up i915 textured video.Eric Anholt
Conflicts: src/i830_video.c
2006-08-03Merge branch 'broadwater-video-rehash' into broadwaterEric Anholt
Conflicts: src/Makefile.am src/common.h src/i810_driver.c src/i810_reg.h src/i830.h src/i830_accel.c src/i830_cursor.c src/i830_dri.c src/i830_dri.h src/i830_driver.c src/i830_memory.c src/i830_rotate.c src/i830_video.c
2006-08-03Add current Tungsten Graphics code drop for i965 support.Alan Hourihane
2006-07-18Merge branch 'master' into textured-videoEric Anholt
This moves the i915 textured video implementation into i915_video.c to avoid conflicts in register definitions with i830_reg.h when we use i915_reg.h. This also means that i810_reg.h's i915 3D regs definitions are removed and replaced with i915_reg.h usage. Conflicts: src/i830_rotate.c
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.
2006-06-21Fix SDVO output at low pixel clocks.Eric Anholt
I had interpreted the docs as saying that the multiplier setting would further divide the clock and stuff dummy bytes in. Instead, we have to set the DPLL at the higher clock rate, and the pixel multiplier just controls the stuffing of dummy bytes. Also, we have to set the multiplier both in the graphics chip and on the SDVO device on the other side.
2006-06-20Merge branch 'modesetting-origin' into modesettingEric Anholt