Lines Matching defs:dma
53 dev->dma = malloc(sizeof(*dev->dma), DRM_MEM_DRIVER, M_NOWAIT | M_ZERO);
54 if (!dev->dma)
58 memset(&dev->dma->bufs[i], 0, sizeof(dev->dma->bufs[0]));
69 * finally the drm_device::dma structure itself.
73 struct drm_device_dma *dma = dev->dma;
76 if (!dma)
79 /* Clear dma buffers */
81 if (dma->bufs[i].seg_count) {
85 dma->bufs[i].buf_count,
86 dma->bufs[i].seg_count);
87 for (j = 0; j < dma->bufs[i].seg_count; j++) {
88 if (dma->bufs[i].seglist[j]) {
89 drm_pci_free(dev, dma->bufs[i].seglist[j]);
92 free(dma->bufs[i].seglist, DRM_MEM_SEGS);
94 if (dma->bufs[i].buf_count) {
95 for (j = 0; j < dma->bufs[i].buf_count; j++) {
96 free(dma->bufs[i].buflist[j].dev_private,
99 free(dma->bufs[i].buflist, DRM_MEM_BUFS);
103 free(dma->buflist, DRM_MEM_BUFS);
104 free(dma->pagelist, DRM_MEM_PAGES);
105 free(dev->dma, DRM_MEM_DRIVER);
106 dev->dma = NULL;
138 struct drm_device_dma *dma = dev->dma;
141 if (!dma)
143 for (i = 0; i < dma->buf_count; i++) {
144 if (dma->buflist[i]->file_priv == file_priv) {
145 switch (dma->buflist[i]->list) {
147 drm_free_buffer(dev, dma->buflist[i]);
150 dma->buflist[i]->list = DRM_LIST_RECLAIM;