Age | Commit message (Collapse) | Author |
|
The vm subsystem of 2.6.21 is fully compatible with the buffer object
vm code.
|
|
|
|
|
|
|
|
Implement unmappable buffers. (fault moves them to mappable when needed).
Various bugfixes.
|
|
Some other minor fixes.
|
|
Implement a memcpy fallback for copying between buffers.
|
|
Add a file for memory move helpers, drm_bo_move.c
Implement generic memory move.
Cached, no_move and unmapped memory temporarily broken.
|
|
|
|
and clean up some function names.
|
|
Remove ttm objects.
Make vm aware of PCI memory type buffer objects.
(Only works for pre 2.6.16 kernels for now).
|
|
Honour the ttm backend cant-use-aperture flag.
|
|
The map lists and hash tables are protected using dev->struct_mutex,
but drm_mmap strangely never locked this mutex.
|
|
This comes from the Re: [patch] paravirt: isolate module ops on lkml
It needs some testing, please report any regressions caused.
Signed-off-by: Dave Airlie <airlied@linux.ie>
|
|
|
|
|
|
TTM pages were not cleared when allocated and handed to user space.
Sensitive information may leak.
|
|
Bye bye 2.4 you served us well..
|
|
Make sure the callers do a pgprot_noncached() on
vma->vm_page_prot.
Pointed out by Hugh Dickens.
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Some drivers are returning OOM when it is not in response to a memory
shortage.
Signed-off-by: Nick Piggin <npiggin@suse.de>
|
|
Build fixes for powerpc.
Reported by Katerina Barone-Adesi
|
|
|
|
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
|
|
Use byte unit for /proc printout of memory usage for small sizes to be
able to detect memory allocation bugs more easily.
|
|
|
|
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.
|
|
|
|
|
|
Update compatibility for latest linux versions.
|
|
Disable the i915 IRQ turnoff for now since it seems to be causing problems.
|
|
|
|
drm-ttm-0-2-branch
Conflicts:
linux-core/drmP.h
|
|
remove a mach64 warning, align a lot of things from linux kernel
|
|
Update drm_compat accordingly.
(Reported by Dave Airlie)
|
|
Buffer object code.
|
|
|
|
|
|
I hope the fallback compat code works if not shout at me.
|
|
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.
|
|
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.
|
|
|
|
|
|
we should be safe doing this..
|
|
|
|
|
|
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>
|
|
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
|