Age | Commit message (Collapse) | Author |
|
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>
|
|
These two paths allocate a number of objects directly.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
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>
|
|
This fixes VT switch issue with UXA after Eric's
aae4008096399a0e84abc7c016b35092caf9db25 on 2D side.
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
We can't do phy address allocations, need kernel support for this.
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
Signed-off-by: Dave Airlie <airlied@linux.ie>
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
to wait on vblank now.
|
|
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.
|
|
|
|
|
|
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>
|
|
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.
|
|
|
|
This reverts commit ea2b6b405e4c8b1bfb4bc568d0453a39a9194a8f.
Duplicate with Keith's commit. No idea what's diff target
of this one.
|
|
|
|
|
|
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>
|
|
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
|
|
Don't miss classic texture memory allocation in DRI.
|
|
|
|
|
|
|
|
|
|
Detect bit of SDVOC is reserved on 965G/965GM, instead of ignore SDVOC
this trys to always probe it on these chipsets.
|
|
|
|
RandR 1.3 panning support can use the regular mode setting interface, but
that's really slow. Providing set_origin makes it nice and snappy.
Signed-off-by: Keith Packard <keithp@keithp.com>
|
|
This one trys to use lid status for LVDS detect,
which works when internal panel is not used as primary
display alone, or there's no internal panel at all.
ACPI button driver's lid state interface is preferred,
and SWF state is also checked if ACPI method failed.
|
|
It breaks bug #18462 on IBM 855GM with same subdevice ids.
|
|
Which is just being tidy. We initially were looking at this code
path due to a report of a crash on server shutdown which started
after this unreference call was added. Setting this to NULL
apparently didn't avoid the crash, but it's a good thing to do
regardless.
|
|
Without this change, setting LVDSFixedMode to false is not effective
as i830_bios_init calls i830_parse_panel_data which in turns sets
a fixed_mode. To fix this we still call parse_panel_data to set
the various lvds_options but we return before setting fixed_mode.
|
|
This avoids mapping a buffer object which is being referenced
by a batch that has already been flushed, (which is a terribly
expensive operation).
On my machine this brings the performance of x11perf -aa10text
from 85k back to 150k, (where it was before a recent kernel
upgrade). Also, before this patch, when I used my X server
actively performance would drop as low as 15k---hopefully that
bug is gone with this change.
|
|
|