Age | Commit message (Collapse) | Author |
|
|
|
This makes an allocated block actually align itself and returns any
wasted space to the manager.
Also add some functions to grow and shrink the managed area.
This will be used in the future to manage the buffer object swap cache.
|
|
|
|
|
|
otherwise data will be missing, which becomes apparent when the kernel evicts
batch buffers which are likely to be written into in the evicted state,
and then rebound to the AGP aperture.
This means we cannot rely on the AGP module to flush the
cache for us.
|
|
|
|
|
|
|
|
|
|
|
|
Fix some refcounting errors.
Fix some error messages.
|
|
Conflicts:
linux-core/drmP.h
linux-core/drm_drv.c
linux-core/drm_irq.c
linux-core/drm_stub.c
shared-core/drm.h
shared-core/i915_drv.h
shared-core/i915_irq.c
|
|
|
|
driver we're on.
Avoid global cache flushes before inserting pages.
In general, they are never mapped, and not accessed through the kernel map, so
a cache flush should not be necessary. The exception is pages that are bound
cached. We might need a cache flush for those.
|
|
that is now handled by the memory accounting.
|
|
|
|
Use byte unit for /proc printout of memory usage for small sizes to be
able to detect memory allocation bugs more easily.
|
|
|
|
The mm_lock function is used when leaving vt. It evicts _all_ buffers.
Buffers with the DRM_BO_NO_MOVE attribute set will be guaranteed to
get the same offset when / if they are rebound.
|
|
makes the client code a lot cleaner. Prepare buffer manager for lock and
unlock calls.
|
|
Fix up init and destruction code.
|
|
|
|
|
|
|
|
Fix buffer bound caching policy changing, Allow
on-the-fly changing of caching policy on bound buffers if the hardware
supports it.
Allow drivers to use driver-specific AGP memory types for TTM AGP pages.
Will make AGP drivers much easier to migrate.
|
|
it will go away in the mainstream kernel.
Some bugfixes, mainly in error paths.
|
|
Adapt for new functions in the 2.6.19 kernel.
Remove the ability to have multiple regions in one TTM.
This simplifies a lot of code.
Remove the ability to access TTMs from user space.
We don't need it anymore without ttm regions.
Don't change caching policy for evicted buffers. Instead change it only
when the buffer is accessed by the CPU (on the first page fault).
This tremendously speeds up eviction rates.
Current code is safe for kernels <= 2.6.14.
Should also be OK with 2.6.19 and above.
|
|
|
|
|
|
Add DRM_PCI_BUFFER_RO flag for mapping PCI DMA buffer read-only. An additional
flag is needed, since PCI DMA buffers do not have an associated map.
|
|
(cherry picked from f6238cf6244b32bd84e3d2819963d7f5473867c8 commit)
|
|
|
|
starting at 0x00100000000. This will hopefully allow us to use
unmap_mapping_range(). Note that user-space will need
64-bit file offset support.
|
|
|
|
|
|
|
|
use drm_reclaim_buffers_locked().
|
|
Initialize the spinlock unconditionally when struct drm_device is filled in,
and return early in drm_locked_tasklet() if the driver doesn't support IRQs.
|
|
It looks like this would have caused signals to always get sent on the next
vertical blank, regardless of the sequence number.
(cherry picked from cf6b2c5299e9be3542d4deddfd05d5811f11d2ef commit)
|
|
When this flag is set and the target sequence is missed, wait for the next
vertical blank instead of returning immediately.
(cherry picked from 89e323e4900af84cc33219ad24eb0b435a039d23 commit)
|
|
This makes it easier for userspace to know when it needs to allocate an ID.
Also free drawable information memory when it's no longer needed.
(cherry picked from df7551ef7334d728ec0371423661bb403d3e270a commit)
|
|
(cherry picked from b9f3009160d8bd1a26a77d6f1616f1679c7b969d commit)
|
|
(cherry picked from 98a89504589427a76c3f5cfa2266962a1a212672 commit)
|
|
Actually make the existing ioctls for adding and removing drawables do
something useful, and add another ioctl for the X server to update drawable
information. The only kind of drawable information tracked so far is cliprects.
(cherry picked from 29598e5253ff5c085ccf63580fd24b84db848424 commit)
|
|
(cherry picked from d817cc1f30060fcc4a85a05b2de8a2a1687421b5 commit)
|
|
When the vertical blank interrupt is enabled for both pipes, pipe A is
considered primary and pipe B secondary. When it's only enabled for one pipe,
it's always considered primary for backwards compatibility.
(cherry picked from 0c7d7f43610f705e8536a949cf2407efaa5ec217 commit)
|
|
(cherry picked from ab351505f36a6c66405ea7604378268848340a42 commit)
|
|
Prepare for the possibility to evict all buffers from vram / agp.
This will be used by the X server when, for example, switching vts.
|
|
It looks like this would have caused signals to always get sent on the next
vertical blank, regardless of the sequence number.
|
|
When this flag is set and the target sequence is missed, wait for the next
vertical blank instead of returning immediately.
|