Lines Matching refs:gatt

74 	struct agp_amd_gatt    *gatt;  member
82 struct agp_amd_gatt *gatt; in agp_amd_alloc_gatt() local
90 gatt = malloc(sizeof(struct agp_amd_gatt), M_AGP, M_NOWAIT); in agp_amd_alloc_gatt()
91 if (!gatt) in agp_amd_alloc_gatt()
100 gatt->ag_entries = entries; in agp_amd_alloc_gatt()
101 gatt->ag_virtual = kmem_alloc_attr(entries * sizeof(uint32_t), in agp_amd_alloc_gatt()
103 if (!gatt->ag_virtual) { in agp_amd_alloc_gatt()
106 free(gatt, M_AGP); in agp_amd_alloc_gatt()
113 gatt->ag_vdir = kmem_alloc_attr(AGP_PAGE_SIZE, M_NOWAIT | in agp_amd_alloc_gatt()
115 if (!gatt->ag_vdir) { in agp_amd_alloc_gatt()
119 kmem_free(gatt->ag_virtual, entries * sizeof(uint32_t)); in agp_amd_alloc_gatt()
120 free(gatt, M_AGP); in agp_amd_alloc_gatt()
124 gatt->ag_pdir = vtophys((vm_offset_t) gatt->ag_vdir); in agp_amd_alloc_gatt()
127 (u_long)gatt->ag_pdir); in agp_amd_alloc_gatt()
131 gatt->ag_entries = entries; in agp_amd_alloc_gatt()
134 gatt->ag_entries); in agp_amd_alloc_gatt()
136 gatt->ag_physical = vtophys((vm_offset_t) gatt->ag_virtual); in agp_amd_alloc_gatt()
156 va = ((vm_offset_t) gatt->ag_virtual) + i * AGP_PAGE_SIZE; in agp_amd_alloc_gatt()
158 gatt->ag_vdir[i + pdir_offset] = pa | 1; in agp_amd_alloc_gatt()
161 return gatt; in agp_amd_alloc_gatt()
165 agp_amd_free_gatt(struct agp_amd_gatt *gatt) in agp_amd_free_gatt() argument
167 kmem_free(gatt->ag_vdir, AGP_PAGE_SIZE); in agp_amd_free_gatt()
168 kmem_free(gatt->ag_virtual, gatt->ag_entries * sizeof(uint32_t)); in agp_amd_free_gatt()
169 free(gatt, M_AGP); in agp_amd_free_gatt()
214 struct agp_amd_gatt *gatt; in agp_amd_attach() local
235 gatt = agp_amd_alloc_gatt(dev); in agp_amd_attach()
236 if (gatt) in agp_amd_attach()
246 sc->gatt = gatt; in agp_amd_attach()
249 WRITE4(AGP_AMD751_ATTBASE, gatt->ag_pdir); in agp_amd_attach()
289 agp_amd_free_gatt(sc->gatt); in agp_amd_detach()
342 if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) in agp_amd_bind_page()
345 sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical | 1; in agp_amd_bind_page()
354 if (offset >= (sc->gatt->ag_entries << AGP_PAGE_SHIFT)) in agp_amd_unbind_page()
357 sc->gatt->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0; in agp_amd_unbind_page()