Age | Commit message (Collapse) | Author |
|
modesetting-101
Conflicts:
linux-core/drm_drv.c
linux-core/drm_fops.c
linux-core/drm_objects.h
linux-core/drm_stub.c
shared-core/i915_dma.c
|
|
|
|
This reverts commit 6e860d08d0f5b1e9a2d711aaf9fd6b982aa8039e.
As I said not a good plan - this macro will have to stay for now,
trying to do the vbl code with the inline was a bit messy - may need specialised
drm wait on functions
|
|
|
|
This cleans this code up a lot and uses the generic Linux idr which is
designed for this.
Signed-off-by: Dave Airlie <airlied@linux.ie>
|
|
This makes the drms use of the list handling macros a lot cleaner
and more along the lines of how they should be used.
|
|
modesetting-101
Conflicts:
shared-core/i915_dma.c
|
|
into origin/modesetting-101
Conflicts:
linux-core/drm_crtc.c
linux-core/drm_fb.c
Lots of changes to merge with alanh's latest stuff:
o fix use of fb->pitch now that it has the right value
o add new helper for finding the CRTC given an FB
o fix new fb_probe/fb_remove functions to take a CRTC
o fixup callers of new FB routines
o port drm_fb changes to intel_fb
o check for errors after creating fb buffer object
o go back to using cfb_imageblit since the accel stubs aren't ready
|
|
places).
Add new FB hooks to the drm driver structure and make i915 use them for an
Intel specific FB driver. This will allow acceleration and better handling
of the command stream.
|
|
|
|
|
|
|
|
|
|
We need to keep a list of user created fbs to nuke on master exit.
We also need to use the bo properly.
|
|
|
|
|
|
X.org calls this crtc_config but this is a bad name and will confuse ppl later
(and me now :-)
|
|
The IGPGART setup code was traced using mmio-trace on fglrx by myself
and Phillip Ezolt <phillipezolt@gmail.com> on dri-devel.
This code doesn't let the 3D driver work properly as the card has no
vertex shader support.
Thanks to Matthew Garrett + Ubuntu for providing me some hardware to do this
work on.
|
|
fixup drm_crtc.c so it matches VGA and other outputs properly.
make drm_crtc.c less verbose.
add function declarations in drm_crtc.h for other files.
|
|
|
|
|
|
|
|
This code doesn't enable a variable aperture it just modifies the codebase
to allow me fix it up later
|
|
|
|
|
|
Fix up some header incompatibilities in drm_fence.c caused by the previous
commit.
|
|
|
|
|
|
|
|
Add refcounting of user waiters to the DRM hardware lock, so that we can use the
DRM_LOCK_CONT flag more conservatively.
Also add a kernel waiter refcount that if nonzero transfers the lock for the kernel context,
when it is released. This is useful when waiting for idle and can be used
for very simple fence object driver implementations for the new memory manager.
It also resolves the AIGLX startup deadlock for the sis and the via drivers.
i810, i830 still require that the hardware lock is really taken so the deadlock remains
for those two. I'm not sure about ffb. Anyone familiar with that code?
|
|
Fixed memory, pinned buffers and unmappable memory now seems
fully functional.
|
|
|
|
Export helper functions and make some important buffer-object functions non-static.
Add an i915 accelerated blit buffer move for pci memory buffers.
|
|
Some other minor fixes.
|
|
Hooray!! it sort of works with a fixed AGP area as faked VRAM.
|
|
Implement a memcpy fallback for copying between buffers.
|
|
Flag handling and memory type selection cleanup.
glxgears won't start.
|
|
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.
|
|
|
|
Memory types are either fixed (on-card or pre-bound AGP) or not fixed
(dynamically bound) to an aperture. They also carry information about:
1) Whether they can be mapped cached.
2) Whether they are at all mappable.
3) Whether they need an ioremap to be accessible from kernel space.
In this way VRAM memory and, for example, pre-bound AGP appear
identical to the memory manager.
This also makes support for unmappable VRAM simple to implement.
|
|
|
|
We don't use memory caches anymore...
Fix memory accounting initialization to only use low or DMA32 memory.
|
|
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>
|
|
|