diff options
author | Thomas Hellstrom <thomas-at-tungstengraphics-dot-com> | 2007-01-08 06:25:47 -0500 |
---|---|---|
committer | Dave Airlie <airlied@linux.ie> | 2007-02-07 21:24:26 -0500 |
commit | 1d58420bad15d08f93bf1e0342c1b1d1234d69b7 (patch) | |
tree | 0894a496155dd8cda01427fce9f5351f1981d7ea /drivers/char/drm/drm_sman.c | |
parent | 004a7727421fd202bbdfcc0231a3359085199a52 (diff) |
drm: update core memory manager from git drm tree
Remove the memory manager parameter from the put_block function, as this
makes the client code a lot cleaner. Prepare buffer manager for lock and
unlock calls.
Fix buggy aligned allocations.
Remove the stupid root_node field from the core memory manager.
Support multi-page buffer offset alignments
Add improved alignment functionality to the core memory manager.
This makes an allocated block actually align itself and returns any
wasted space to the manager.
Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/drm_sman.c')
-rw-r--r-- | drivers/char/drm/drm_sman.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/char/drm/drm_sman.c b/drivers/char/drm/drm_sman.c index 19c81d2e13d0..e15db6d6bea9 100644 --- a/drivers/char/drm/drm_sman.c +++ b/drivers/char/drm/drm_sman.c | |||
@@ -101,10 +101,9 @@ static void *drm_sman_mm_allocate(void *private, unsigned long size, | |||
101 | 101 | ||
102 | static void drm_sman_mm_free(void *private, void *ref) | 102 | static void drm_sman_mm_free(void *private, void *ref) |
103 | { | 103 | { |
104 | drm_mm_t *mm = (drm_mm_t *) private; | ||
105 | drm_mm_node_t *node = (drm_mm_node_t *) ref; | 104 | drm_mm_node_t *node = (drm_mm_node_t *) ref; |
106 | 105 | ||
107 | drm_mm_put_block(mm, node); | 106 | drm_mm_put_block(node); |
108 | } | 107 | } |
109 | 108 | ||
110 | static void drm_sman_mm_destroy(void *private) | 109 | static void drm_sman_mm_destroy(void *private) |