summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-21Use dummy_read_page for unpopulated kernel-allocated ttm pages.Keith Packard
Previously, dummy_read_page was used only for read-only user allocations; it filled in pages that were not present in the user address map (presumably, these were allocated but never written to pages). This patch allows them to be used for read-only ttms allocated from the kernel, so that applications can over-allocate buffers without forcing every page to be allocated.
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-21s/TRUE/trueDave Airlie
2007-12-20radeon_ms: update to follow lastest modesetting changeJerome Glisse
2007-12-19radeon_ms: add sarea & install headerJerome Glisse
2007-12-18Merge branch 'modesetting-airlied' into modesetting-101Dave Airlie
2007-12-18HERE BEZ HACKZ.. magic variable to make shit workDave Airlie
2007-12-18lockdep warned about a possible locking dependencyDave Airlie
2007-12-18we should not be unlocking this hereDave Airlie
2007-12-18remove output namesDave Airlie
2007-12-18Fixed buildJakob Bornecrantz
2007-12-18Fix and cleanup of HotplugJakob Bornecrantz
2007-12-18Modesetting HotplugJakob Bornecrantz
2007-12-17drm: don't cast a pointer to pointer of list_headLi Zefan
The casting is safe only when the list_head member is the first member of the structure.
2007-12-17While reading some code I stumbled across the use of 'err' inJesper Juhl
drivers/char/drm/mga_dma.c::mga_do_cleanup_dma() and I think there's a small problem. The variable is only used inside #if __OS_HAS_AGP which is fine, but all that ever happens is an assignment to the variable - it is never actually used for anything. The variable is nicely initialized to zero which is also what the return statement at the end of function returns (always at the moment). It looks to me like that function should be returning 'err' instead of always just returning 0. Here's a patch to do that. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2007-12-15Document drm_ttm_set_user.Keith Packard
Add a comment explaining the parameters for this function
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-15Revert "nouveau: nv30: missing ramin init, does it brake other hw?"Patrice Mandin
This reverts commit 46235ea4595152d8dd5f016c18c6845a77db30b0.
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-12-11Make relocation validate client computed values when debuggingKeith Packard
2007-12-11i915: wait for buffer idle before writing relocationsKeith Packard
When writing a relocation entry, make sure the target buffer is idle, otherwise the GPU may see inconsistent data.
2007-12-11Bump driver minor for relocation optimzationsKeith Packard
2007-12-11Allow relocation to be skipped when buffers don't move.Keith Packard
One of the costs of superioctl has been the need to perform relocations inside the kernel. The cost of mapping the buffers to the CPU and writing data is fairly high, especially if those buffers have been mapped and read by the GPU. If we assume that buffers don't move around very often, we can have the client compute the relocations itself using the previous GPU address. When that object doesn't move, the kernel can skip computing and writing the updated data. Here's a patch which adds a new field to struct drm_bo_info_req called 'presumed_offset', and a new DRM_BO_HINT_PRESUMED_OFFSET that is set when this field has been filled in by the client. There are two separate optimizations performed when the presumed_offset is correct: 1. i915_exec_reloc checks to see if all previous buffer offsets were guessed correctly. If so, there's no need for it to look at *any* of the relocations for a buffer. When this happens, it skips the whole relocation process, simply returning success. 2. i915_apply_reloc checks to see if the target buffer offset was guessed correctly. If so, it skips mapping the relocatee, computing the relocation and writing the value. If no relocations are needed, the relocatee should never be mapped to the CPU, and so the kernel shouldn't need to wait for any fences to pass.
2007-12-11Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/drm into ↵Dave Airlie
modesetting-101 Conflicts: linux-core/drm_drv.c shared-core/drm.h shared-core/i915_dma.c
2007-12-11modesetting: fixup property setting and add connector propertyDave Airlie
2007-12-11modesetting: add dpms property and initial settable property ioctlDave Airlie
2007-12-10Merge branch 'master' into r500-supportDave Airlie
2007-12-10drm: move agp include outside CONFIG_AGP as it isn't dependant on agp in kernelDave Airlie
2007-12-08mach64: comment bus master / ring buffer behavior and securityJosé Fonseca
2007-12-08radeon_ms: fix pll computation to follow hw constraintJerome Glisse
2007-12-07Fix pipe<->plane mapping vs. vblank handling (again)Jesse Barnes
If drmMinor >= 6, the intel DDX driver will enable vblank events on both pipes. If drmMinor >= 10 on pre-965 chipsets, the intel DDX driver will swap the pipe<->plane mapping to allow for framebuffer compression on laptop screens. This means the secondary vblank counter (corresponding to pipe B) will be incremented when vblank interrupts occur. Now Mesa waits for vblank events on whichever plane has a greater portion of the displayed window. So it will happly ask to wait for the primary counter even though that one won't increment. So we can fix this in either the DDX driver, Mesa or the kernel (though I thought we already had several times). Since current (and previous) userspace assumes it's talking about a pipe == plane situation and now uses planes when talking to the kernel, we should probably just hide the mapping details there (indeed they already are hidden there for vblank swaps), which this patch does. So as far as userland is concerned, whether we call things planes or pipes is irrelevant, as long as kernel developers understand that userland hands them planes and they have to figure out which pipe that corresponds to (which will typically be the same on 965+ hardware and reversed on pre-965 mobile chips).
2007-12-06radeon_ms: fix fbcon by fixing paletteJerome Glisse
2007-12-06radeon_ms: update to lastest fb changeJerome Glisse
2007-12-06Merge commit 'origin/modesetting-101' into modesetting-radeonJerome Glisse
2007-12-06radeon_ms: avoid to unintialize things which haven't been initializedJerome Glisse
2007-12-06take down stuff after asking driver to unloadDave Airlie
2007-12-06retab intelfb codeDave Airlie
2007-12-06check previous mode firstDave Airlie
2007-12-06oops initialise variable to falseDave Airlie
2007-12-06add property blobs and edid reporting supportDave Airlie
2007-12-05mach64: make buffer emission macros normal functionsJosé Fonseca
2007-12-05mach64: use utf-8José Fonseca