Age | Commit message (Collapse) | Author |
|
This simplifies the memory allocation code and fixes a number of bugs.
Prior to this change, some flags may have been set after memory
allocation occurred, meaning they had no effect. It should also make
the allocation logic clearer.
|
|
|
|
The following patch fixes the display problem on internal development machines.
The code in commit 3c22ed633be2ac96eea7bc533839e956f1f31b84 (Jesse's force pipe
A enable patch) broke DPLL programming. Moving the DPLL set back up in the
function solves the problem.
Fix for internal bug #309.
|
|
Use the "immediate idle" mode for FBC. Rather than waiting for the current
compression pass to finish before signalling to the CPU that it's idle, this
mode should stop any current compression pass and tell the CPU that the GPU is
idle right away.
Seems to fix #13326.
|
|
|
|
|
|
We failed to include the pciaccess header flags in our build. Even if the
server was to include those flags for us, it would leave us broken for the
tools-only case, and it's easier to just put the flags everywhere so we avoid
future copy'n'paste mistakes.
|
|
The GMBUS was being left in SDVO pin access mode, which blocked our bit-banging
access to those pins. Thanks to Peter Jones for quick debugging turnaround
in getting this fixed.
|
|
Track current covered crtc rotation in port's private,
and fix overlay rotation transform to be against crtc mode
coordinate.
|
|
Some machines want DVOA, some DVOB. We can use this quirk to differentiate
them until we come up with a better solution. Patch from Hong Liu.
Fixes #13722.
|
|
ThinkPad X40s need this quirk or they'll crash frequently.
Fixes #14521.
|
|
The VGA register dumping code was leaving ARX in data mode rather than index
mode, which could cause problems for later software accessing AR* registers.
Fix it to make sure it's in index mode when we're done.
Fixes #14434.
|
|
When checking which pipe a given plane was associated with, we weren't properly
masking the pipe selection bits. Fixes #14481 and should allow the driver to
work with vesafb again.
|
|
|
|
My fault to change Hong's origin patch reversely.
|
|
Z61 has same subsys ids with X60, but does have one S-video
TV out. Use DMI info instead to quirk TV on X60, X60s.
|
|
Linux kernel has CONFIG_DMIID to export dmi info
through sysfs.
|
|
MI_ARB_STATE, MI_RDRET_STATE, ECOSKPD
|
|
For i830M stolen mem size mask should always be 0x70.
Use 0xF0 for later chipsets should be ok, so behavior is
identical to kernel agp.
|
|
|
|
|
|
The call to disable FBC should only occur if the FBC feature is actually
present or we may end up hanging on a read from a non-existent register.
|
|
Use PRIx32 for printing CARD32 types, and PRIx64 for portably printing uint64_t
types. Requires the addition of a new include, inttypes.h, to work. Hope C99
is ok with everybody...
|
|
Some chips can't support FBC if multiple pipes are active. So if more than one
pipe is on or we're going from one->two pipes enabled, make sure FBC is
disabled.
Intended to fix 13418, 13326, 13152.
|
|
We use the wrong DVO output register for ivch which is used for DVO LVDS.
Vbios enables DVOB and driver never touches it, so everything seems
working correctly now.
|
|
Just a partial fix for some of the FBC issues people have been seeing. The
other half is to disable FBC if both pipes are running.
|
|
|
|
|
|
|
|
EDID data for TMDS output got from crt should be applied
to TMDS output on mac mini.
|
|
Also fix debug dump, slightly modified to use macro instead.
|
|
These symbols must be explicitly exported, otherwise if compiled with
hidden symbols, LoaderSymbol (and dlopen) will fail to find them.
|
|
|
|
|
|
In case of device option or hw cursor allocation fails.
|
|
|
|
Order hardware status page setup more reasonable after
all memory bound, in case new chipset requires non-stolen
page and that could be bound then.
Also clean up drm irq handler install function, and put
first install in starting stage later than status page setup,
so we won't make device cry for uninitialized status page.
|
|
Also add support on new chipset.
|
|
Samples GPU idle register to detect when the GPU is busy; prints out the
number of busy samples per 100 total samples once per second.
|
|
|
|
Which was missing in our ScreenInit and initial EnterVT.
This not only causes failure in initial rotation with TTM,
as we won't bind in rotate_mem alloc in this case, and hide
another bug that we call randr12 function in I830LoadPalete
before we call xf86RandR12Init.
|
|
|
|
which was observed in rotation crash with stack overflow.
|
|
|
|
|
|
X fails to start without an xorg.conf on i810, because the default depth set by
the server (32) is not supported by the driver. I think the driver should
default to 16 bits (it supports 24, but when I tested it that didn't seem to
work very well, and dri is disabled at 24 bits depth anyway) instead of letting
the server use 32 and failing later on.
|
|
In some configurations, the LVDS may be off at startup along with the
backlight. So when turning the LVDS on for the first time, we may also need to
set the backlight to a non-zero value. So try to use the saved value if
possible, but if it's zero, make the backlight full brightness when turning on
the LVDS.
Note that this is slightly sub-optimal for configurations where zero is a valid backlight brightness.
Fixes fdo bz #13958.
|
|
Since we return early in the CRTC DPMS code, keeping the pipes & clocks
enabled, this code is no longer necessary. As an added bonus, VGA connections
should be reported correctly even when the pipe A quirk is active.
Updates fix for fdo bz #11432.
|
|
On some platforms, the firmware may read & write GPU registers on lid close,
suspend/resume time or during various SMM events. If one of the graphics pipes
is disabled at that time, the GPU may hang due to the programming dependencies
of the various registers.
This patch adds a quirk to force the driver to keep pipe A enabled if
necessary, through user configuration in xorg.conf or via a platform specific
quirk. Leaving the pipe enabled comes at a power cost however, so the quirk
should only be enabled when strictly necessary.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=11432.
|
|
|