Commit Graph

2293 Commits

Author SHA1 Message Date
Ma Ling db9f5915ce Disable VGA plane reliably
This fixes #17235, VGA random hang on recent G45/43 board.
From spec, SR01 bit 5 should be set before VGA plane disable through
control register, otherwise we might get random crash and lockups.
2009-01-14 14:46:52 +08:00
Keith Packard a4b023c17b Assign rotation memory dri_bo to rotation pixmap.
As the rotation memory and rotation pixmap are allocated separately (to make
rotation at startup work), the allocate dri_bo needs to be set in the pixmap
for acceleration to work. This restores the performance in rotated modes.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-13 20:01:49 -08:00
Jesse Barnes f659cc37e6 bios_reader: make mode timing output friendlier
Print out the calculated mode line values (as i830_bios.c uses) and
check for validity against known problems.
2009-01-13 16:51:49 -08:00
Bernhard Rosenkraenzer c80f1a9c51 UXA: Declare glyph cache picture as component-alpha when necessary.
Without this, rendering component-alpha glyphs may break without a mask.

Bug #19534.  Ported from fix by Michel Dänzer <daenzer@vmware.com> in
xserver commit 639f289dcdbe00a516820f573c01a8339e120ed4
2009-01-13 10:37:41 -08:00
Ma Ling 3d206f9e46 set continuous-frequency flag in get modes function
http://bugs.freedesktop.org/show_bug.cgi?id=19247
Because latest xorg will check whether the display is continuous frequency through one flag in monitor info structure,
if not it doesn't touch default modes. When laptop failed to fetch edid, We don't set the flag. In i830_lvds.c,
so currently we can not get default modes except only one mode line from bios.
In order to achieve default modes from xserver successfully,I set the flag and other EDID features.
2009-01-13 10:26:40 +08:00
Keith Packard 3354e660b0 Fix LVDS EDID to match all possible default modes
If the EDID data from the LVDS doesn't indicate support for a wide range of
continuous frequencies, it will not match any of the default modes although
our LVDS scaler logic ignores refresh rates when programming LVDS modes. Fix
this by smashing the compute EDID data to open up the sync rates.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-13 10:22:00 +08:00
Alan Coopersmith f1e9ca4e4f Remove xorgconfig & xorgcfg from See Also list in man page 2009-01-09 16:30:15 -08:00
Ian Romanick 91c49067ab Prevent redefinitions of CARD8 and friends. Fixes build. 2009-01-07 21:45:54 -08:00
Eric Anholt 934008a2cb Always enable KMS if server's new enough, and remove option.
The API should be stable at this point, and we don't want to allow mistakes.
2009-01-06 11:20:08 -08:00
Eric Anholt 342120be09 Fix pin leakage with EXA GTT-mapping shortcut, and crash with UXA on KMS. 2009-01-06 11:20:08 -08:00
Eric Anholt 9a5082d292 Disable DRI2 buffer tiling on non-965, as those need fence regs for 2D blits.
This fixes glReadPixels failure on single-channel 915GM, as the software code
for readpixels was actually the only code in the driver doing tiling against
these buffers (everything else says "rely on fence registers", since the 2D
blits don't have a "don't rely on fence registers" option).
2009-01-06 11:20:07 -08:00
Keith Packard 7736b65be4 FatalError on batchbuffer map failure
Yes, it would be nice to do something other than crash here.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-06 09:31:39 -08:00
Keith Packard 632f816c72 uxa: handle uxa_prepare_access failure
uxa_prepare_access may fail to map the pixmap into user space. Recover from
this without crashing.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-06 09:31:39 -08:00
Keith Packard 90b28a5655 Handle drm_bo_map failure in 965 video and composite paths.
These two paths allocate a number of objects directly.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-06 09:31:39 -08:00
Keith Packard 8237faf8f3 Resize framebuffer on screen size change (requires UXA and DRI2)
Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-06 09:31:39 -08:00
Keith Packard 21bd4e8974 Make i830_allocate_memory take tiling parameters.
This eliminates the separate i830_allocate_memory_tiled function which means
that all memory objects will have tiling parameters set correctly.

Signed-off-by: Keith Packard <keithp@keithp.com>
2009-01-06 09:31:38 -08:00
Zhenyu Wang 1f61e97904 UXA: Fallback to dri_bo_map() if pin failed
This fixes VT switch issue with UXA after Eric's
aae4008096 on 2D side.
2008-12-31 22:56:57 +08:00
Eric Anholt 830bf91672 Don't touch the pipestat regs for detecting FIFO underrun. The kernel owns them.
Since we don't perform any synchronization with the kernel on these regs, we
could race with the kernel to write stale values and end up not having vblank
interrupts enabled when somebody was waiting on one.
2008-12-30 16:02:42 -08:00
Eric Anholt d96f774d1b warning fix. 2008-12-29 13:57:24 -08:00
Henry unbongo 59b0fbb9be Add support for SDVO LVDS. 2008-12-29 13:57:03 -08:00
Eric Anholt 750d8e1058 Fix compile failure after 45f45c7346 2008-12-29 12:44:26 -08:00
Eric Anholt 45f45c7346 Remove logical context setup.
This should be a noop.  If it wasn't a noop, it means that on pre-g33 chipsets
we were spamming some data into a page of system memory because we used a
virtual instead of a physical address.  It was also supposed to not work when
we submit it from a batchbuffer, as we have been doing for some time now.
This code has existed since about the beginning of the driver's existence,
with no justification.
2008-12-29 11:31:26 -08:00
Eric Anholt 3544bbe22d Add PCI write posting to LeaveVT path when we're about to wait on write results. 2008-12-29 11:31:26 -08:00
Eric Anholt 7b67914b23 Add SDVO LVDS register definitions. 2008-12-29 11:29:32 -08:00
Eric Anholt 8464fc285d Rely on libdrm 2.4.3 and stop checking for xf86drmMode.h. 2008-12-29 09:51:45 -08:00
Eric Anholt c1dde7ac06 Remove old mergedfb includes and defines, which bother spatch. 2008-12-29 09:50:37 -08:00
Zhenyu Wang 75799d2834 Bug #18004: Add Aopen 915GM LVDS quirk 2008-12-30 00:55:30 +08:00
Zhenyu Wang cfaaf6af77 Don't count vertex buffer in second aperture size check
With batch flush notify vertex buffer will be unreferenced,
so don't count it in later aperture check. Also adding
uninitialized vertex buffer check in batch flush notify.
2008-12-29 21:17:44 +08:00
Dave Airlie b710a688a7 intel/kms: disable overlay when it needs physical address
We can't do phy address allocations, need kernel support for this.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2008-12-29 12:51:48 +10:00
Dave Airlie 649374b88b intel: don't call enter/leave VT for KMS enabled systems
Signed-off-by: Dave Airlie <airlied@linux.ie>
2008-12-29 12:51:48 +10:00
Dave Airlie 408f713935 exa: fix map gtt call to use current API 2008-12-29 12:51:48 +10:00
Zhenyu Wang fcd280b730 Bug #19239: Add a quirk for broken ACPI lid state
For broken hardware/bios with incorrect ACPI LID state,
there's machine that can not be fixed in ACPI way, customed
DSDT that reprogram _LID method to read EC state. Although
this is ACPI issue, this quirk can be used to work around that.
2008-12-29 10:05:17 +08:00
Dave Airlie 6b9f421b79 modeset: transformPresent is a new API member 2008-12-29 11:51:58 +10:00
Dave Airlie a320541e51 modeset: fix xf86CrtcRotate API change across server versions 2008-12-29 11:34:51 +10:00
Ma Ling e38fd84fcc SDVO: reset pixel repeat in avi frame
For #19115, the root cause  is  avi_if.u.avi.PR in
i830_sdvo_set_avi_infoframe() belongs to element for
interlaced mode based on CEA_861B, but currently we
don't support interlaced mode. So it should be set as 0.
2008-12-22 10:35:52 +08:00
Zou Nan hai d8e89b26ef [965-xvmc] remove the vblank wait code, drm not support mutlple client
to wait on vblank now.
2008-12-19 09:34:14 +08:00
Eric Anholt aae4008096 uxa: Do a hack to use the aperture mapping instead of bo_map in sw fallbacks.
Because of how fallbacky the uxa rendering core is, and our inability (without
wfb in userland or page faulting in the kernel) to tell the kernel just where
we're going to fall back, the clflush overhead can become outrageous, for
example with emacs and xcompmgr.  Instead of using drm_intel_bo_map, pin the
buffer and do the fallback to the aperture mapping.  This gets us the bad old
performance that fb is designed for, instead of bad new performance.
2008-12-18 09:04:27 -08:00
Peter Alfredsen 74bc420940 xvmc: fix up needed libs 2008-12-19 08:12:07 +08:00
Zou Nan hai 555eea5411 wait vblank before render to fix tearing 2008-12-17 13:55:07 +08:00
Robert Noland ed267072db Fix drmOpen for non-linux 965 XvMC
drmOpen by name only works on linux after falling back to groping around
in /proc.  This doesn't work on other OS.

Signed-off-by: Robert Noland <rnoland@2hip.net>
2008-12-17 09:27:30 +08:00
Eric Anholt ecdd706873 uxa: Correctly prepare/finishaccess of stipple in ValidateGC (and only it)
This avoids prepare/finish_access_gc overhead when we're not changing things
(since GCTile is already handled) and get us the RW flag for the prepare on
of the stipple pixmap so thing will be synced correctly.
2008-12-16 10:21:59 -08:00
Kristian Høgsberg e6479f96e5 Quiet some KMS warnings. 2008-12-15 15:56:29 -05:00
Zhenyu Wang 30fb0ef53e Revert " [965 xvmc] update dual prime g4b files"
This reverts commit ea2b6b405e.

Duplicate with Keith's commit. No idea what's diff target
of this one.
2008-12-16 00:39:45 +08:00
Zou Nan hai ea2b6b405e [965 xvmc] update dual prime g4b files 2008-12-15 09:19:43 +08:00
Pierre Willenbrock d917583c19 closedir only after finishing use of any results from readdir 2008-12-15 09:08:30 +08:00
Keith Packard 865735d840 Dump out fence registers by default, add fence end registers as well
In debugging the frame buffer resize code, I needed to see what the server
was doing to the fence registers, so I added this debug code. Seems useful
enough to include it.

Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-12 11:20:54 -08:00
Zou Nan hai f3e59e59b5 Update binary versions of the dual-prime kernels
Signed-off-by: Keith Packard <keithp@keithp.com>
2008-12-12 11:20:54 -08:00
Zhenyu Wang 80d588e9c4 Don't warn on ring enabled in GEM 2008-12-12 18:27:29 +08:00
Zhenyu Wang 60c4ee9ece Fix directRenderingType check
Don't miss classic texture memory allocation in DRI.
2008-12-12 18:00:09 +08:00
Zou Nan hai edf7651554 [965-xvmc] fix dual prime kernel, flush issue on G4x 2008-12-11 15:41:59 +08:00