summaryrefslogtreecommitdiff
path: root/linux-core/drm_vm.c
AgeCommit message (Collapse)Author
2006-08-30Buffer object mapping and mapping synchronization for multiple clients.Thomas Hellstrom
2006-08-28Merge bra# Copyright 2005 Adam Jackson. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # on the rights to use, copy, modify, merge, publish, distribute, sub # license, and/or sell copies of the Software, and to permit persons to whom # the Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice (including the next # paragraph) shall be included in all copies or substantial portions of the # Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL # ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # eventually someone might want to build the kernel modules or tests from # here too, but let's just do libdrm for now AUTOMAKE_OPTIONS = foreign SUBDIRS = libdrm shared-core tests pkgconfigdir = @pkgconfigdir@ pkgconfig_DATA = libdrm.pc EXTRA_DIST = libdrm.pc.in
Airlie I hope the fallback compat code works if not shout at me. 2006-07-11Keep hashed user tokens, with the following changes:Thomas Hellstrom 32-bit physical device addresses are mapped directly to user-tokens. No duplicate maps are allowed, and the addresses are assumed to be outside of the range 0x10000000 through 0x30000000. The user-token is identical to the 32-bit physical start-address of the map. 64-bit physical device addressed are mapped to user-tokens in the range 0x10000000 to 0x30000000 with page-size increments. The user_token should not be interpreted as an address. Other map types, like upcoming TTM maps are mapped to user-tokens in the range 0x10000000 to 0x30000000 with page-size increments. The user_token should not be interpreted as an address. This keeps compatibility with buggy drivers, while still implementing a hashed map lookup. The SiS and via device driver major bumps are reverted. 2006-07-10Change drm Map handles to be arbitrary 32-bit hash tokens in the rangeThomas Hellstrom 0x10000000 to 0x90000000 in PAGE_SIZE increments. Implement hashed map lookups. This potentially breaks both 2D and 3D drivers. If so, the corresponding 2D and 3D driver should be fixed, and it's corresponding drm device driver should have its major bumped as soon as possible. Bump sis and via drm device driver majors. The SiS and Unichrome 3D drivers are fixed in Mesa CVS HEAD and mesa_6_4_branch. 2006-02-18major realigment of DRM CVS with kernel code, makes integration much easierDave Airlie 2005-11-29Fix from Hugh Dickins for consistent mappingDave Airlie 2005-08-20remove checks that make ppc64 not work properly... also fix ppc64 check..Dave Airlie we should be safe doing this.. 2005-08-16add Egberts 32/64 bit patch (its in kernel already...)Dave Airlie 2005-06-04misc cleanup patch from Adrian BunkDave Airlie 2005-05-28Bugzilla #3217: Create a new __drm_pci_free which is used internally inEric Anholt linux-core to free pci memory without freeing the structure. Linux-core internals often create pci dma handle structures on the stack due to the lack of a drm_local_map_t to store them in properly. Fix the original drm_pci_free to actually free the dma handle structure instead of leaking it. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> 2005-04-26Convert BSD code to mostly use bus_dma, the dma abstraction for dealingEric Anholt with IOMMUs and such. There is one usage of the forbidden vtophys() left in drm_scatter.c which will be fixed up soon. This required a KPI change for drm_pci_alloc/free() to return/use a drm_dma_handle_t that keeps track of os-specific bits, rather than just passing around the vaddr/busaddr/size. Submitted by: Tonnerre Lombard (partially) Tested on: FreeBSD: Rage128 AGP/PCI Linux: Savage4 AGP/PCI 2005-03-27Some ia64 platforms may not support write combining on all type of memory,Dave Airlie so we need to consult the EFI memory map before we try to set the write combine attribute of a page. This patch will try to map a page write combined if it's not an AGP page and the EFI memory map says it's ok, otherwise it falls back to a regular, uncached mapping. Can someone please apply this to the drm tree? From: Jesse Barnes 2005-01-12Use virt_to_page instead of vmalloc_to_page in drm_do_vm_shm_nopage forFelix Kuehling consistent pages allocated with drm_pci_alloc. 2005-01-01Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It usesFelix Kuehling drm_pci_alloc/free for allocating/freeing the memory. Only implemented in the Linux DRM so far. 2004-10-23fix pfn vs page for older kernels (2.6.9-rc kernels many not work..)Dave Airlie 2004-10-22Bring in patch from kernel for remap_pfn_rangeJon Smirl 2004-10-18Update Doxygen configuration & comments.Jose Fonseca 2004-10-12Breakout heads into their own data structures.Jon Smirl 2004-10-10Rename fn_tbl to driver. Core driver now uses pci_driver name whichJon Smirl reflects the personality name. 2004-09-30Lindent of core build. Drivers checked for no binary diffs. A few filesJon Smirl weren't Lindent's because their comments didn't convert very well. A bunch of other minor clean up with no code implact included. 2004-09-30Make fops per driver instead of global, remove default flush, poll, readJon Smirl functions 2004-09-27First check in for DRM that splits core from personality modulesJon Smirl 2004-09-20Felix's fix for map request smaller than permanent map sizeJon Smirl 2004-09-05merge back bunch of whitespace and misc changes from kernelDave Airlie 2004-09-05bad code copy for alpha.. fix the member namesDave Airlie 2004-09-05make the AMD64 check a compat thingDave Airlie 2004-09-04Fixup OS_HAS_AGP/OS_HAS_MTRR along lines of patches going to kernel, asDave Airlie suggested by Arjan.. Signed-off-by: Dave Airlie <airlied@linux.ie> 2004-09-04doh.. that makes no sense.. thinko in removal of OS_HAS_AGPDave Airlie 2004-08-30implement drm_core_check_feature and use it .. looks lots nicerDave Airlie 2004-08-27__NO_VERSION__ hasn't been needed since 2.3 days ditch it...Dave Airlie 2004-08-24Merged drmfntbl-0-0-2Dave Airlie 2004-07-20add x86_64 architecture defines from kernel (leave AMD64 defines in forDave Airlie backwards compat) 2004-06-10A few changes for recent redhat.Keith Whitwell 2004-05-30fixes from kernel: Make users of page->count use the provided macrosDave Airlie 2004-01-11Adapt to nopage() prototype change in Linux 2.6.1.Michel Daenzer Reviewed by: Arjan van de Ven <arjanv@redhat.com>, additional feedback from William Lee Irwin III and Linus Torvalds. 2003-09-12linux drm fixesAlan Hourihane 2003-08-15Merge from 2.6 kernel (Linus Torvalds)Michel Daenzer 2003-05-27Merged DRM documentation.Jose Fonseca 2003-05-17do allow reading from read only mappings...Michel Daenzer 2003-05-16Support AGP bridges where the AGP aperture can't be accessed directly byMichel Daenzer the CPU (David Mosberger, Benjamin Herrenschmidt, myself, Paul Mackerras, Jeff Wiedemeier) 2003-04-08Use list_entry() to get container struct from struct list_head pointers.Leif Delgass Build fix for RedHat 9 kernel (5 args to remap_page_range()). 2003-03-30Spelling fixes in comments.Eric Anholt Submitted by: Linus Torvalds <torvalds@transmeta.com> 2002-10-22final part of XFree86 4.2.99.2 mergeAlan Hourihane 2002-08-22Don't (re)define vmalloc_to_page for kernel >= 2.4.19, as it has beenLeif Delgass backported from 2.5.x. Also fix a couple of incorrect LINUX_VERSION_CODE tests and fix header dependency for r128, radeon when building without AGP.