| /freebsd-11-stable/sys/kern/ |
| HD | subr_bus_dma.c | 115 struct mbuf *m0, bus_dma_segment_t *segs, int *nsegs, int flags) in _bus_dmamap_load_mbuf_sg() argument 125 segs, nsegs); in _bus_dmamap_load_mbuf_sg() 142 bus_dma_segment_t *segs = (bus_dma_segment_t *)bio->bio_data; in _bus_dmamap_load_bio() local 143 return (_bus_dmamap_load_vlist(dmat, map, segs, bio->bio_ma_n, in _bus_dmamap_load_bio() 159 bus_dma_segment_t *segs, int *segp) in bus_dmamap_load_ma_triv() argument 170 flags, segs, segp); in bus_dmamap_load_ma_triv() 316 bus_dma_segment_t *segs; in bus_dmamap_load() local 337 segs = _bus_dmamap_complete(dmat, map, NULL, nsegs, error); in bus_dmamap_load() 339 (*callback)(callback_arg, segs, 0, error); in bus_dmamap_load() 341 (*callback)(callback_arg, segs, nsegs, 0); in bus_dmamap_load() [all …]
|
| /freebsd-11-stable/libexec/rtld-elf/ |
| HD | map_object.c | 70 Elf_Phdr **segs; in map_object() local 121 segs = alloca(sizeof(segs[0]) * hdr->e_phnum); in map_object() 131 segs[++nsegs] = phdr; in map_object() 132 if ((segs[nsegs]->p_align & (PAGE_SIZE - 1)) != 0) { in map_object() 197 base_vaddr = trunc_page(segs[0]->p_vaddr); in map_object() 198 base_vlimit = round_page(segs[nsegs]->p_vaddr + segs[nsegs]->p_memsz); in map_object() 204 if (npagesizes > 1 && round_page(segs[0]->p_filesz) >= pagesizes[1]) in map_object() 223 data_offset = trunc_page(segs[i]->p_offset); in map_object() 224 data_vaddr = trunc_page(segs[i]->p_vaddr); in map_object() 225 data_vlimit = round_page(segs[i]->p_vaddr + segs[i]->p_filesz); in map_object() [all …]
|
| /freebsd-11-stable/sys/powerpc/pseries/ |
| HD | plpar_iommu.c | 160 phyp_iommu_map(device_t dev, bus_dma_segment_t *segs, int *nsegs, in phyp_iommu_map() argument 179 allocsize = round_page(segs[i].ds_len + in phyp_iommu_map() 180 (segs[i].ds_addr & PAGE_MASK)); in phyp_iommu_map() 189 KASSERT((alloced + (segs[i].ds_addr & PAGE_MASK)) % in phyp_iommu_map() 193 tce = trunc_page(segs[i].ds_addr); in phyp_iommu_map() 204 segs[i].ds_addr = alloced + (segs[i].ds_addr & PAGE_MASK); in phyp_iommu_map() 205 KASSERT(segs[i].ds_addr > 0, ("Address needs to be positive")); in phyp_iommu_map() 206 KASSERT(segs[i].ds_addr + segs[i].ds_len < maxaddr, in phyp_iommu_map() 218 phyp_iommu_unmap(device_t dev, bus_dma_segment_t *segs, int nsegs, void *cookie) in phyp_iommu_unmap() argument 227 pageround = trunc_page(segs[i].ds_addr); in phyp_iommu_unmap() [all …]
|
| HD | phyp_llan.c | 123 static void llan_rx_load_cb(void *xsc, bus_dma_segment_t *segs, int nsegs, 267 llan_rx_load_cb(void *xsc, bus_dma_segment_t *segs, int nsegs, int err) in llan_rx_load_cb() argument 271 sc->rx_buf_phys = segs[0].ds_addr; in llan_rx_load_cb() 272 sc->rx_buf_len = segs[0].ds_len - 2*PAGE_SIZE; in llan_rx_load_cb() 273 sc->input_buf_phys = segs[0].ds_addr + segs[0].ds_len - PAGE_SIZE; in llan_rx_load_cb() 274 sc->filter_buf_phys = segs[0].ds_addr + segs[0].ds_len - 2*PAGE_SIZE; in llan_rx_load_cb() 319 bus_dma_segment_t segs[1]; in llan_add_rxbuf() local 339 segs, &nsegs, BUS_DMA_NOWAIT); in llan_add_rxbuf() 355 rx->rx_bufdesc |= (((uint64_t)segs[0].ds_len) << 32); in llan_add_rxbuf() 356 rx->rx_bufdesc |= segs[0].ds_addr; in llan_add_rxbuf() [all …]
|
| /freebsd-11-stable/sys/sparc64/sparc64/ |
| HD | bus_machdep.c | 328 bus_size_t sgsize, bus_dma_segment_t *segs, int *segp) in nexus_dmamap_addseg() argument 350 segs[seg].ds_addr = curaddr; in nexus_dmamap_addseg() 351 segs[seg].ds_len = sgsize; in nexus_dmamap_addseg() 353 if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && in nexus_dmamap_addseg() 354 (segs[seg].ds_len + sgsize) <= dmat->dt_maxsegsz && in nexus_dmamap_addseg() 356 (segs[seg].ds_addr & bmask) == (curaddr & bmask))) in nexus_dmamap_addseg() 357 segs[seg].ds_len += sgsize; in nexus_dmamap_addseg() 361 segs[seg].ds_addr = curaddr; in nexus_dmamap_addseg() 362 segs[seg].ds_len = sgsize; in nexus_dmamap_addseg() 375 bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) in nexus_dmamap_load_phys() argument [all …]
|
| HD | iommu.c | 854 bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) in iommu_dvmamap_load_phys() argument 889 if (segs == NULL) in iommu_dvmamap_load_phys() 890 segs = dt->dt_segments; in iommu_dvmamap_load_phys() 934 dt->dt_maxsegsz - segs[sgcnt].ds_len); in iommu_dvmamap_load_phys() 935 segs[sgcnt].ds_len += esize; in iommu_dvmamap_load_phys() 952 segs[sgcnt].ds_addr = dvmaddr; in iommu_dvmamap_load_phys() 953 segs[sgcnt].ds_len = esize; in iommu_dvmamap_load_phys() 969 bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, in iommu_dvmamap_load_buffer() argument 1005 if (segs == NULL) in iommu_dvmamap_load_buffer() 1006 segs = dt->dt_segments; in iommu_dvmamap_load_buffer() [all …]
|
| /freebsd-11-stable/sys/dev/cxgb/sys/ |
| HD | uipc_mvec.c | 54 struct mbuf **m, bus_dma_segment_t *segs, int *nsegs) in busdma_map_sg_collapse() argument 64 psegs = segs; in busdma_map_sg_collapse() 67 busdma_map_mbuf_fast(tag, map, n, segs); in busdma_map_sg_collapse() 84 err = bus_dmamap_load_mbuf_sg(tag, map, *m, segs, &seg_count, 0); in busdma_map_sg_collapse() 116 struct mbuf *m, bus_dma_segment_t *segs, int *nsegs) in busdma_map_sg_vec() argument 119 for (*nsegs = 0; m != NULL ; segs++, *nsegs += 1, m = m->m_nextpkt) in busdma_map_sg_vec() 120 busdma_map_mbuf_fast(tag, map, m, segs); in busdma_map_sg_vec()
|
| /freebsd-11-stable/sys/powerpc/powerpc/ |
| HD | busdma_machdep.c | 666 bus_size_t sgsize, bus_dma_segment_t *segs, int *segp) in _bus_dmamap_addseg() argument 688 segs[seg].ds_addr = curaddr; in _bus_dmamap_addseg() 689 segs[seg].ds_len = sgsize; in _bus_dmamap_addseg() 691 if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && in _bus_dmamap_addseg() 692 (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && in _bus_dmamap_addseg() 694 (segs[seg].ds_addr & bmask) == (curaddr & bmask))) in _bus_dmamap_addseg() 695 segs[seg].ds_len += sgsize; in _bus_dmamap_addseg() 699 segs[seg].ds_addr = curaddr; in _bus_dmamap_addseg() 700 segs[seg].ds_len = sgsize; in _bus_dmamap_addseg() 716 bus_dma_segment_t *segs, in _bus_dmamap_load_phys() argument [all …]
|
| /freebsd-11-stable/sys/mips/cavium/octe/ |
| HD | ethernet-tx.c | 145 pko_command.s.segs = 1; in cvm_oct_xmit() 151 unsigned segs; in cvm_oct_xmit() local 165 segs = 0; in cvm_oct_xmit() 168 if (segs == CVMX_FPA_WQE_POOL_SIZE / sizeof (uint64_t)) in cvm_oct_xmit() 179 segs++; in cvm_oct_xmit() 186 hw_buffer.s.size = segs; in cvm_oct_xmit() 190 pko_command.s.segs = segs; in cvm_oct_xmit()
|
| /freebsd-11-stable/sys/dev/sfxge/ |
| HD | sfxge_dma.c | 51 sfxge_dma_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error) in sfxge_dma_cb() argument 62 *addr = segs[0].ds_addr; in sfxge_dma_cb() 67 struct mbuf **mp, bus_dma_segment_t *segs, in sfxge_dma_map_sg_collapse() argument 82 psegs = segs; in sfxge_dma_map_sg_collapse() 85 sfxge_map_mbuf_fast(tag, map, m, segs); in sfxge_dma_map_sg_collapse() 102 err = bus_dmamap_load_mbuf_sg(tag, map, *mp, segs, &seg_count, 0); in sfxge_dma_map_sg_collapse()
|
| /freebsd-11-stable/sys/x86/x86/ |
| HD | busdma_bounce.c | 616 bus_size_t sgsize, bus_dma_segment_t *segs, int *segp) in _bus_dmamap_addseg() argument 638 segs[seg].ds_addr = curaddr; in _bus_dmamap_addseg() 639 segs[seg].ds_len = sgsize; in _bus_dmamap_addseg() 641 if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && in _bus_dmamap_addseg() 642 (segs[seg].ds_len + sgsize) <= dmat->common.maxsegsz && in _bus_dmamap_addseg() 644 (segs[seg].ds_addr & bmask) == (curaddr & bmask))) in _bus_dmamap_addseg() 645 segs[seg].ds_len += sgsize; in _bus_dmamap_addseg() 649 segs[seg].ds_addr = curaddr; in _bus_dmamap_addseg() 650 segs[seg].ds_len = sgsize; in _bus_dmamap_addseg() 663 vm_paddr_t buf, bus_size_t buflen, int flags, bus_dma_segment_t *segs, in bounce_bus_dmamap_load_phys() argument [all …]
|
| HD | busdma_machdep.c | 283 bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) in _bus_dmamap_load_phys() argument 288 return (tc->impl->load_phys(dmat, map, buf, buflen, flags, segs, in _bus_dmamap_load_phys() 294 bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, in _bus_dmamap_load_ma() argument 301 segs, segp)); in _bus_dmamap_load_ma() 310 bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, in _bus_dmamap_load_buffer() argument 316 return (tc->impl->load_buffer(dmat, map, buf, buflen, pmap, flags, segs, in _bus_dmamap_load_buffer() 332 bus_dma_segment_t *segs, int nsegs, int error) in _bus_dmamap_complete() argument 337 return (tc->impl->map_complete(dmat, map, segs, nsegs, error)); in _bus_dmamap_complete()
|
| /freebsd-11-stable/sys/riscv/riscv/ |
| HD | busdma_machdep.c | 47 bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) in _bus_dmamap_load_phys() argument 55 bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, in _bus_dmamap_load_ma() argument 64 bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, in _bus_dmamap_load_buffer() argument 81 bus_dma_segment_t *segs, int nsegs, int error) in _bus_dmamap_complete() argument
|
| /freebsd-11-stable/sys/sys/ |
| HD | bus_dma.h | 209 struct mbuf *mbuf, bus_dma_segment_t *segs, 249 bus_dma_segment_t *segs, int *segp); 335 int flags, bus_dma_segment_t *segs, int *segp); 339 int flags, bus_dma_segment_t *segs, int *segp); 343 bus_dma_segment_t *segs, int *segp); 347 bus_dma_segment_t *segs,
|
| /freebsd-11-stable/sys/dev/oce/ |
| HD | oce_util.c | 44 bus_dma_segment_t *segs, 136 oce_dma_map_addr(void *arg, bus_dma_segment_t * segs, int nseg, int error) in oce_dma_map_addr() argument 143 *paddr = segs->ds_addr; in oce_dma_map_addr() 228 oce_dma_map_ring(void *arg, bus_dma_segment_t * segs, int nseg, int error) in oce_dma_map_ring() argument 237 dpt->paddrs[i].lo = ADDR_LO(segs[i].ds_addr); in oce_dma_map_ring() 238 dpt->paddrs[i].hi = ADDR_HI(segs[i].ds_addr); in oce_dma_map_ring()
|
| /freebsd-11-stable/sys/x86/iommu/ |
| HD | busdma_dmar.c | 478 int flags, bus_dma_segment_t *segs, int *segp, in dmar_bus_dmamap_load_something1() argument 489 if (segs == NULL) in dmar_bus_dmamap_load_something1() 490 segs = tag->segments; in dmar_bus_dmamap_load_something1() 567 segs[seg].ds_addr = entry->start + offset; in dmar_bus_dmamap_load_something1() 568 segs[seg].ds_len = buflen1; in dmar_bus_dmamap_load_something1() 583 int flags, bus_dma_segment_t *segs, int *segp) in dmar_bus_dmamap_load_something() argument 597 buflen, flags, segs, segp, &unroll_list); in dmar_bus_dmamap_load_something() 634 bus_dma_segment_t *segs, int *segp) in dmar_bus_dmamap_load_ma() argument 642 flags, segs, segp)); in dmar_bus_dmamap_load_ma() 647 vm_paddr_t buf, bus_size_t buflen, int flags, bus_dma_segment_t *segs, in dmar_bus_dmamap_load_phys() argument [all …]
|
| /freebsd-11-stable/sys/arm64/arm64/ |
| HD | busdma_machdep.c | 283 bus_size_t buflen, int flags, bus_dma_segment_t *segs, int *segp) in _bus_dmamap_load_phys() argument 288 return (tc->impl->load_phys(dmat, map, buf, buflen, flags, segs, in _bus_dmamap_load_phys() 294 bus_size_t tlen, int ma_offs, int flags, bus_dma_segment_t *segs, in _bus_dmamap_load_ma() argument 301 segs, segp)); in _bus_dmamap_load_ma() 306 bus_size_t buflen, pmap_t pmap, int flags, bus_dma_segment_t *segs, in _bus_dmamap_load_buffer() argument 312 return (tc->impl->load_buffer(dmat, map, buf, buflen, pmap, flags, segs, in _bus_dmamap_load_buffer() 328 bus_dma_segment_t *segs, int nsegs, int error) in _bus_dmamap_complete() argument 333 return (tc->impl->map_complete(dmat, map, segs, nsegs, error)); in _bus_dmamap_complete()
|
| HD | busdma_bounce.c | 641 bus_size_t sgsize, bus_dma_segment_t *segs, int *segp) in _bus_dmamap_addseg() argument 663 segs[seg].ds_addr = curaddr; in _bus_dmamap_addseg() 664 segs[seg].ds_len = sgsize; in _bus_dmamap_addseg() 666 if (curaddr == segs[seg].ds_addr + segs[seg].ds_len && in _bus_dmamap_addseg() 667 (segs[seg].ds_len + sgsize) <= dmat->common.maxsegsz && in _bus_dmamap_addseg() 669 (segs[seg].ds_addr & bmask) == (curaddr & bmask))) in _bus_dmamap_addseg() 670 segs[seg].ds_len += sgsize; in _bus_dmamap_addseg() 674 segs[seg].ds_addr = curaddr; in _bus_dmamap_addseg() 675 segs[seg].ds_len = sgsize; in _bus_dmamap_addseg() 688 vm_paddr_t buf, bus_size_t buflen, int flags, bus_dma_segment_t *segs, in bounce_bus_dmamap_load_phys() argument [all …]
|
| /freebsd-11-stable/sys/dev/usb/ |
| HD | usb_busdma.c | 424 usb_pc_alloc_mem_cb(void *arg, bus_dma_segment_t *segs, in usb_pc_alloc_mem_cb() argument 427 usb_pc_common_mem_cb(arg, segs, nseg, error, 0); in usb_pc_alloc_mem_cb() 434 usb_pc_load_mem_cb(void *arg, bus_dma_segment_t *segs, in usb_pc_load_mem_cb() argument 437 usb_pc_common_mem_cb(arg, segs, nseg, error, 1); in usb_pc_load_mem_cb() 444 usb_pc_common_mem_cb(void *arg, bus_dma_segment_t *segs, in usb_pc_common_mem_cb() argument 470 pg->physaddr = rounddown2(segs->ds_addr, USB_PAGE_SIZE); in usb_pc_common_mem_cb() 471 rem = segs->ds_addr & (USB_PAGE_SIZE - 1); in usb_pc_common_mem_cb() 479 if (((segs[x].ds_addr + segs[x].ds_len) & (USB_PAGE_SIZE - 1)) == in usb_pc_common_mem_cb() 480 ((segs[x + 1].ds_addr & (USB_PAGE_SIZE - 1)))) in usb_pc_common_mem_cb() 495 if (off >= (segs->ds_len + rem)) { in usb_pc_common_mem_cb() [all …]
|
| /freebsd-11-stable/sys/dev/ips/ |
| HD | ips_disk.c | 42 static void ipsd_dump_map_sg(void *arg, bus_dma_segment_t *segs, int nsegs, 241 ipsd_dump_map_sg(void *arg, bus_dma_segment_t *segs, int nsegs, int error) in ipsd_dump_map_sg() argument 266 sg_list[i].addr = segs[i].ds_addr; in ipsd_dump_map_sg() 267 sg_list[i].len = segs[i].ds_len; in ipsd_dump_map_sg() 268 length += segs[i].ds_len; in ipsd_dump_map_sg() 274 command_struct->buffaddr = segs[0].ds_addr; in ipsd_dump_map_sg() 275 length = segs[0].ds_len; in ipsd_dump_map_sg()
|
| /freebsd-11-stable/sys/dev/twe/ |
| HD | twe_freebsd.c | 57 static void twe_setup_data_dmamap(void *arg, bus_dma_segment_t *segs, int nsegments, int error); 58 static void twe_setup_request_dmamap(void *arg, bus_dma_segment_t *segs, int nsegments, int error); 925 twe_fillin_sgl(TWE_SG_Entry *sgl, bus_dma_segment_t *segs, int nsegments, int max_sgl) in twe_fillin_sgl() argument 930 sgl[i].address = segs[i].ds_addr; in twe_fillin_sgl() 931 sgl[i].length = segs[i].ds_len; in twe_fillin_sgl() 940 twe_setup_data_dmamap(void *arg, bus_dma_segment_t *segs, int nsegments, int error) in twe_setup_data_dmamap() argument 956 tr->tr_dataphys = segs[0].ds_addr; in twe_setup_data_dmamap() 970 twe_fillin_sgl(&cmd->param.sgl[0], segs, nsegments, TWE_MAX_SGL_LENGTH); in twe_setup_data_dmamap() 975 twe_fillin_sgl(&cmd->io.sgl[0], segs, nsegments, TWE_MAX_SGL_LENGTH); in twe_setup_data_dmamap() 979 twe_fillin_sgl(&cmd->ata.sgl[0], segs, nsegments, TWE_MAX_ATA_SGL_LENGTH); in twe_setup_data_dmamap() [all …]
|
| /freebsd-11-stable/sys/dev/liquidio/ |
| HD | lio_rxtx.c | 59 bus_dma_segment_t segs[LIO_MAX_SG]; in lio_xmit() local 92 status = bus_dmamap_load_mbuf_sg(iq->txtag, map, *m_headp, segs, &nsegs, in lio_xmit() 105 *m_headp, segs, &nsegs, in lio_xmit() 143 cmdsetup.s.u.datasize = segs[0].ds_len; in lio_xmit() 146 dptr = segs[0].ds_addr; in lio_xmit() 173 g->sg[(i >> 2)].ptr[(i & 3)] = segs[i].ds_addr; in lio_xmit() 174 lio_add_sg_size(&g->sg[(i >> 2)], segs[i].ds_len, in lio_xmit()
|
| /freebsd-11-stable/sys/mips/mips/ |
| HD | busdma_machdep.c | 842 bus_size_t sgsize, bus_dma_segment_t *segs, int *segp) in _bus_dmamap_addseg() argument 862 curaddr == segs[seg].ds_addr + segs[seg].ds_len && in _bus_dmamap_addseg() 863 (segs[seg].ds_len + sgsize) <= dmat->maxsegsz && in _bus_dmamap_addseg() 865 (segs[seg].ds_addr & bmask) == (curaddr & bmask))) { in _bus_dmamap_addseg() 866 segs[seg].ds_len += sgsize; in _bus_dmamap_addseg() 870 segs[seg].ds_addr = curaddr; in _bus_dmamap_addseg() 871 segs[seg].ds_len = sgsize; in _bus_dmamap_addseg() 883 vm_paddr_t buf, bus_size_t buflen, int flags, bus_dma_segment_t *segs, in _bus_dmamap_load_phys() argument 890 if (segs == NULL) in _bus_dmamap_load_phys() 891 segs = dmat->segments; in _bus_dmamap_load_phys() [all …]
|
| /freebsd-11-stable/sys/x86/include/ |
| HD | busdma_impl.h | 68 bus_dma_segment_t *segs, int *segp); 71 bus_dma_segment_t *segs, int *segp); 74 bus_dma_segment_t *segs, int *segp); 79 bus_dma_segment_t *segs, int nsegs, int error);
|
| /freebsd-11-stable/sys/arm64/include/ |
| HD | bus_dma_impl.h | 68 bus_dma_segment_t *segs, int *segp); 71 bus_dma_segment_t *segs, int *segp); 74 bus_dma_segment_t *segs, int *segp); 79 bus_dma_segment_t *segs, int nsegs, int error);
|