Commit Graph

1460 Commits

Author SHA1 Message Date
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
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
Nanhai Zou 83d304c61a TV: fix 576p refresh rate 2008-01-02 10:50:44 +08:00
Joakim 96246c27cb Aopen Minipc 965GM LVDS quirk 2007-12-27 17:09:02 +08:00
Jesse Barnes f69b48fe24 Unconditionally restore pipe configuration
This is a partial fix for #13196, which covers both leaving pipes disabled at
server exit time and problems with restoring the pipe configuration on certain
chipsets.  It restores the pipe configuration unconditionally (previously we
made sure the PLL was running and we weren't in VGA mode) but also adds some
additional PLL settle time to the PLL register write paths.
2007-12-18 18:10:33 -08:00
Michel Dänzer 4757a218d7 Always set pPriv->buf to NULL after freeing the memory it pointed to.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=13108 .
2007-12-18 19:37:46 +01:00
Adam Jackson 5cbb411011 i830_sdvo_mode_valid: Fix return values to match what we actually check. 2007-12-13 15:10:43 -05:00
Jesse Barnes e720ae4476 CRT hotplug detection improvements
Patch from Hong Liu.

Fixup CRT detection by making sure the pipe is enabled before CRT
detection actually occurs.  Fixes bugs Hong was seeing on G35 and other
machines.
2007-12-10 13:00:14 -08:00
Dave Airlie d9df93578b ivch: fails on address mismatch as I seem to get this on my 865 system 2007-12-10 16:41:44 +10:00
Zhenyu Wang cd6f83519c Fix tv quirk for Dell Latitude X1
which is actually 915GM, reported by
Andreas Schildbach <andreas@schildbach.de>
2007-12-10 05:51:32 +08:00
Zhenyu Wang 13ec9c8141 exa: fix rendering issue on some 855GM laptops
This trys to initialize more 3d states on i830 like mesa
code, which fixes exa rendering failure for some 855GM users.
2007-12-09 00:52:13 +08:00
Jesse Barnes 6f92200db3 Fix backlight setting save/restore
We need to save the current backlight value at LVDS init time, as well as when
we change the DPMS setting.  Also, since 0 is a valid backlight value, don't
set the backlight value to maximum at startup if the value happens to be zero.

These fixes should make the backlight user experience much more consistent and
hopefully less frustrating.
2007-12-05 08:10:17 -08:00
Jesse Barnes 4c1fa52355 Add BCM_ to backlight control method enums
Avoids polluting the global namespace with such generic terms.
2007-12-04 18:27:24 -08:00
Jesse Barnes 30d74f1b1f Use "LEGACY" backlight method if backlight control is such
This may regress the user experience a bit (fewer backlight levels) on machines
where both the LBB and native registers work, but it's better that it work for
everyone than work extra well for some and not at all for others.
2007-12-04 18:23:44 -08:00
Zhenyu Wang 75ef3e669d Replace ALLOCATE_LOCAL/DEALLOCATE_LOCAL with xalloc/xfree 2007-11-28 22:13:55 +08:00
Alan Hourihane 7f9cefffbf vendor is CARD8 2007-11-16 15:56:08 +00:00
Jesse Barnes 4a2b0f3403 Fix typo in 1920x1080 resolution entry 2007-11-15 18:36:54 -08:00
Jesse Barnes 6eecef4fed Adjust default TV out paramaters
According to several users, a default brightness of 0 results in much better TV
output.  Improved control of these parameters will be provided by Randr1.3,
which will standardize several output properties across various chips.
2007-11-15 10:10:59 -08:00
Jesse Barnes 7552d80e36 Add 1920x1080 mode to TV out
Allows users to use 1080p modes on TV out, see bug #13034.
2007-11-15 10:07:34 -08:00
Zhenyu Wang e56c166ceb remove unnecessary i830_reg.h includes
i830_reg.h only contains 3d engine cmds for 8XX chips.
2007-11-15 18:37:57 +08:00
Zhenyu Wang 6f3de19159 Move fb compression reg definition into i810_reg.h
where we put MMIO control reg in, and shared with intel_reg_dump
program.
2007-11-15 18:33:27 +08:00
Jesse Barnes e64f492969 Backlight fixes
Open the "actual_brightness" file as read only, since we only read from it.
Also set an initial backlight_duty_cycle at init time so we don't set the
brightness to 0 at startup.
2007-11-14 16:44:34 -08:00
Jesse Barnes 53e3693ef1 Disable FBC by default on 965GM
Several people have reported that they see frequent FBC related display
corruption on 965GM, so disable it for now.  Users wanting to enable it can use
the driver option "Framebuffercompression" to override the default.
2007-11-14 16:24:56 -08:00
Jesse Barnes b2726899bc Add more FBC regs
Needed for the new debug code
2007-11-14 15:49:41 -08:00
Jesse Barnes b7bc694c6b Fix kernel get_brightness function
We need to look at "actual_brightness" rather than "brightness".  The former
contains the brightness value the kernel driver has actually set, while the
latter is merely what the user requested.
2007-11-14 15:46:57 -08:00
Jesse Barnes 9ee96ed02a Correct FBC debug message
To be consistent, it should say 'plane' rather than 'pipe'.
2007-11-14 15:44:56 -08:00
Jesse Barnes 675b9471d8 Add FBC registers to register dump output
Just for completeness.
2007-11-14 15:17:05 -08:00
Jesse Barnes a2a0821e74 Don't stop ring before restoring hw state
Some of the hw state restoration callbacks may want to use the ring for various
things like stopping video playback, so leave the ring enabled until we get
back from RestoreHWState.  Also rename the functions so that their purpose is
clearer and remove a couple of redundant lines.
2007-11-14 11:30:20 -08:00
Zhenyu Wang ad3bc0158d Don't enable fbc with XAA or tiling is off.
This slightly reworks my last fbc patch. We don't
support tiled front buffer with XAA now, so also
disable fbc on it. If tiled alloc failed, disable
fbc too.
2007-11-14 22:53:25 +08:00