mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-05-07 19:18:04 +02:00
Cleaned up buffer deallocation
This commit is contained in:
parent
4dbe3c735c
commit
c179c78025
4 changed files with 18 additions and 9 deletions
|
|
@ -263,7 +263,7 @@ typedef struct drm_buf {
|
|||
|
||||
|
||||
void *dev_private;
|
||||
|
||||
int dev_priv_size;
|
||||
|
||||
#if DRM_DMA_HISTOGRAM
|
||||
cycles_t time_queued; /* Queued to kernel DMA queue */
|
||||
|
|
|
|||
21
linux/dma.c
21
linux/dma.c
|
|
@ -64,15 +64,24 @@ void drm_dma_takedown(drm_device_t *dev)
|
|||
dma->bufs[i].page_order,
|
||||
DRM_MEM_DMA);
|
||||
}
|
||||
drm_free(dma->bufs[i].buflist,
|
||||
dma->buf_count
|
||||
* sizeof(*dma->bufs[0].buflist),
|
||||
DRM_MEM_BUFS);
|
||||
drm_free(dma->bufs[i].seglist,
|
||||
dma->buf_count
|
||||
dma->bufs[i].seg_count
|
||||
* sizeof(*dma->bufs[0].seglist),
|
||||
DRM_MEM_SEGS);
|
||||
drm_freelist_destroy(&dma->bufs[i].freelist);
|
||||
}
|
||||
if(dma->bufs[i].buf_count) {
|
||||
for(j = 0; j < dma->bufs[i].buf_count; j++) {
|
||||
if(dma->bufs[i].buflist[j].dev_private) {
|
||||
drm_free(dma->bufs[i].buflist[j].dev_private,
|
||||
dma->bufs[i].buflist[j].dev_priv_size,
|
||||
DRM_MEM_BUFS);
|
||||
}
|
||||
}
|
||||
drm_free(dma->bufs[i].buflist,
|
||||
dma->bufs[i].buf_count *
|
||||
sizeof(*dma->bufs[0].buflist),
|
||||
DRM_MEM_BUFS);
|
||||
drm_freelist_destroy(&dma->bufs[i].freelist);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ typedef struct drm_buf {
|
|||
|
||||
|
||||
void *dev_private;
|
||||
|
||||
int dev_priv_size;
|
||||
|
||||
#if DRM_DMA_HISTOGRAM
|
||||
cycles_t time_queued; /* Queued to kernel DMA queue */
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ int mga_addbufs_agp(struct inode *inode, struct file *filp, unsigned int cmd,
|
|||
buf->pid = 0;
|
||||
|
||||
buf->dev_private = drm_alloc(sizeof(drm_mga_buf_priv_t), DRM_MEM_BUFS);
|
||||
|
||||
buf->dev_priv_size = sizeof(drm_mga_buf_priv_t);
|
||||
|
||||
#if DRM_DMA_HISTOGRAM
|
||||
buf->time_queued = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue