summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-08-07Merge branch 'drm-gem' into modesetting-gemJesse Barnes
2008-08-06Switch from shmem_getpage to read_mapping_pageKeith Packard
2008-08-05[gem-intel] Retiring flush requests should clear flushed write_domainsKeith Packard
When i915_gem_retire_request has a flush which matches an object write domain, clear the write domain. This will move the object to the inactive list rather than the flushing list, avoiding trouble with objects left stuck on the flushing list.
2008-08-05[gem-intel] Don't clear write_domain until flush completesKeith Packard
In i915_gem_object_wait_rendering, if the object write domain is being written by the GPU, the appropriate flushing commands are written to the device and an additional request queued to mark that flush. Finally, the function blocks on that new request. The bug was that the write_domain in the object was cleared before the function blocked. If the wait is interrupted by a signal, the flushing commands may still be pending. With the current write_domain information lost, the restarted syscall will drop right through the write_domain test as that value was lost, and so the function will not block at all. Oops. Fixed by simply moving the write_domain clear until after the wait_request succeeds. Note that the restarted system call will generate an additional flush sequence and request, but that should be 'harmless', aside from a slight performance impact. Someday we'll track flushing more accurately and clear write_domains more efficiently, but for now, this should suffice. This bug was discovered in the 2d gem development by running x11perf -copypixwin500 and noticing that the window got cleared accidentally.
2008-08-04Expose pin/unpin/set_tiling/flink APIsKeith Packard
2008-08-01Merge commit 'origin/drm-gem' into modesetting-gemKristian Høgsberg
Conflicts: linux-core/Makefile.kernel linux-core/drmP.h linux-core/drm_mm.c linux-core/drm_stub.c linux-core/i915_gem.c linux-core/i915_opregion.c shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2008-07-31Merge commit 'origin/master' into modesetting-gemKristian Høgsberg
Conflicts: linux-core/Makefile.kernel linux-core/ati_pcigart.c linux-core/drm_compat.h linux-core/drm_irq.c linux-core/drm_lock.c linux-core/i915_drv.c shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c shared-core/nouveau_mem.c shared-core/radeon_cp.c shared-core/radeon_drv.h
2008-07-30intel-gem: Replace version bump signalling GEM with I915_PARAM_HAS_GEM.Eric Anholt
2008-07-30Make it compile again.Kristian Høgsberg
2008-07-30intel-gem: Remove dead field from reverted changes.Eric Anholt
2008-07-30Revert "Rename drm_mm.c and its fuctions to drm_memrange."Eric Anholt
This reverts commit 3ad8db2071d30c198403e605f2726fc5c3e46bfd. We ended up not needing that namespace, and I'd rather not have the churn for producing diffs.
2008-07-30i915: more version checksDave Airlie
2008-07-30i915: add version checks for opregion on old kernelsDave Airlie
2008-07-29intel-gem: actually add i915_gem_debug.c.Eric Anholt
2008-07-29intel-gem: Check return value of pci_read_base.Eric Anholt
2008-07-29r300: Fix cliprect emitNicolai Haehnle
This makes our handling of cliprects sane. drm_clip_rect always has exclusive bottom-right corners, but the hardware expects inclusive bottom-right corners, so we adjust this here. This complements Michel Daenzer's commit 57aea290e1e0a26d1e74df6cff777eb9f038f1f8 to Mesa. See also http://bugs.freedesktop.org/show_bug.cgi?id=16123 .
2008-07-28intel: Fix typo in unused register definition name.Eric Anholt
2008-07-28intel-gem: checkpatch.pl on drm_proc.c new contents.Eric Anholt
2008-07-28Merge commit 'origin/master' into drm-gemEric Anholt
Conflicts: linux-core/Makefile.kernel shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2008-07-29nouveau: fix nv04 fifo context save to save reg contents, not reg offsetStuart Bennett
clearly the function had never been used :)
2008-07-29nouveau: fix bad rename from 5a072f32c8f941d1ef301811881e8c89c8d8a5f1Stuart Bennett
2008-07-28intel-gem: Another checkpatch.pl pass.Eric Anholt
2008-07-28intel-gem: Fix regression tests.Eric Anholt
Main fix is an oops that was triggered by the gtt pwrite path when we don't have the gtt initialized. Also, settle on -EBADF for "bad object handle", and -EINVAL for "reading/writing beyond object boundary".
2008-07-28intel-gem: Speed up tiled readpixels by tracking which pages have been flushed.Eric Anholt
This is around 3x or so speedup, since we would read wide rows at a time, and clflush each tile 8 times as a result. We'll want code related to this anyway when we do fault-based per-page clflushing for sw fallbacks.
2008-07-26intel-gem: Move debug-only functions to a separate file.Eric Anholt
2008-07-26NV50: s/FALSE/false/Alex Deucher
2008-07-26radeon: Add suspend/resume hooks for saving/clearing/restoring interrupts.Stefan Becker
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16799 .
2008-07-26r300_cmdbuf: Always emit INDX_BUFFER immediately after DRAW_INDEXNicolai Haehnle
DRAW_INDEX writes a vertex count to VAP_VF_CNTL. Docs say that behaviour is undefined (i.e. lockups happen) when this write is not followed by the right number of vertex indices. Thus we used to do the wrong thing when drawing across many cliprects was necessary, because we emitted a sequence DRAW_INDEX, DRAW_INDEX, INDX_BUFFER, INDX_BUFFER instead of DRAW_INDEX, INDX_BUFFER, DRAW_INDEX, INDX_BUFFER The latter is what we're doing now and which ought to be correct.
2008-07-26tests: add some basic radeon gem testsDave Airlie
2008-07-26radeon: add initial atombios modesetting and GEM -> TTM translation layer.Dave Airlie
This is an initial import of the atom bios parser with modesetting support for r500 hw using atombios. It also includes a simple memory manager layer that translates a radeon GEM style interface onto TTM internally. So far this memory manager has only been used for pinned object allocation for the DDX to test modesetting.
2008-07-26Merge remote branch 'origin/modesetting-101' into modesetting-gemDave Airlie
2008-07-26drm: don't set the signal blocker on the master process.Dave Airlie
this lets us debug the X server through xkb startup. Not sure what the correct answer is, probably X needs to drop the lock when execing stuff, with input hotplug it can get xkb stuff at any time I believe.
2008-07-26modesetting: pass file priv to cursorDave Airlie
2008-07-26nv50: remove TRUE/FALSEDave Airlie
2008-07-26modesetting: pass file_priv into cursor set functionsDave Airlie
2008-07-26Merge remote branch 'origin/modesetting-101' into modesetting-gemDave Airlie
2008-07-25[FreeBSD] Duh, we need to actually define the drm_modeset_ctl...Robert Noland
2008-07-25drm: don't set the signal blocker on the master process.Dave Airlie
this lets us debug the X server through xkb startup. Not sure what the correct answer is, probably X needs to drop the lock when execing stuff, with input hotplug it can get xkb stuff at any time I believe.
2008-07-24drm: use correct mode destructorDave Airlie
2008-07-24[FreeBSD] Catch up to linux on vblank-reworkRobert Noland
2008-07-23i915: Move all of the irq install/uninstall to load time.Robert Noland
This resolves a panic on FreeBSD which was caused by trying to re-initialize the swap lock. It's just much easier to initialize all of the locks at load time. It should also ensure that the vblank structures are available earlier.
2008-07-23intel-gem: Fix pread math and logic errors.Eric Anholt
Fixes an oops in fbotexture from walking off the end of the page list.
2008-07-23intel-gem: Add a quick hack to reduce clflushing on pread.Eric Anholt
This increases overhead for the large-readpixels case due to the repeated page cache accessing, but greatly reduces overhead for the small-readpixels case.
2008-07-23intel-gem: Don't do the GTT-pwrite shortcut on tiled buffers.Eric Anholt
These will be covered by the fence, while pread/pwrite are supposed to be CPU-perspective writes, with manual detiling done by the client.
2008-07-23intel-gem: Move /proc debugging to a separate file.Eric Anholt
2008-07-22radeon: fix typo with a better typoDave Airlie
2008-07-22radeon: fix type DST vs Z cache flushDave Airlie
2008-07-21[FreeBSD] Improve upper_32_bits define.Robert Noland
Thanks to airlied.
2008-07-21intel-gem: Remove recently added pci_read_base prototype.Eric Anholt
This is in pci.h in the fixed patch to the kernel.
2008-07-21intel-gem: Set up HWS when it needs a vaddr during GEM init.Eric Anholt
This requires an updated 2D driver to not try to set it up as well.