Commit Graph

2467 Commits

Author SHA1 Message Date
Carl Worth 73c3be1aa0 README: Fix typos in chipset list, and point to how_to_report_bug web page
Thanks to Gordon Jin for these suggestions.
2009-04-15 18:18:14 -07:00
Carl Worth c51dddb724 AUTHORS: Add Robert Lowery to the authors file
Rob got missed from my first scan since one commit lists his name as
just 'Rob' and 3 commits don't attribute him as author:

	83d304c61a
	7552d80e36
	6eecef4fed
2009-04-15 18:07:17 -07:00
Robert Lowery 4b5edde5da Fix typo in comment
Thanks to Robert Lowery for the sharp eyes on this one.
2009-04-15 18:03:31 -07:00
Carl Worth 3fd5a1ecd1 RELEASING: Update instructions to reflect some minor process improvements
We've added a NEWS file now, so that needs to be updated for each release.

We're also now using tag names of just <version> rather than
xf86-video-intel-<version>.
2009-04-15 16:44:11 -07:00
Carl Worth e1cace16a6 NEWS: Add note about broken PAT code in some kernels
Hoping to cut off some false bug reports here.
2009-04-15 16:33:12 -07:00
Carl Worth 9ffd1951d1 Add AUTHORS and NEWS to EXTRA_DIST
These new files don't do us much good if we don't distribute them in
our releases.
2009-04-15 16:14:44 -07:00
Carl Worth e4cd9de293 Add a NEWS files with release-notes for 2.7.0
It will be nice to have release-notes under revision control, as well
being able to document issues in an obviously time-sensitive file,
(as opposed to README where we were documenting some of this previously).
2009-04-15 16:14:03 -07:00
Carl Worth 506c810f8f Clarify that the default acceleration is UXA if KMS is available.
Stale documentation considered harmful of course.
2009-04-15 16:10:52 -07:00
Carl Worth b9716b836c Add a new AUTHORS file
This is a sorted list of everyone with more than 2 commits in the git
revision history. We also list some historical authors mentioned in the
man page, (with code presumably pre-dating the beginning of revision
history).
2009-04-15 15:39:06 -07:00
Carl Worth 8deb3a3709 README: Remove almost all time-sensitive information
This was all very stale, and is better convered in intel.man. We replace
this with a list of pointers to where to get current information, (man
page, web site, and mailing list).
2009-04-15 15:38:11 -07:00
Li Peng 9b615a5267 Turn on front buffer tiling in KMS.
This code disabled front buffer tiling in KMS. Turn it on since kernel
handles all tiling now, this improves performance of x11perf -aa10text
from 97k to 286k on my 945GME.

Should help with #20761, if not totally fix it.

Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Li Peng <peng.li@intel.com>
2009-04-13 12:45:41 -07:00
Ma Ling 053432991c update manpage for BROADCAST_RGB property 2009-04-13 14:31:06 +08:00
Ma Ling 62ba7211fe set broadcast RGB mode for integrated HDMI output. 2009-04-13 14:30:45 +08:00
Ma Ling 69388953ce set broadcast RGB mode for HDMI and TMDS from SDVOX output
Almost all digital TVs accept broadcast RGB values from 16 to 235 for each channel,
otherwise for those uncompensated videos, when RGB values are set from 0 to 255,
they will shows black and whiter clamping, which seriously degrades picture quality.
The patch will enable the broadcast RGB mode for hdtv according to user's setting.
It fixed bug #14486
2009-04-13 14:29:44 +08:00
Carl Worth 6d345c49f6 Add a RELEASING file documenting the release process
Thanks to Jesse Barnes for the original recipe.
2009-04-10 14:31:32 -07:00
Jesse Barnes 7e516b6d24 Silence warning in i830_dmi_store_field
Just add a dummy ret variable to shut up gcc.
2009-04-08 17:01:57 -07:00
Jesse Barnes 620e97bbd6 Don't enable kernel execbuf fencing w/EXA
If we enable kernel execbuf fence register management, it's best if the
kernel manages all fence registers.  This works fine if the accel
method is managing pixmaps or doesn't use offscreen pixmaps.  However
with EXA, pixmap accesses are done relative to the framebuffer BAR
mapping (pI830->FbBase) and the Screen pixmap address.  So if we try to
set the screen pixmap to point at a GTT mapped (and therefore properly
fenced) address, later calls to intel_get_pixmap_offset() will call
into EXA, which will use the pseudo-random pixmap addr and the EXA
offscreen base addr (which is really just FbBase) to calculate the
offset.  This will fail.  So disable kernel fence reg management in the
EXA case (this is easier than adding proper EXA pixmap management to
xf86-video-intel, and makes more sense since we'll be removing EXA soon
anyway).

Fixes FDO #21027.

Also happens to fix FDO #21029 (as tested by Carl Worth <cworth@cworth.org).
2009-04-08 15:49:00 -07:00
Shuang He 0a0731c11d Fix value for MI_WAIT_FOR_PIPEA_SCAN_LINE_WINDOW
Since the change to scan-line based video sync, (rather than vblank-
based), we've only been getting tear-free video on one of the two
pipes. This fixes that bug by using the correct constant for waiting
on PIPEA.
2009-04-07 12:32:59 -07:00
Carl Worth 940c2aad4d Don't clip video to CRTC in the case of textured video
Since we're not limited by a single overlay plane on a single pipe,
we want to not clip at all, (so that the correct video appears on
both pipes).

This fixes bug #20980 which shows a video spanning two pipes
being rendered incorrectly.
2009-04-07 12:32:58 -07:00
Zhenyu Wang 63b4b5efac quirk LVDS on ibase MB890 855GM board
fix bug #19529
2009-04-07 10:55:35 +08:00
Carl Worth 5d9d9a2e46 Fix new video sync-to-blank code for multi-head
We need to account for a non-zero Y offset for the CRTC. Without
this, we don't sync to the correct region, so tearing becomes
visible again.
2009-04-06 14:02:08 -07:00
Carl Worth 3d4ee3cac1 Remove support for 'auto'(-1) value of XV_SYNC_TO_VBLANK
We previously had a heurstic here where we would only sync to vblank
for windows that covered more than 25% of the screen. We don't need
this anymore since the new approach to sync, (WAIT_FOR_SCANLINE_WINDOW),
is not excessively costly for small windows.
2009-04-06 11:31:20 -07:00
Carl Worth bc3312fd7c Use WAIT_FOR_SCAN_LINE instead of WAIT_FOR_VBLANK
Either way, the goal is tear-free video playing. But waiting for
a scan-line window not only has the advantage of being cheaper
for small windows, but also avoids hanging the GPU in the case
of the pipe getting turned off, (by screensaver, for example),
while a batch is waiting for a VBLANK that will never occur.

This fixes that GPU hang.
2009-04-06 11:16:53 -07:00
Jesse Barnes 6cd914ef31 Fix offset in begin_gtt_access case
Don't use bo->virtual in the begin_gtt_access case, use the framebuffer
mapping and bo offset instead.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-04-03 11:15:18 -07:00
Zhenyu Wang fad714c400 SDVO: fix output flag dumping for unknown type
Found by Hugo Jacques <hugo.jacques@verint.com>
2009-04-01 10:11:35 +08:00
Hugo Jacques 00de1757dd SDVO: add composite TV out support 2009-04-01 10:10:05 +08:00
Jesse Barnes 087f72e1f5 Match GTT unmap with map in KMS rotation case
Missed this when the GTT unmap call was added.  If we don't do this we
trigger an assertion in libdrm, since the buffer has never been mapped
normally.

Fixes bug #20943.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-03-31 07:51:35 -07:00
Zhenyu Wang 4f046af760 Disable LVDS detect methods
Both methods ACPI lid and SWF bit have issues in LVDS detect from
wider testing. Fallback to origin code.
2009-03-31 14:32:43 +08:00
Albert Damen e964d4e53a Non-GEM allocations incorrectly force TILE_NONE (bug 20797)
With -intel 2.6.3 performance was very bad when using a non gem enabled kernel
(2.6.27) and EXA. For example sauerbraten ran with 4 fps and screensaver GLBlur
with 1 fps. With -intel 2.6.1 performance was good using the same kernel.

Git bisecting led me to commit f1ed73c1ef3e3daa9f695194dcc813167cbcb53d (in 2.6
branch) "Make i830_allocate_memory take tiling parameters" as first bad commit.

Using gdb I found tiling was set exactly the same in 2.6.3 as in 2.6.1, so that
was good (TILE_XMAJOR for front, back and depth buffers).
Looking further I found the line mem->tiling = TILE_NONE; (line 961 in
src/i830_memory.c) at the end of i830_allocate_memory suspicious, as
mem->tiling now already gets set via i830_allocate_aperture and some buffers do
have tiling. Removing that line indeed fixed the performance issue. Now
sauerbraten runs with 30+ fps and GLBlur runs smoothly.
2009-03-30 11:38:02 -07:00
Jesse Barnes 51cf8a453c Require libdrm 2.4.6 for GTT unmap support
Need the new functions available.
2009-03-30 11:27:56 -07:00
Jesse Barnes 8dabcc4074 Tiling fixes, third set
Hopefully this concludes the fixes necessary to deal with the various
combinations of kernel and user level tiling.  We have several cases to
handle:
  1) KMS (kernel handles all tiling)
  2) UMS w/memory management + kexec fencing (kernel handles all tiling)
  3) UMS w/memory mangement but no kexec fencing (userland handles tiling)
  4) UMS w/o memory management (userland handles tiling)

For cases (1) & (2) we can use GTT mapping, which will give us good
performance and take care of allocating fence registers as needed.  It's
important *not* to have userland set up fence regs in this case, since
the kernel will be using all of them.

For case (3), we use the begin/end GTT map functions provided by libdrm,
in combination with pinning and fence register setup in i830_memory.c to
deal with tiled surfaces.  This also gives us good performance and
correctness.

For case (4) we use the old style virtual mapping + offset for dealing
with surfaces; note that UXA doesn't seem to work in this configuration
regardless of these fixes.

Fixes bug #20803.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2009-03-30 09:59:56 -07:00
Zhenyu Wang 375b2e40fc Disable LVDS config parsing from VBT for now
As wider tests showed that this doesn't work for all VBIOS, so
disable it for now and reenable it after we get reliable method.
2009-03-27 14:58:40 +08:00
Zhenyu Wang 69c84f2c82 gitignore intel_lid 2009-03-26 13:53:25 +08:00
Ma, Ling b5b3778064 disable center mode for 965GM and G4X platform
When disabling VGA mode, usually we don't need to touch VGA center mode.
However because of hardware reason, for Cresline, Cantiga & Eaglelake platform,
we have to disable center mode as well. The patch fixed bug- TV Out strobing regression,
reported by Robert Lowery in intel-gfx@lists.freedesktop.org mailing list.

Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-03-25 15:27:25 +08:00
Zhenyu Wang e6af995b24 KMS: hook up output properties for randr
This gets output properties from kernel, then hook them up
for randr. So we can control output properties through randr
like in UMS.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
2009-03-25 22:15:49 +08:00
Kalev Lember 74d0713e00 Fix VT switch with XV overlay video enabled.
drm_intel_bo_unpin() was called with NULL argument.

Signed-off-by: Kalev Lember <kalev@smartlink.ee>
2009-03-20 16:46:13 -07:00
Rémi Cardona b345b4e6ad clean up man page generation and remove all traces of the i810 driver
The i810 compatibility symlink has been broken since libpciaccess, so just
let it die.
2009-03-20 16:31:11 -07:00
Jesse Barnes 48b91e0668 Don't manage fences part two
Don't try to clear fences that were never installed.  Missed this bit in
the last fix for #20265.
2009-03-20 12:33:22 -07:00
Zhenyu Wang 28319d60aa Add a lid status test program "intel_lid" 2009-03-20 13:34:31 +08:00
Jesse Barnes 636d252f3b Don't install fences if the kernel is managing them
If execbuffer is setting up fences, it also means that the kernel is
managing them at pin time, so installing one in the 2D driver in that
case is an error.  The fence should stick around as long as the buffer
is pinned (the kernel won't steal these), though it will be freed at
leavevt and re-allocated at entervt.

On 965+ chips, the pin ioctl will *not* install a fence reg, but that's
also ok because all 965+ operations include tiling bits, and sw
fallbacks will be protected by prepare/finish access hooks, which will
either access the backing store or use the GTT, which will ensure proper
fencing at fault time.

Fixes #20265.

Acked-by: Eric Anholt <eric@anholt.net>
2009-03-19 13:25:29 -07:00
Carl Worth d92e6158c8 Revert the rest of the EXA_VERSION_MAJOR bump
This was mistakenly added in the unrelated change in revision
fe08b81d0f
and wasn't completely reverted in the later revision
78a60e1b66
2009-03-19 10:06:03 -07:00
Ma Ling 85e6b52858 Set SSC frequency for 8xx chips correctly
All 8xx class chips have the 66/48 split, not just 855.

Fixes #18358.
2009-03-19 09:10:19 -07:00
Jesse Barnes bedc894a56 Re-enable disabled outputs after rotation
The server may have made a DPMS call before doing rotation, so after we
do the mode set with the rotated framebuffer, we need to re-enable the
corresponding output(s).

Fixes bug #20573.
2009-03-18 20:19:44 -07:00
Jesse Barnes 6deb26ae7b Create known output configuration at EnterVT time
Since we added the pipe A force quirk (leaving pipe A on all the time),
DPMS calls to disable it have silently returned, leaving the pipe on.
If another driver (like vesafb) has enabled it, we may end up with a bad
configuration, leading to hangs or blank screens at VT switch time.

Fixes bug #19603.
2009-03-18 09:36:58 -07:00
Ma Ling 7c94227dd4 Use best PLL timing values for G4X platform
construct function to find precise parameters from internal spreadsheet
table on G4X platform.

Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-03-17 10:41:38 +08:00
Ma Ling 48db5bde92 Define documented PLL timing limits for G4X platform
These timings on G4X platform were specified by internal spreadsheet from the chipset group.

Signed-off-by: Ma Ling <ling.ma@intel.com>
2009-03-17 10:41:02 +08:00
Keith Packard 78a60e1b66 Revert EXA_DRIVER_KNOWN_MAJOR bump
This was mistakenly added in the unrelated change in revision
fe08b81d0f
2009-03-16 08:41:52 -07:00
Zhenyu Wang 1a6e70cd98 TV: fix contrast and saturation for 945G
Bug #20670.
2009-03-16 15:42:50 +08:00
Zhenyu Wang 4e95327323 TV: force TV as connected with TV_Connector option
In order to bypass failure in TV load detect, TV_Connector option
will always force TV as connected with user specified connector type.
2009-03-16 15:15:26 +08:00
Eric Anholt d9dbdb3255 Add shave support, enabled by default.
This cuts down build system noise so that warnings are more visible.  The
old style output can be reenabled for build system debugging using
"make V=1", or --disable-shave at configure time.
2009-03-13 16:15:44 -07:00