Commit Graph

1595 Commits

Author SHA1 Message Date
Zhenyu Wang 66cdccb021 Fix overlay rotation
Track current covered crtc rotation in port's private,
and fix overlay rotation transform to be against crtc mode
coordinate.
2008-02-25 14:29:09 +08:00
Jesse Barnes 975d7833bc Add quirk for DVO channel selection
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.
2008-02-22 11:41:25 -08:00
Jesse Barnes 33802b6ee3 Add pipe A force enable quirk for ThinkPad X40
ThinkPad X40s need this quirk or they'll crash frequently.

Fixes #14521.
2008-02-21 08:43:34 -08:00
Jesse Barnes 444984a578 Remove side effects from VGA debug code
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.
2008-02-21 08:37:42 -08:00
Jesse Barnes 28049540d8 Fix DSP*CNTR restoration
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.
2008-02-20 13:08:27 -08:00
Zhenyu Wang 293120bfc4 Don't leak memory if no DMI info is provided by kernel 2008-02-19 21:13:45 +08:00
Zhenyu Wang cdc5cb7c3d Fix last 8XX clock's p2 value commit
My fault to change Hong's origin patch reversely.
2008-02-19 08:51:53 +08:00
Zhenyu Wang be0591880f Fix Lenovo X60 TV quirk
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.
2008-02-18 14:35:06 +08:00
Zhenyu Wang d5e564c5f2 Add DMI info for i830 quirks
Linux kernel has CONFIG_DMIID to export dmi info
through sysfs.
2008-02-18 14:32:32 +08:00
Keith Packard 4a42b01f5e Decode DSPCLK_GATE, dump PIPE*STAT, MI_MODE, MI_DISPLAY_POWER_DOWN, MI_ARB_STATE, MI_RDRET_STATE, ECOSKPD 2008-02-16 18:16:37 -08:00
Zhenyu Wang 6633135598 Bug #14440: fix stolen mem size mask on i830M
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.
2008-02-15 13:20:22 +08:00
Eric Anholt 8c8ca16120 Add a little program to output the stepping information for several chipsets. 2008-02-08 11:54:49 -08:00
Jesse Barnes f5896dcd1f Add CACHE_MODE_0 register to dump output 2008-02-07 11:56:28 -08:00
Jesse Barnes d59eaa8b1e Only disable FBC if registers are available
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.
2008-02-06 09:35:43 -08:00
Jesse Barnes 83a071e2c0 Fix build warnings on 64 bit
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...
2008-02-05 17:09:19 -08:00
Jesse Barnes abf4b0cafa Only enable FBC if one pipe is active
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.
2008-02-05 13:30:51 -08:00
liuhong f79a585d57 xf86-video-intel: fix ivch using wrong dvo register
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.
2008-02-05 13:06:58 -08:00
Jesse Barnes cabed67b6a Program FBC fence offset register
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.
2008-02-05 11:36:24 -08:00
Zhenyu Wang 332587081f Fix last commit on i8xx debug p2 value 2008-02-05 10:34:55 +08:00
Hong Liu 2d18a299cf Fix PLL reference clk debug dump 2008-02-05 09:10:48 +08:00
Hong Liu 9536515d77 Allow non-strict free order for bo_list 2008-02-05 09:06:14 +08:00
Hong Liu 11de831cb7 Bug 10584: Mac Mini EDID data assigned to TMDS output
EDID data for TMDS output got from crt should be applied
to TMDS output on mac mini.
2008-02-05 08:58:44 +08:00
Hong Liu 9532757113 Bug 10773: fix i8xx pll p2 value in i830_crtc_clock_get()
Also fix debug dump, slightly modified to use macro instead.
2008-02-04 17:14:23 +08:00
Paulo Cesar Pereira de Andrade be1b568bc2 Make sure symbols used by other modules are public.
These symbols must be explicitly exported, otherwise if compiled with
hidden symbols, LoaderSymbol (and dlopen) will fail to find them.
2008-02-01 16:28:14 -08:00
Mark Kettenis cc1031a834 Bug #14246: Fix biuld on OpenBSD. 2008-01-31 21:02:48 -08:00
Eric Anholt b1e1c7cd99 Add detail on different units to intel_idle. 2008-01-30 23:09:50 -08:00
Zhenyu Wang aa3ac79759 Don't crash if SW cursor
In case of device option or hw cursor allocation fails.
2008-01-31 18:26:46 +08:00
Jesse Barnes 2e43bec873 Frame buffer compression support on new chipset 2008-01-30 18:59:12 +08:00
Zhenyu Wang bf629466a4 hardware status page initialization rework
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.
2008-01-30 18:55:20 +08:00
Zhenyu Wang 04032dad28 Wrap up chipsets which needs graphics address for status page
Also add support on new chipset.
2008-01-30 18:52:32 +08:00
Keith Packard b9c3fa79d9 Add intel_idle to measure GPU load ratio.
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.
2008-01-30 01:02:16 +11:00
Erik Andren 5d9e67aec3 Clevo M720R has no TV-out 2008-01-25 11:06:01 +08:00
Zhenyu Wang 6bf53eb48f Set vtSema before EnterVT
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.
2008-01-25 17:00:09 +08:00
Julien Cristau 94a18fa1f8 Don't build reg_dumper if we don't have pciaccess 0.10.0
The pci_device_map_range() function was added in libpciaccess 0.10.0, and
is used by the reg_dumper tool.  Don't try to build it if we have an older
libpciaccess.
Also make sure that util-macros >= 1.1.3 is available when running autoconf,
because it's required for the PACKAGE_VERSION_* macros.
2008-01-24 15:24:40 +01:00
Zhenyu Wang d341e41c86 Clear shadow memory after allocation 2008-01-24 10:40:18 +08:00
Zhenyu Wang 88a1041c53 Fix i830 block handler wrap
which was observed in rotation crash with stack overflow.
2008-01-24 10:36:06 +08:00
Andreas Stawinoga db0a7c569e Samsung Q45 has no TV output 2008-01-24 08:51:09 +08:00
Zhenyu Wang f54bba7600 Add missing i830M and 845G pci ids info 2008-01-22 00:48:23 +08:00
Julien Cristau 633dbd2821 Bug 14032: i810, set default depth to 16
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.
2008-01-17 22:34:21 +08:00
Jesse Barnes 4fec18e07f Turn on backlight when LVDS panel is powered up
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.
2008-01-11 10:28:59 -08:00
Jesse Barnes b5cf8faf81 Remove unnecessary quirk code in CRT probing
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.
2008-01-10 14:25:18 -08:00
Jesse Barnes 3c22ed633b Add pipe A force enable quirk
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.
2008-01-09 09:47:38 -08:00
Zhenyu Wang d3b41bcf23 Disable frame buffer compression on new chipset now. 2008-01-09 21:28:25 +08:00
Zhenyu Wang 2f0c0427dc Update PIPELINE_SELECT instruction and surface state format for new chipset 2008-01-09 21:27:42 +08:00
Zhenyu Wang 139e9affdd GTT access change for new integrated graphics device 2008-01-09 21:26:57 +08:00
Zhenyu Wang 4f288ff2d1 Add new integrated graphics chipset ids 2008-01-09 21:25:47 +08:00
Zhenyu Wang f089942689 Change origin i965G_1 to chipset market name G35. 2008-01-07 09:13:00 +08:00
Jesse Barnes 71143200ed Don't modify low bit of BLC_PWM_CTL when using combo backlight control
On some platforms, the low bit of BLC_PWM_CTL is wired as a 'max brightness'
flag, rather than a regular part of the backlight duty cycle.  So when in the
combo mode, divide the total number of backlight levels available by two
(tossing one bit) and adjust the programming in the set_brightness routine.

Note that platforms with this behavior may need quirks added so that they work
by default.
2008-01-04 15:01:25 -08:00
hulifox008 b434bf4029 Fix copy'n'paste-o in unused airlied i2c code. 2008-01-04 02:46:54 -08:00
Jesse Barnes f2ffc0f6e0 Fix compilation error when not using DRI
This patch complements 88f8b688e2 which
added uint64_t typed variables to avoid unsigned long overflows in
32-bit architectures but didn't include <stdint.h> with the required
definition.

When XF86DRI and _XF86DRI_SERVER_ are defined this header gets
indirectly included through "i830_dri.h", thanks to "i830_common.h"
which masquerades this problem as released in 2.1.0 and that manifests
with :

In file included from i810_driver.c:88:
i830.h:137: error: expected specifier-qualifier-list before 'uint64_t'
i830.h:240: error: expected specifier-qualifier-list before 'uint64_t'

Patch from Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
2008-01-03 11:16:15 -08:00