Age | Commit message (Collapse) | Author |
|
We now always create a drm_ref_object for user objects and this is then the only
things that holds a reference to the user object. This way unreference on will
destroy the user object when the last drm_ref_object goes way.
|
|
The buffer object type is still tracked internally, but it is no longer
part of the user space visible ioctl interface. If the bo create ioctl
specifies a non-NULL buffer address we assume drm_bo_type_user,
otherwise drm_bo_type_dc. Kernel side allocations call
drm_buffer_object_create() directly and can still specify drm_bo_type_kernel.
Not 100% this makes sense either, but with this patch, the buffer type
is no longer exported and we can clean up the internals later on.
|
|
|
|
|
|
|
|
This cleans up the create/validate interfaces for this very uncommon path, and
makes pinned object creation much easier to use for the X Server.
|
|
This might break something, stdint.h inclusion in drm.h maybe required
but I'm not sure yet what platforms have it what ones don't.
|
|
Conflicts:
libdrm/xf86drm.c
linux-core/drm_bo.c
linux-core/drm_fence.c
|
|
|
|
Introduce tile members for future tiled buffer support.
Allow user-space to explicitly define a fence-class.
Remove the implicit fence-class mechanism.
64-bit wide buffer object flag member.
|
|
Use 4-space indentation consistently.
Replace occurances of:
if (cond) code;
with:
if (cond)
code;
to facilitate putting breakpoints on code.
|
|
This reverts commit 3fdef0dc2000308b16907b95f637c60acde80a74.
ditto not on master yet
|
|
This reverts commit 3dfc1400e9fc58c69292d7cf7c2e1653fa5e6991.
this shouldn't have gone on master yet
|
|
|
|
This is the first bunch of ioctls
|
|
This just cleans up the xf86drm.c to what I want and drm.h,
I need to fix up the kernel internals to suit these changes now.
I've moved to using struct instead of typedefs for the bo and it doesn't look
that bad so I'll do the same thing for mm and fence..
|
|
|
|
|
|
This is the first bunch of ioctls
|
|
|
|
We no longer import libdrm in the xserver.
|
|
(since that implies a validate).
Fix drm_bo_wait_unfenced error messages and codes.
Fix some return codes from libdrm.
|
|
|
|
Buffer object driver for via.
Some changes to buffer object driver callbacks.
Improve fence flushing.
|
|
(Fence objects belonging to different command submission mechanisms).
|
|
|
|
This adds APIs to allow the X server to use libdrm from the system
rather than its own in-built copy.
|
|
|
|
Bump libdrm version number to 2.2.0
|
|
This will come in very handy for tiled buffers on intel hardware.
Also add some padding to interface structures to allow future binary backwards
compatible changes.
|
|
|
|
that is now handled by the memory accounting.
|
|
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.
|
|
Fix up init and destruction code.
|
|
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.
|
|
starting at 0x00100000000. This will hopefully allow us to use
unmap_mapping_range(). Note that user-space will need
64-bit file offset support.
|
|
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)
|
|
|
|
(Disabled for now)
Fix bo_wait_idle bug.
Remove stray debug message.
|
|
Add a buffer object waitIdle user-space function.
Fix some names and minor glitches.
|
|
Change the fence object interface somewhat to allow some more flexibility.
Make list IOCTLS really restartable.
Try to avoid busy-waits in the kernel using immediate return to user-space with an -EAGAIN.
|
|
Lindent.
|
|
Disable the i915 IRQ turnoff for now since it seems to be causing problems.
|
|
|
|
|
|
|
|
|
|
|
|
Add an info ioctl operation.
|