diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/pci/drm/drmP.h | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/drm_bufs.c | 47 | ||||
-rw-r--r-- | sys/dev/pci/drm/drm_dma.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/i915_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/mach64_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/mga_dma.c | 5 | ||||
-rw-r--r-- | sys/dev/pci/drm/mga_drv.h | 7 | ||||
-rw-r--r-- | sys/dev/pci/drm/mga_state.c | 12 | ||||
-rw-r--r-- | sys/dev/pci/drm/r128_cce.c | 6 | ||||
-rw-r--r-- | sys/dev/pci/drm/r128_drv.h | 11 | ||||
-rw-r--r-- | sys/dev/pci/drm/r128_state.c | 14 | ||||
-rw-r--r-- | sys/dev/pci/drm/r300_cmdbuf.c | 2 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon_cp.c | 4 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon_drv.h | 3 | ||||
-rw-r--r-- | sys/dev/pci/drm/radeon_state.c | 2 | ||||
-rw-r--r-- | sys/dev/pci/drm/savage_bci.c | 16 | ||||
-rw-r--r-- | sys/dev/pci/drm/savage_drv.h | 8 | ||||
-rw-r--r-- | sys/dev/pci/drm/savage_state.c | 3 | ||||
-rw-r--r-- | sys/dev/pci/drm/sis_drv.c | 1 | ||||
-rw-r--r-- | sys/dev/pci/drm/tdfx_drv.c | 2 |
20 files changed, 60 insertions, 92 deletions
diff --git a/sys/dev/pci/drm/drmP.h b/sys/dev/pci/drm/drmP.h index 107cf93653f..d11cef347ec 100644 --- a/sys/dev/pci/drm/drmP.h +++ b/sys/dev/pci/drm/drmP.h @@ -288,7 +288,6 @@ typedef struct drm_buf { unsigned long bus_address; /* Bus address of buffer */ __volatile__ int pending; /* On hardware DMA queue */ struct drm_file *file_priv; /* Unique identifier of holding process */ - void *dev_private; /* Per-buffer private storage */ } drm_buf_t; typedef struct drm_dma_handle { diff --git a/sys/dev/pci/drm/drm_bufs.c b/sys/dev/pci/drm/drm_bufs.c index 58488b9668c..c2c42d59a8f 100644 --- a/sys/dev/pci/drm/drm_bufs.c +++ b/sys/dev/pci/drm/drm_bufs.c @@ -420,7 +420,10 @@ drm_do_addbufs_agp(struct drm_device *dev, struct drm_buf_desc *request) entry = &dma->bufs[order]; - entry->buflist = drm_calloc(count, sizeof(*entry->buflist), + if (dev->driver->buf_priv_size == 0) + return (ENOMEM); + + entry->buflist = drm_calloc(count, dev->driver->buf_priv_size, DRM_MEM_BUFS); if (entry->buflist == NULL) return ENOMEM; @@ -441,15 +444,6 @@ drm_do_addbufs_agp(struct drm_device *dev, struct drm_buf_desc *request) buf->pending = 0; buf->file_priv = NULL; - buf->dev_private = drm_calloc(1, dev->driver->buf_priv_size, - DRM_MEM_BUFS); - if (buf->dev_private == NULL) { - /* Set count correctly so we free the proper amount. */ - entry->buf_count = count; - drm_cleanup_buf(dev, entry); - return ENOMEM; - } - offset += alignment; entry->buf_count++; byte_count += PAGE_SIZE << page_order; @@ -518,7 +512,10 @@ drm_do_addbufs_pci(struct drm_device *dev, struct drm_buf_desc *request) entry = &dma->bufs[order]; - entry->buflist = drm_calloc(count, sizeof(*entry->buflist), + if (dev->driver->buf_priv_size == 0) + return (EINVAL); + + entry->buflist = drm_calloc(count, dev->driver->buf_priv_size, DRM_MEM_BUFS); entry->seglist = drm_calloc(count, sizeof(*entry->seglist), DRM_MEM_BUFS); @@ -586,20 +583,6 @@ drm_do_addbufs_pci(struct drm_device *dev, struct drm_buf_desc *request) buf->pending = 0; buf->file_priv = NULL; - buf->dev_private = drm_calloc(1, - dev->driver->buf_priv_size, DRM_MEM_BUFS); - if (buf->dev_private == NULL) { - /* Set count so we free the proper amount. */ - entry->buf_count = count; - entry->seg_count = count; - drm_cleanup_buf(dev, entry); - drm_free(temp_pagelist, (dma->page_count + - (count << page_order)) * - sizeof(*dma->pagelist), - DRM_MEM_BUFS); - return ENOMEM; - } - DRM_DEBUG("buffer %d\n", entry->buf_count); } @@ -681,7 +664,10 @@ drm_do_addbufs_sg(struct drm_device *dev, struct drm_buf_desc *request) entry = &dma->bufs[order]; - entry->buflist = drm_calloc(count, sizeof(*entry->buflist), + if (dev->driver->buf_priv_size == 0) + return (ENOMEM); + + entry->buflist = drm_calloc(count, dev->driver->buf_priv_size, DRM_MEM_BUFS); if (entry->buflist == NULL) return ENOMEM; @@ -702,15 +688,6 @@ drm_do_addbufs_sg(struct drm_device *dev, struct drm_buf_desc *request) buf->pending = 0; buf->file_priv = NULL; - buf->dev_private = drm_calloc(1, dev->driver->buf_priv_size, - DRM_MEM_BUFS); - if (buf->dev_private == NULL) { - /* Set count correctly so we free the proper amount. */ - entry->buf_count = count; - drm_cleanup_buf(dev, entry); - return ENOMEM; - } - DRM_DEBUG("buffer %d\n", entry->buf_count); offset += alignment; diff --git a/sys/dev/pci/drm/drm_dma.c b/sys/dev/pci/drm/drm_dma.c index 88334924a6f..6b3ec78fc34 100644 --- a/sys/dev/pci/drm/drm_dma.c +++ b/sys/dev/pci/drm/drm_dma.c @@ -68,12 +68,8 @@ drm_cleanup_buf(struct drm_device *dev, drm_buf_entry_t *entry) } if (entry->buf_count) { - for (i = 0; i < entry->buf_count; i++) { - drm_free(entry->buflist[i].dev_private, - dev->driver->buf_priv_size, DRM_MEM_BUFS); - } drm_free(entry->buflist, entry->buf_count * - sizeof(*entry->buflist), DRM_MEM_BUFS); + dev->driver->buf_priv_size, DRM_MEM_BUFS); entry->buf_count = 0; } diff --git a/sys/dev/pci/drm/i915_drv.c b/sys/dev/pci/drm/i915_drv.c index c5cea77a6f1..43dc8edaf07 100644 --- a/sys/dev/pci/drm/i915_drv.c +++ b/sys/dev/pci/drm/i915_drv.c @@ -90,7 +90,6 @@ static drm_pci_id_list_t inteldrm_pciidlist[] = { }; static const struct drm_driver_info inteldrm_driver = { - .buf_priv_size = 1, /* No dev_priv */ .ioctl = inteldrm_ioctl, .preclose = i915_driver_preclose, .lastclose = i915_driver_lastclose, diff --git a/sys/dev/pci/drm/mach64_drv.c b/sys/dev/pci/drm/mach64_drv.c index f1d6271ef08..00e0737f69f 100644 --- a/sys/dev/pci/drm/mach64_drv.c +++ b/sys/dev/pci/drm/mach64_drv.c @@ -68,7 +68,6 @@ static drm_pci_id_list_t mach64_pciidlist[] = { }; static const struct drm_driver_info machdrm_driver = { - .buf_priv_size = 1, /* No dev_priv */ .ioctl = machdrm_ioctl, .lastclose = mach64_driver_lastclose, .vblank_pipes = 1, diff --git a/sys/dev/pci/drm/mga_dma.c b/sys/dev/pci/drm/mga_dma.c index 992e04ce227..5798718cb05 100644 --- a/sys/dev/pci/drm/mga_dma.c +++ b/sys/dev/pci/drm/mga_dma.c @@ -261,7 +261,7 @@ static int mga_freelist_init(struct drm_device * dev, drm_mga_private_t * dev_pr for (i = 0; i < dma->buf_count; i++) { buf = dma->buflist[i]; - buf_priv = buf->dev_private; + buf_priv = (drm_mga_buf_priv_t *)buf; entry = drm_calloc(1, sizeof(drm_mga_freelist_t), DRM_MEM_DRIVER); @@ -271,7 +271,6 @@ static int mga_freelist_init(struct drm_device * dev, drm_mga_private_t * dev_pr entry->next = dev_priv->head->next; entry->prev = dev_priv->head; SET_AGE(&entry->age, MGA_BUFFER_FREE, 0); - entry->buf = buf; if (dev_priv->head->next != NULL) dev_priv->head->next->prev = entry; @@ -359,7 +358,7 @@ static struct drm_buf *mga_freelist_get(struct drm_device * dev) int mga_freelist_put(struct drm_device * dev, struct drm_buf * buf) { drm_mga_private_t *dev_priv = dev->dev_private; - drm_mga_buf_priv_t *buf_priv = buf->dev_private; + drm_mga_buf_priv_t *buf_priv = (drm_mga_buf_priv_t *)buf; drm_mga_freelist_t *head, *entry, *prev; DRM_DEBUG("age=0x%06lx wrap=%d\n", diff --git a/sys/dev/pci/drm/mga_drv.h b/sys/dev/pci/drm/mga_drv.h index a46858aa549..cba4d6945b3 100644 --- a/sys/dev/pci/drm/mga_drv.h +++ b/sys/dev/pci/drm/mga_drv.h @@ -69,9 +69,10 @@ typedef struct drm_mga_freelist { } drm_mga_freelist_t; typedef struct { - drm_mga_freelist_t *list_entry; - int discard; - int dispatched; + struct drm_buf buf; + drm_mga_freelist_t *list_entry; + int discard; + int dispatched; } drm_mga_buf_priv_t; typedef struct drm_mga_private { diff --git a/sys/dev/pci/drm/mga_state.c b/sys/dev/pci/drm/mga_state.c index f13c60fcdaa..1dae29e6ae4 100644 --- a/sys/dev/pci/drm/mga_state.c +++ b/sys/dev/pci/drm/mga_state.c @@ -650,7 +650,7 @@ static void mga_dma_dispatch_swap(struct drm_device * dev) static void mga_dma_dispatch_vertex(struct drm_device * dev, struct drm_buf * buf) { drm_mga_private_t *dev_priv = dev->dev_private; - drm_mga_buf_priv_t *buf_priv = buf->dev_private; + drm_mga_buf_priv_t *buf_priv = (drm_mga_buf_priv_t *)buf; drm_mga_sarea_t *sarea_priv = dev_priv->sarea_priv; u32 address = (u32) buf->bus_address; u32 length = (u32) buf->used; @@ -698,7 +698,7 @@ static void mga_dma_dispatch_indices(struct drm_device * dev, struct drm_buf * b unsigned int start, unsigned int end) { drm_mga_private_t *dev_priv = dev->dev_private; - drm_mga_buf_priv_t *buf_priv = buf->dev_private; + drm_mga_buf_priv_t *buf_priv = (drm_mga_buf_priv_t *)buf; drm_mga_sarea_t *sarea_priv = dev_priv->sarea_priv; u32 address = (u32) buf->bus_address; int i = 0; @@ -747,7 +747,7 @@ static void mga_dma_dispatch_iload(struct drm_device * dev, struct drm_buf * buf unsigned int dstorg, unsigned int length) { drm_mga_private_t *dev_priv = dev->dev_private; - drm_mga_buf_priv_t *buf_priv = buf->dev_private; + drm_mga_buf_priv_t *buf_priv = (drm_mga_buf_priv_t *)buf; drm_mga_context_regs_t *ctx = &dev_priv->sarea_priv->context_state; u32 srcorg = buf->bus_address | dev_priv->dma_access | MGA_SRCMAP_SYSMEM; u32 y2; @@ -917,7 +917,7 @@ int mga_dma_vertex(struct drm_device *dev, void *data, struct drm_file *file_pri if (vertex->idx < 0 || vertex->idx > dma->buf_count) return EINVAL; buf = dma->buflist[vertex->idx]; - buf_priv = buf->dev_private; + buf_priv = (drm_mga_buf_priv_t *)buf; buf->used = vertex->used; buf_priv->discard = vertex->discard; @@ -953,7 +953,7 @@ int mga_dma_indices(struct drm_device *dev, void *data, struct drm_file *file_pr return EINVAL; buf = dma->buflist[indices->idx]; - buf_priv = buf->dev_private; + buf_priv = (drm_mga_buf_priv_t *)buf; buf_priv->discard = indices->discard; @@ -996,7 +996,7 @@ int mga_dma_iload(struct drm_device *dev, void *data, struct drm_file *file_priv return EINVAL; buf = dma->buflist[iload->idx]; - buf_priv = buf->dev_private; + buf_priv = (drm_mga_buf_priv_t *)buf; if (mga_verify_iload(dev_priv, iload->dstorg, iload->length)) { mga_freelist_put(dev, buf); diff --git a/sys/dev/pci/drm/r128_cce.c b/sys/dev/pci/drm/r128_cce.c index 2f3f8bd05ac..53e2e2ee132 100644 --- a/sys/dev/pci/drm/r128_cce.c +++ b/sys/dev/pci/drm/r128_cce.c @@ -784,7 +784,7 @@ static struct drm_buf *r128_freelist_get(struct drm_device * dev) for (i = 0; i < dma->buf_count; i++) { buf = dma->buflist[i]; - buf_priv = buf->dev_private; + buf_priv = (drm_r128_buf_priv_t *)buf; if (buf->file_priv == 0) return buf; } @@ -794,7 +794,7 @@ static struct drm_buf *r128_freelist_get(struct drm_device * dev) for (i = 0; i < dma->buf_count; i++) { buf = dma->buflist[i]; - buf_priv = buf->dev_private; + buf_priv = (drm_r128_buf_priv_t *)buf; if (buf->pending && buf_priv->age <= done_age) { /* The buffer has been processed, so it * can now be used. @@ -817,7 +817,7 @@ void r128_freelist_reset(struct drm_device * dev) for (i = 0; i < dma->buf_count; i++) { struct drm_buf *buf = dma->buflist[i]; - drm_r128_buf_priv_t *buf_priv = buf->dev_private; + drm_r128_buf_priv_t *buf_priv = (drm_r128_buf_priv_t *)buf; buf_priv->age = 0; } } diff --git a/sys/dev/pci/drm/r128_drv.h b/sys/dev/pci/drm/r128_drv.h index ca647af09e4..c1ef4df5f53 100644 --- a/sys/dev/pci/drm/r128_drv.h +++ b/sys/dev/pci/drm/r128_drv.h @@ -131,11 +131,12 @@ typedef struct drm_r128_private { } drm_r128_private_t; typedef struct drm_r128_buf_priv { - u32 age; - int prim; - int discard; - int dispatched; - drm_r128_freelist_t *list_entry; + struct drm_buf buf; + drm_r128_freelist_t *list_entry; + u_int32_t age; + int prim; + int discard; + int dispatched; } drm_r128_buf_priv_t; /* r128_cce.c */ diff --git a/sys/dev/pci/drm/r128_state.c b/sys/dev/pci/drm/r128_state.c index a79f44ae467..b831029d8c4 100644 --- a/sys/dev/pci/drm/r128_state.c +++ b/sys/dev/pci/drm/r128_state.c @@ -570,7 +570,7 @@ static void r128_cce_dispatch_flip(struct drm_device * dev) static void r128_cce_dispatch_vertex(struct drm_device * dev, struct drm_buf * buf) { drm_r128_private_t *dev_priv = dev->dev_private; - drm_r128_buf_priv_t *buf_priv = buf->dev_private; + drm_r128_buf_priv_t *buf_priv = (drm_r128_buf_priv_t *)buf; drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv; int format = sarea_priv->vc_format; int offset = buf->bus_address; @@ -642,7 +642,7 @@ static void r128_cce_dispatch_indirect(struct drm_device * dev, struct drm_buf * buf, int start, int end) { drm_r128_private_t *dev_priv = dev->dev_private; - drm_r128_buf_priv_t *buf_priv = buf->dev_private; + drm_r128_buf_priv_t *buf_priv = (drm_r128_buf_priv_t *)buf; RING_LOCALS; DRM_DEBUG("indirect: buf=%d s=0x%x e=0x%x\n", buf->idx, start, end); @@ -698,7 +698,7 @@ static void r128_cce_dispatch_indices(struct drm_device * dev, int start, int end, int count) { drm_r128_private_t *dev_priv = dev->dev_private; - drm_r128_buf_priv_t *buf_priv = buf->dev_private; + drm_r128_buf_priv_t *buf_priv = (drm_r128_buf_priv_t *)buf; drm_r128_sarea_t *sarea_priv = dev_priv->sarea_priv; int format = sarea_priv->vc_format; int offset = dev->agp_buffer_map->offset - dev_priv->cce_buffers_offset; @@ -830,7 +830,7 @@ static int r128_cce_dispatch_blit(struct drm_device * dev, /* Dispatch the indirect buffer. */ buf = dma->buflist[blit->idx]; - buf_priv = buf->dev_private; + buf_priv = (drm_r128_buf_priv_t *)buf; if (buf->file_priv != file_priv) { DRM_ERROR("process %d using buffer owned by %p\n", @@ -1380,7 +1380,7 @@ int r128_cce_vertex(struct drm_device *dev, void *data, struct drm_file *file_pr VB_AGE_TEST_WITH_RETURN(dev_priv); buf = dma->buflist[vertex->idx]; - buf_priv = buf->dev_private; + buf_priv = (drm_r128_buf_priv_t *)buf; if (buf->file_priv != file_priv) { DRM_ERROR("process %d using buffer owned by %p\n", @@ -1436,7 +1436,7 @@ int r128_cce_indices(struct drm_device *dev, void *data, struct drm_file *file_p VB_AGE_TEST_WITH_RETURN(dev_priv); buf = dma->buflist[elts->idx]; - buf_priv = buf->dev_private; + buf_priv = (drm_r128_buf_priv_t *)buf; if (buf->file_priv != file_priv) { DRM_ERROR("process %d using buffer owned by %p\n", @@ -1574,7 +1574,7 @@ int r128_cce_indirect(struct drm_device *dev, void *data, struct drm_file *file_ } buf = dma->buflist[indirect->idx]; - buf_priv = buf->dev_private; + buf_priv = (drm_r128_buf_priv_t *)buf; if (buf->file_priv != file_priv) { DRM_ERROR("process %d using buffer owned by %p\n", diff --git a/sys/dev/pci/drm/r300_cmdbuf.c b/sys/dev/pci/drm/r300_cmdbuf.c index f1f49fcf6fa..c77ade2baf0 100644 --- a/sys/dev/pci/drm/r300_cmdbuf.c +++ b/sys/dev/pci/drm/r300_cmdbuf.c @@ -864,7 +864,7 @@ static __inline__ void r300_pacify(drm_radeon_private_t *dev_priv) static void r300_discard_buffer(struct drm_device * dev, struct drm_buf * buf) { drm_radeon_private_t *dev_priv = dev->dev_private; - drm_radeon_buf_priv_t *buf_priv = buf->dev_private; + drm_radeon_buf_priv_t *buf_priv = (drm_radeon_buf_priv_t *)buf; buf_priv->age = ++dev_priv->sarea_priv->last_dispatch; buf->pending = 1; diff --git a/sys/dev/pci/drm/radeon_cp.c b/sys/dev/pci/drm/radeon_cp.c index b22a2ad9336..7c38809cb45 100644 --- a/sys/dev/pci/drm/radeon_cp.c +++ b/sys/dev/pci/drm/radeon_cp.c @@ -1544,7 +1544,7 @@ struct drm_buf *radeon_freelist_get(struct drm_device * dev) DRM_DEBUG("done_age = %d\n", done_age); for (i = start; i < dma->buf_count; i++) { buf = dma->buflist[i]; - buf_priv = buf->dev_private; + buf_priv = (drm_radeon_buf_priv_t *)buf; if (buf->file_priv == NULL || (buf->pending && buf_priv->age <= done_age)) { @@ -1610,7 +1610,7 @@ void radeon_freelist_reset(struct drm_device * dev) dev_priv->last_buf = 0; for (i = 0; i < dma->buf_count; i++) { struct drm_buf *buf = dma->buflist[i]; - drm_radeon_buf_priv_t *buf_priv = buf->dev_private; + drm_radeon_buf_priv_t *buf_priv = (drm_radeon_buf_priv_t *)buf; buf_priv->age = 0; } } diff --git a/sys/dev/pci/drm/radeon_drv.h b/sys/dev/pci/drm/radeon_drv.h index f5dd17611fa..c733cb0baf8 100644 --- a/sys/dev/pci/drm/radeon_drv.h +++ b/sys/dev/pci/drm/radeon_drv.h @@ -324,7 +324,8 @@ typedef struct drm_radeon_private { } drm_radeon_private_t; typedef struct drm_radeon_buf_priv { - u32 age; + struct drm_buf buf; + u_int32_t age; } drm_radeon_buf_priv_t; typedef struct drm_radeon_kcmd_buffer { diff --git a/sys/dev/pci/drm/radeon_state.c b/sys/dev/pci/drm/radeon_state.c index 4863a9b9204..1de5d1693e7 100644 --- a/sys/dev/pci/drm/radeon_state.c +++ b/sys/dev/pci/drm/radeon_state.c @@ -1548,7 +1548,7 @@ static void radeon_cp_dispatch_vertex(struct drm_device * dev, static void radeon_cp_discard_buffer(struct drm_device * dev, struct drm_buf * buf) { drm_radeon_private_t *dev_priv = dev->dev_private; - drm_radeon_buf_priv_t *buf_priv = buf->dev_private; + drm_radeon_buf_priv_t *buf_priv = (drm_radeon_buf_priv_t *)buf; RING_LOCALS; buf_priv->age = ++dev_priv->sarea_priv->last_dispatch; diff --git a/sys/dev/pci/drm/savage_bci.c b/sys/dev/pci/drm/savage_bci.c index 58c9b07a377..df848f0d810 100644 --- a/sys/dev/pci/drm/savage_bci.c +++ b/sys/dev/pci/drm/savage_bci.c @@ -214,18 +214,15 @@ static int savage_freelist_init(struct drm_device *dev) dev_priv->head.next = &dev_priv->tail; dev_priv->head.prev = NULL; - dev_priv->head.buf = NULL; dev_priv->tail.next = NULL; dev_priv->tail.prev = &dev_priv->head; - dev_priv->tail.buf = NULL; for (i = 0; i < dma->buf_count; i++) { buf = dma->buflist[i]; - entry = buf->dev_private; + entry = (drm_savage_buf_priv_t *)buf; SET_AGE(&entry->age, 0, 0); - entry->buf = buf; entry->next = dev_priv->head.next; entry->prev = &dev_priv->head; @@ -256,13 +253,13 @@ static struct drm_buf *savage_freelist_get(struct drm_device *dev) DRM_DEBUG(" tail=0x%04x %d\n", tail->age.event, tail->age.wrap); DRM_DEBUG(" head=0x%04x %d\n", event, wrap); - if (tail->buf && (TEST_AGE(&tail->age, event, wrap) || event == 0)) { + if ((TEST_AGE(&tail->age, event, wrap) || event == 0)) { drm_savage_buf_priv_t *next = tail->next; drm_savage_buf_priv_t *prev = tail->prev; prev->next = next; next->prev = prev; tail->next = tail->prev = NULL; - return tail->buf; + return &tail->buf; } DRM_DEBUG("returning NULL, tail->buf=%p!\n", tail->buf); @@ -271,8 +268,9 @@ static struct drm_buf *savage_freelist_get(struct drm_device *dev) void savage_freelist_put(struct drm_device *dev, struct drm_buf *buf) { - drm_savage_private_t *dev_priv = dev->dev_private; - drm_savage_buf_priv_t *entry = buf->dev_private, *prev, *next; + drm_savage_private_t *dev_priv = dev->dev_private; + drm_savage_buf_priv_t *entry = (drm_savage_buf_priv_t *)buf; + drm_savage_buf_priv_t *prev, *next; DRM_DEBUG("age=0x%04x wrap=%d\n", entry->age.event, entry->age.wrap); @@ -1000,7 +998,7 @@ void savage_reclaim_buffers(struct drm_device *dev, struct drm_file *file_priv) for (i = 0; i < dma->buf_count; i++) { struct drm_buf *buf = dma->buflist[i]; - drm_savage_buf_priv_t *buf_priv = buf->dev_private; + drm_savage_buf_priv_t *buf_priv = (drm_savage_buf_priv_t *)buf; if (buf->file_priv == file_priv && buf_priv && buf_priv->next == NULL && buf_priv->prev == NULL) { diff --git a/sys/dev/pci/drm/savage_drv.h b/sys/dev/pci/drm/savage_drv.h index 8176ebb8c32..c0082e4cb55 100644 --- a/sys/dev/pci/drm/savage_drv.h +++ b/sys/dev/pci/drm/savage_drv.h @@ -55,10 +55,10 @@ typedef struct drm_savage_age { } drm_savage_age_t; typedef struct drm_savage_buf_priv { - struct drm_savage_buf_priv *next; - struct drm_savage_buf_priv *prev; - drm_savage_age_t age; - struct drm_buf *buf; + struct drm_buf buf; + struct drm_savage_buf_priv *next; + struct drm_savage_buf_priv *prev; + drm_savage_age_t age; } drm_savage_buf_priv_t; typedef struct drm_savage_dma_page { diff --git a/sys/dev/pci/drm/savage_state.c b/sys/dev/pci/drm/savage_state.c index 0cb733090eb..024cc46370e 100644 --- a/sys/dev/pci/drm/savage_state.c +++ b/sys/dev/pci/drm/savage_state.c @@ -1146,7 +1146,8 @@ int savage_bci_cmdbuf(struct drm_device *dev, void *data, struct drm_file *file_ DMA_FLUSH(); if (dmabuf && cmdbuf->discard) { - drm_savage_buf_priv_t *buf_priv = dmabuf->dev_private; + drm_savage_buf_priv_t *buf_priv = + (drm_savage_buf_priv_t *)dmabuf; uint16_t event; event = savage_bci_emit_event(dev_priv, SAVAGE_WAIT_3D); SET_AGE(&buf_priv->age, event, dev_priv->event_wrap); diff --git a/sys/dev/pci/drm/sis_drv.c b/sys/dev/pci/drm/sis_drv.c index cdda6c78718..1500824e764 100644 --- a/sys/dev/pci/drm/sis_drv.c +++ b/sys/dev/pci/drm/sis_drv.c @@ -47,7 +47,6 @@ static drm_pci_id_list_t sis_pciidlist[] = { }; static const struct drm_driver_info sis_driver = { - .buf_priv_size = 1, /* No dev_priv */ .ioctl = sisdrm_ioctl, .context_ctor = sis_init_context, .context_dtor = sis_final_context, diff --git a/sys/dev/pci/drm/tdfx_drv.c b/sys/dev/pci/drm/tdfx_drv.c index 647a70f3b38..861d3bb871b 100644 --- a/sys/dev/pci/drm/tdfx_drv.c +++ b/sys/dev/pci/drm/tdfx_drv.c @@ -54,8 +54,6 @@ static drm_pci_id_list_t tdfxdrm_pciidlist[] = { }; static const struct drm_driver_info tdfxdrm_driver = { - .buf_priv_size = 1, /* No dev_priv */ - .name = DRIVER_NAME, .desc = DRIVER_DESC, .date = DRIVER_DATE, |