Lines Matching refs:entry
47 void drm_sg_cleanup(struct drm_sg_mem *entry)
49 int pages = entry->pages;
51 if (entry->busaddr) {
52 kmem_free(entry->busaddr, sizeof (*entry->busaddr) * pages);
53 entry->busaddr = NULL;
56 ASSERT(entry->umem_cookie == NULL);
58 if (entry->dmah_sg) {
59 drm_pci_free(entry->dmah_sg);
60 entry->dmah_sg = NULL;
63 if (entry->dmah_gart) {
64 drm_pci_free(entry->dmah_gart);
65 entry->dmah_gart = NULL;
68 kfree(entry, sizeof (struct drm_sg_mem));
79 struct drm_sg_mem *entry;
91 entry = kmalloc(sizeof(*entry), GFP_KERNEL);
92 if (!entry)
95 (void) memset(entry, 0, sizeof(*entry));
99 entry->pages = (int)pages;
103 entry->busaddr = (void *)kmem_zalloc(sizeof (*entry->busaddr) *
106 entry->handle = ScatterHandle((unsigned long)dmah->vaddr);
107 entry->virtual = (void *)dmah->vaddr;
108 request->handle = entry->handle;
109 entry->dmah_sg = dmah;
111 dev->sg = entry;
116 drm_sg_cleanup(entry);
133 struct drm_sg_mem *entry;
138 entry = dev->sg;
141 if (!entry || entry->handle != request->handle)
144 DRM_DEBUG("virtual = %p\n", entry->virtual);
146 drm_sg_cleanup(entry);