summaryrefslogtreecommitdiff
path: root/linux-core/drm_bo.c
AgeCommit message (Collapse)Author
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-06-10Merge commit 'origin/drm-gem' into modesetting-gemJesse Barnes
Passed the compile test; it's ready to ship. Conflicts: libdrm/Makefile.am linux-core/Makefile.kernel linux-core/drmP.h linux-core/drm_memrange.c linux-core/drm_stub.c shared-core/drm.h shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2008-05-22i915: check dummy page before freeingHong Liu
The dummy read page will point to NULL if drm_bo_driver_init failed at firstopen (modeset is not enabled), and will cause kernel oops at subsequent drm_lastclose call, so be sure to check it.
2008-05-12free dummy read page if fail to init mmHong Liu
Since drm_bo_driver_init will be called in driver_load, we need to free what it alloced when error to avoid memory leak.
2008-04-28Rename drm_mm.c and its fuctions to drm_memrange.Eric Anholt
It's not really a graphics memory allocator, just something to track ranges of address space. It doesn't involve actual allocation, and was consuming some desired namespace.
2008-04-28Merge branch 'master' into modesetting-101Thomas Hellstrom
Conflicts: linux-core/Makefile.kernel linux-core/drm_compat.c linux-core/drm_fops.c linux-core/drm_lock.c shared-core/drm.h shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2008-04-14Fix buffer object map wait error.Thomas Hellstrom
Add some branch prediction hints.
2008-04-14Fix buffer object creation validation.Thomas Hellstrom
BO lock fixes.
2008-04-14Unlock the BO mutex while waiting for idle, unmapped, unfenced.Thomas Hellstrom
Move unfenced checking into idle checking. Never time out while waiting for software events like unmapped or unfenced.
2008-04-14Fix up buffer manager locking.Thomas Hellstrom
2008-03-30[i915] Report buffer state _after_ fence submission to user-space.Thomas Hellstrom
This fixes a problem where the wrong bo->fence_type was reported, and also saves some memory space. [bo core] export the drm_bo_fill_rep_arg function.
2008-03-12Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into ↵Alan Hourihane
modesetting-101 Conflicts: shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2008-03-12Dont allow !sysadmin clients to alter the memory type ofThomas Hellstrom
NO_EVICT buffers.
2008-03-12Fix kernel crash when we hit OOM conditions.Thomas Hellstrom
(Alan Hourihane)
2008-03-12Avoid duplicate calls to drm_ttm_bind in some cases.Thomas Hellstrom
2008-03-07Merge branch 'master' of ../../drm into modesetting-101Dave Airlie
2008-03-06drm/bo: allow non-suser priv to add kernel BOs.Dave Airlie
modprobe can be run with dropped capabilities we still want the kernel bos to work.
2008-03-06Merge branch 'master' of ../../drm into modesetting-101Dave Airlie
Conflicts: linux-core/drmP.h linux-core/drm_drv.c linux-core/drm_proc.c linux-core/drm_stub.c linux-core/drm_sysfs.c
2008-03-06drm: reorganise minor number handling using code from modesetting branchDave Airlie
Rip out the whole head thing and replace it with an idr and drm_minor structure.
2008-03-06ttm: make sure userspace can't destroy kernel create memory managersDave Airlie
this adds something to say the kernel initialised the memory region not the userspace. and blocks userspace from deallocating kernel areas
2008-03-06drm/ttm: add ioctl to get back memory managed area sizedDave Airlie
taken from modesetting branch but could be useful outside it.
2008-03-05i915: Evict if relocatee buffer is CACHED_MAPPED beforeXiang, Haihao
writting relocations, otherwise the GPU probably sees some inconsistent data. Fix fd.o bug#14656
2008-02-22silence warningAlan Hourihane
2008-02-22add ioctl to get back memory managed area sized - used for kernel inited areasDave Airlie
2008-02-20ttm: make sure userspace can't destroy kernel create memory managersDave Airlie
2008-02-18Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into ↵Alan Hourihane
modesetting-101 Conflicts: linux-core/i915_fence.c linux-core/via_fence.c shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2008-01-30Simplify the fencing code and differentiate between flushes andThomas Hellstrom
waiting types. Add a "command_stream_barrier" method to the bo driver.
2008-01-25Merge remote branch 'origin/master' into modesetting-101Dave Airlie
Conflicts: linux-core/drm_bo.c linux-core/drm_drv.c shared-core/drm.h shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c shared-core/radeon_irq.c
2008-01-04drm: move drm_head to drm_minor and fix up usersDave Airlie
2007-12-21Change drm_bo_type_dc to drm_bo_type_device and comment usage of this value.Keith Packard
I couldn't figure out what drm_bo_type_dc was for; Dave Airlie finally clued me in that it was the 'normal' buffer objects with kernel allocated pages that could be mmapped from the drm device file. I thought that 'drm_bo_type_device' was a more descriptive name. I also added a bunch of comments describing the use of the type enum values and the functions that use them.
2007-12-21Rename inappropriately named 'mask' fields to 'proposed_flags' instead.Keith Packard
Flags pending validation were stored in a misleadingly named field, 'mask'. As 'mask' is already used to indicate pieces of a flags field which are changing, it seems better to use a name reflecting the actual purpose of this field. I chose 'proposed_flags' as they may not actually end up in 'flags', and in an case will be modified when they are moved over. This affects the API, but not ABI of the user-mode interface.
2007-12-21Move dummy_read_page from drm_ttm_set_user to drm_ttm_create.Keith Packard
I'm hoping to use the dummy_read_page for kernel allocated buffers to avoid allocating extra pages for read-only buffers (like vertex and batch buffers). This also eliminates the 'write' parameter to drm_ttm_set_user and just has DRM_TTM_PAGE_WRITE passed into drm_ttm_create.
2007-12-21Clean up and document drm_ttm.c APIs. drm_bind_ttm -> drm_ttm_bind.Keith Packard
Aside from changing drm_bind_ttm to drm_ttm_bind, this patch adds only documentation and fixes the functions inside drm_ttm.c to all be prefixed with drm_ttm_.
2007-12-18Merge branch 'modesetting-airlied' into modesetting-101Dave Airlie
2007-12-18remove output namesDave Airlie
2007-12-18Modesetting HotplugJakob Bornecrantz
2007-12-15Document drm_buffer_object_validate function.Keith Packard
Just add documentation for this function, no code changes.
2007-12-15Document fence_class mess in drm_bo_setstatus_ioctlKeith Packard
drmBOSetStatus does not bother to set the fence_class parameter. Fortunately, drm_bo_setstatus_ioctl doesn't end up using it as it calls drm_bo_handle_validate with use_old_fence_class = 1.
2007-12-15Document drm_bo_handle_validate. Match drm_bo_do_validate parameter order.Keith Packard
Document parameters and usage for drm_bo_handle_validate. Change parameter order to match drm_bo_do_validate (fence_class has been moved to after flags, hint and mask values). Existing users of this function have been changed, but out-of-tree users must be modified separately.
2007-12-15Document drm_bo_do_validate. Remove spurious 'do_wait' parameter.Keith Packard
Add comments about the parameters to drm_bo_do_validate, along with comments for the DRM_BO_HINT options. Remove the 'do_wait' parameter as it is duplicated by DRM_BO_HINT_DONT_BLOCK.
2007-12-15Make ttm create/destroy APIs consistent. Pass page_flags in create.Keith Packard
Creating a ttm was done with drm_ttm_init while destruction was done with drm_destroy_ttm. Renaming these to drm_ttm_create and drm_ttm_destroy makes their use clearer. Passing page_flags to the create function will allow that to know whether user or kernel pages are needed, with the goal of allowing kernel ttms to be saved for later reuse.
2007-12-13Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into ↵Alan Hourihane
modesetting-101
2007-12-13catch an out of memory conditionAlan Hourihane
2007-11-15Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into ↵Thomas Hellstrom
modesetting-101
2007-11-15mm fixups.Thomas Hellstrom
2007-11-06Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/drm into ↵Thomas Hellstrom
modesetting-101 Conflicts: linux-core/Makefile.kernel shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2007-11-06Avoid buffers not ending up on a list in some cases.Thomas Hellstrom
2007-11-05Merge branch 'master' into modesetting-101Thomas Hellstrom
Conflicts: linux-core/drm_bufs.c shared-core/i915_dma.c shared-core/i915_drv.h shared-core/i915_irq.c
2007-11-05Fix a user-buffer check.Thomas Hellstrom
2007-11-05drm/ttm: kernel coding style for bo.c and objects.hDave Airlie