Lines Matching refs:mmu_p

44 	px_mmu_t			*mmu_p;
55 mmu_p = kmem_zalloc(sizeof (px_mmu_t), KM_SLEEP);
56 if (mmu_p == NULL)
59 px_p->px_mmu_p = mmu_p;
60 mmu_p->mmu_px_p = px_p;
61 mmu_p->mmu_inst = ddi_get_instance(dip);
73 kmem_free(mmu_p, sizeof (px_mmu_t));
79 mmu_p->mmu_dvma_base = dvma_prop->dvma_base;
80 mmu_p->mmu_dvma_end = dvma_prop->dvma_base +
89 mmu_p->mmu_dvma_cache_locks =
92 mmu_p->dvma_base_pg = MMU_BTOP(mmu_p->mmu_dvma_base);
93 mmu_p->mmu_dvma_reserve = tsb_entries >> 1;
94 mmu_p->dvma_end_pg = MMU_BTOP(mmu_p->mmu_dvma_end);
105 mmu_p->mmu_dvma_fast_end = mmu_p->mmu_dvma_base +
108 mmu_p->mmu_dvma_map = vmem_create(map_name,
109 (void *)(mmu_p->mmu_dvma_fast_end + 1),
113 mutex_init(&mmu_p->dvma_debug_lock, NULL, MUTEX_DRIVER, NULL);
124 va = (caddr_t)(MMU_PTOB(mmu_p->dvma_base_pg + tsb_i));
126 if (va <= (caddr_t)mmu_p->mmu_dvma_fast_end) {
138 mmu_p->mmu_dvma_cache_locks[cache_i] = 0xFF;
140 (void) vmem_xalloc(mmu_p->mmu_dvma_map, MMU_PAGE_SIZE,
152 px_mmu_t *mmu_p = px_p->px_mmu_p;
159 vmem_destroy(mmu_p->mmu_dvma_map);
161 kmem_free(mmu_p->mmu_dvma_cache_locks,
164 if (PX_DVMA_DBG_ON(mmu_p))
165 px_dvma_debug_fini(mmu_p);
167 mutex_destroy(&mmu_p->dvma_debug_lock);
172 kmem_free(mmu_p, sizeof (px_mmu_t));
177 px_mmu_map_pages(px_mmu_t *mmu_p, ddi_dma_impl_t *mp, px_dvma_addr_t dvma_pg,
180 dev_info_t *dip = mmu_p->mmu_px_p->px_dip;
181 px_dvma_addr_t pg_index = MMU_PAGE_INDEX(mmu_p, dvma_pg);
186 "npages=0x%x pfn_index=0x%x\n", (uint_t)mmu_p->dvma_base_pg,
220 if (PX_DVMA_DBG_ON(mmu_p))
221 px_dvma_alloc_debug(mmu_p, (char *)mp->dmai_mapping,
228 px_mmu_unmap_pages(px_mmu_t *mmu_p, ddi_dma_impl_t *mp, px_dvma_addr_t dvma_pg,
231 px_dvma_addr_t pg_index = MMU_PAGE_INDEX(mmu_p, dvma_pg);
233 DBG(DBG_UNMAP_WIN, mmu_p->mmu_px_p->px_dip,
235 (uint_t)mmu_p->dvma_base_pg, (uint_t)pg_index, dvma_pg,
238 if (px_lib_iommu_demap(mmu_p->mmu_px_p->px_dip,
240 DBG(DBG_UNMAP_WIN, mmu_p->mmu_px_p->px_dip,
247 DBG(DBG_UNMAP_WIN, mmu_p->mmu_px_p->px_dip, "px_mmu_unmap_pages: "
252 if (px_lib_iommu_demap(mmu_p->mmu_px_p->px_dip,
254 DBG(DBG_UNMAP_WIN, mmu_p->mmu_px_p->px_dip,
266 px_mmu_map_window(px_mmu_t *mmu_p, ddi_dma_impl_t *mp, px_window_t win_no)
287 ret = px_mmu_map_pages(mmu_p, mp, dvma_pg, MMU_BTOPR(win_size),
303 px_mmu_unmap_window(px_mmu_t *mmu_p, ddi_dma_impl_t *mp)
308 px_mmu_unmap_pages(mmu_p, mp, dvma_pg, npages);
310 if (PX_DVMA_DBG_ON(mmu_p))
311 px_dvma_free_debug(mmu_p, (char *)mp->dmai_mapping,