Lines Matching defs:lut

107 	struct lut_entry *lut;  /* virt,phys addresses, objtotal entries */
186 netmap_mem_get_lut(struct netmap_mem_d *nmd, struct netmap_lut *lut)
191 rv = nmd->ops->nmd_get_lut(nmd, lut);
499 netmap_mem2_get_lut(struct netmap_mem_d *nmd, struct netmap_lut *lut)
501 lut->lut = nmd->pools[NETMAP_BUF_POOL].lut;
503 lut->plut = lut->lut;
505 lut->objtotal = nmd->pools[NETMAP_BUF_POOL].objtotal;
506 lut->objsize = nmd->pools[NETMAP_BUF_POOL]._objsize;
752 struct lut_entry *lut;
754 lut = vmalloc(n);
756 lut = nm_os_malloc(n);
758 return lut;
762 nm_free_lut(struct lut_entry *lut, u_int objtotal)
764 bzero(lut, sizeof(struct lut_entry) * objtotal);
766 vfree(lut);
768 nm_os_free(lut);
777 struct plut_entry *lut;
778 lut = vmalloc(n);
779 return lut;
783 nm_free_plut(struct plut_entry * lut)
785 vfree(lut);
809 pa = vtophys(p[i].lut[offset / p[i]._objsize].vaddr) +
812 pa = vtophys(p[i].lut[offset / p[i]._objsize].vaddr);
886 tempMdl = IoAllocateMdl(p->lut[0].vaddr, clsz, FALSE, FALSE, NULL);
894 /* create one entry per cluster, the lut[] has one entry per object */
897 MmInitializeMdl(tempMdl, p->lut[j*clobjs].vaddr, clsz);
973 const char *base = p->lut[i].vaddr;
1040 vaddr = p->lut[i * 32 + j].vaddr;
1087 void *base = p->lut[i * p->_clustentries].vaddr;
1156 struct lut_entry *lut = na->na_lut.lut;
1164 buf = lut[head].vaddr;
1268 if (p->lut) {
1275 * in the lut.
1278 contigfree(p->lut[i].vaddr, p->_clustsize, M_NETMAP);
1280 nm_free_lut(p->lut, p->objtotal);
1282 p->lut = NULL;
1398 if (p->lut) {
1399 /* if the lut is already there we assume that also all the
1414 p->lut = nm_alloc_lut(p->objtotal);
1415 if (p->lut == NULL) {
1449 if (i % p->_clustentries == 0 && p->lut[i].vaddr)
1450 contigfree(p->lut[i].vaddr,
1452 p->lut[i].vaddr = NULL;
1461 * Set lut state for all buffers in the current cluster.
1471 p->lut[i].vaddr = clust;
1473 p->lut[i].paddr = vtophys(clust);
1523 struct netmap_lut *lut;
1528 lut = &na->na_lut;
1534 (void)lut;
1538 (void)lut;
1542 if (lut->plut == NULL)
1545 if (lut->plut[i].paddr)
1546 netmap_unload_map(na, (bus_dma_tag_t) na->pdev, &lut->plut[i].paddr, p->_clustsize);
1548 nm_free_plut(lut->plut);
1549 lut->plut = NULL;
1560 struct netmap_lut *lut = &na->na_lut;
1570 (void)lut;
1574 (void)lut;
1578 if (lut->plut != NULL) {
1583 nm_prdis("allocating physical lut for %s", na->name);
1584 lut->plut = nm_alloc_plut(lim);
1585 if (lut->plut == NULL) {
1586 nm_prerr("Failed to allocate physical lut for %s", na->name);
1591 lut->plut[i].paddr = 0;
1597 if (p->lut[i].vaddr == NULL)
1600 error = netmap_load_map(na, (bus_dma_tag_t) na->pdev, &lut->plut[i].paddr,
1601 p->lut[i].vaddr, p->_clustsize);
1608 lut->plut[i + j].paddr = lut->plut[i + j - 1].paddr + p->_objsize;
2178 if (p->lut) {
2179 nm_free_lut(p->lut, p->objtotal);
2180 p->lut = NULL;
2281 p->lut = nm_alloc_lut(o->num);
2282 if (p->lut == NULL) {
2304 p->lut[j].vaddr = clust + off;
2306 p->lut[j].paddr = vtophys(p->lut[j].vaddr);
2308 nm_prdis("%s %d at %p", p->name, j, p->lut[j].vaddr);
2459 netmap_mem_pt_guest_get_lut(struct netmap_mem_d *nmd, struct netmap_lut *lut)
2467 *lut = ptnmd->buf_lut;
2540 /* Initialize the lut using the information contained in the
2547 /* allocate the lut */
2548 if (ptnmd->buf_lut.lut == NULL) {
2549 nm_prinf("allocating lut");
2550 ptnmd->buf_lut.lut = nm_alloc_lut(nbuffers);
2551 if (ptnmd->buf_lut.lut == NULL) {
2552 nm_prerr("lut allocation failed");
2564 ptnmd->buf_lut.lut[i].vaddr = vaddr;