Lines Matching refs:dma
63 dev->dma = kzalloc(sizeof(*dev->dma), GFP_KERNEL);
64 if (!dev->dma)
68 memset(&dev->dma->bufs[i], 0, sizeof(dev->dma->bufs[0]));
79 * finally the drm_device::dma structure itself.
83 struct drm_device_dma *dma = dev->dma;
91 if (!dma)
94 /* Clear dma buffers */
96 if (dma->bufs[i].seg_count) {
100 dma->bufs[i].buf_count,
101 dma->bufs[i].seg_count);
102 for (j = 0; j < dma->bufs[i].seg_count; j++) {
103 if (dma->bufs[i].seglist[j]) {
104 dmah = dma->bufs[i].seglist[j];
112 kfree(dma->bufs[i].seglist);
114 if (dma->bufs[i].buf_count) {
115 for (j = 0; j < dma->bufs[i].buf_count; j++) {
116 kfree(dma->bufs[i].buflist[j].dev_private);
118 kfree(dma->bufs[i].buflist);
122 kfree(dma->buflist);
123 kfree(dma->pagelist);
124 kfree(dev->dma);
125 dev->dma = NULL;
158 struct drm_device_dma *dma = dev->dma;
161 if (!dma)
163 for (i = 0; i < dma->buf_count; i++) {
164 if (dma->buflist[i]->file_priv == file_priv) {
165 switch (dma->buflist[i]->list) {
167 drm_legacy_free_buffer(dev, dma->buflist[i]);
170 dma->buflist[i]->list = DRM_LIST_RECLAIM;