Age | Commit message (Collapse) | Author |
|
|
|
Conflicts:
src/i810_reg.h
src/i830_display.c
|
|
- 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.
|
|
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.
|
|
|
|
This should fix a number of issues with i855s, particularly with integrated
LVDS panels.
|
|
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.
|
|
|
|
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).
|
|
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.
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
Outputs and Crtcs now have a driver-independent representation which should
permit generic code to control RandR 1.2 and startup configuration.
|
|
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.
|
|
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.
|
|
Subcarrier defines were incorrect in header file leaving one of the
DDA phases disabled.
|
|
TV output is generating video with this patch, but the color burst
signal is incorrect somehow.
|
|
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.
|
|
|
|
|
|
I've gone back to compare our behavior to it several times, so I'll just keep
the code in tree for now.
|
|
|
|
|
|
This should fix display at resolutions/refresh rates in a different multiplier
class than the console display (generally, high resolution modes).
|
|
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.
|
|
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
|
|
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.
|
|
devices (Aaron Ridout)
|
|
Conflicts:
src/i830_video.c
|
|
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
|
|
|
|
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
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
Turn backlight on and off in response to DPMS state changes.
|
|
Add lots of register debugging to track delta from BIOS settings.
Fix various mode settings to mirror BIOS sDVO values.
Disable analog/lvds output on pipe with sDVO.
Borrow Dave Airlie's I830xf86ValidateDDCModes code.
Fix various sDVO I2C messages to mirror Dave's code.
|
|
|
|
|
|
but doesnt display anything either
|
|
|
|
some more other state.
|
|
Headers taken from TG code drop.
|
|
Conflicts:
src/i830_video.c
|