Searched defs:dmareq (Results 1 - 18 of 18) sorted by relevance

/illumos-gate/usr/src/uts/sun4/io/efcode/
H A Dfc_ddi.c61 struct ddi_dma_req dmareq; local
70 dmareq.dmar_flags = flags;
71 dmareq.dmar_fp = waitfp;
72 dmareq.dmar_arg = arg;
73 dmareq.dmar_object.dmao_size = (uint_t)bp->b_bcount;
76 dmareq.dmar_object.dmao_type = DMA_OTYP_PAGES;
77 dmareq.dmar_object.dmao_obj.pp_obj.pp_pp = bp->b_pages;
78 dmareq.dmar_object.dmao_obj.pp_obj.pp_offset =
81 dmareq.dmar_object.dmao_obj.virt_obj.v_addr = bp->b_un.b_addr;
83 dmareq
[all...]
/illumos-gate/usr/src/uts/sun4/io/px/
H A Dpx_fdvma.c132 ddi_dma_req_t *dmareq, ddi_dma_handle_t *handlep)
139 ddi_dma_lim_t *lim_p = dmareq->dmar_limits;
159 npages = dmareq->dmar_object.dmao_size;
179 dmareq->dmar_fp == DDI_DMA_SLEEP ? VM_SLEEP : VM_NOSLEEP));
200 mp->dmai_burstsizes = dmareq->dmar_limits->dlim_burstsizes;
131 px_fdvma_reserve(dev_info_t *dip, dev_info_t *rdip, px_t *px_p, ddi_dma_req_t *dmareq, ddi_dma_handle_t *handlep) argument
H A Dpx.c839 px_dma_setup(dev_info_t *dip, dev_info_t *rdip, ddi_dma_req_t *dmareq, argument
851 if (!(mp = px_dma_lmts2hdl(dip, rdip, mmu_p, dmareq)))
855 if (ret = px_dma_type(px_p, dmareq, mp))
857 if (ret = px_dma_pfn(px_p, dmareq, mp))
862 if ((ret = px_dvma_win(px_p, dmareq, mp)) || !handlep)
873 if (ret = px_dvma_map(mp, dmareq, mmu_p))
877 if ((ret = px_dma_physwin(px_p, dmareq, mp)) || !handlep)
963 ddi_dma_handle_t handle, ddi_dma_req_t *dmareq,
971 DBG(DBG_DMA_BINDH, dip, "rdip=%s%d mp=%p dmareq=%p\n",
972 ddi_driver_name(rdip), ddi_get_instance(rdip), mp, dmareq);
962 px_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, ddi_dma_req_t *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
[all...]
H A Dpx_dma.c157 * and convert dmareq->dmar_limits to mp->dmai_attr
173 * The dlim_dmaspeed member of dmareq->dmar_limits is ignored.
177 ddi_dma_req_t *dmareq)
184 ddi_dma_lim_t *lim_p = dmareq->dmar_limits;
195 if (!(mp = px_dma_allocmp(dip, rdip, dmareq->dmar_fp,
196 dmareq->dmar_arg)))
378 * mp->dmai_object - dmareq->dmar_object
379 * mp->dmai_rflags - consistent?, nosync?, dmareq->dmar_flags
386 px_dma_type(px_t *px_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
389 ddi_dma_obj_t *dobj_p = &dmareq
176 px_dma_lmts2hdl(dev_info_t *dip, dev_info_t *rdip, px_mmu_t *mmu_p, ddi_dma_req_t *dmareq) argument
550 px_dma_pfn(px_t *px_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
630 px_dvma_win(px_t *px_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
779 px_dvma_map(ddi_dma_impl_t *mp, ddi_dma_req_t *dmareq, px_mmu_t *mmu_p) argument
952 px_dma_newwin(dev_info_t *dip, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp, uint32_t cookie_no, uint32_t start_idx, uint32_t end_idx, px_dma_win_t **win_pp, uint64_t count_max, uint64_t bypass) argument
1047 px_dma_adjust(ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp, px_dma_win_t *win_p) argument
1126 px_dma_physwin(px_t *px_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
[all...]
/illumos-gate/usr/src/uts/sun4/os/
H A Ddvma.c60 struct ddi_dma_req dmareq; local
70 bzero(&dmareq, sizeof (dmareq));
71 dmareq.dmar_fp = DDI_DMA_DONTWAIT;
72 dmareq.dmar_flags = DDI_DMA_RDWR | DDI_DMA_STREAMING;
73 dmareq.dmar_limits = &dma_lim;
74 dmareq.dmar_object.dmao_size = pages;
84 ret = ddi_dma_mctl(dip, dip, reqhdl, DDI_DMA_RESERVE, (off_t *)&dmareq,
/illumos-gate/usr/src/uts/sun4u/io/pci/
H A Dpci_fdvma.c179 ddi_dma_req_t *dmareq, ddi_dma_handle_t *handlep)
186 ddi_dma_lim_t *lim_p = dmareq->dmar_limits;
206 npages = dmareq->dmar_object.dmao_size;
227 dmareq->dmar_fp == DDI_DMA_SLEEP ? VM_SLEEP : VM_NOSLEEP));
250 pci_dma_consist_check(dmareq->dmar_flags, pci_p->pci_pbm_p);
251 if (!(dmareq->dmar_flags & DDI_DMA_RDWR))
255 mp->dmai_minxfer = dmareq->dmar_limits->dlim_minxfer;
256 mp->dmai_burstsizes = dmareq->dmar_limits->dlim_burstsizes;
178 pci_fdvma_reserve(dev_info_t *dip, dev_info_t *rdip, pci_t *pci_p, ddi_dma_req_t *dmareq, ddi_dma_handle_t *handlep) argument
H A Dpci.c569 pci_dma_setup(dev_info_t *dip, dev_info_t *rdip, ddi_dma_req_t *dmareq, argument
581 if (!(mp = pci_dma_lmts2hdl(dip, rdip, iommu_p, dmareq)))
585 if (ret = pci_dma_type(pci_p, dmareq, mp))
587 if (ret = pci_dma_pfn(pci_p, dmareq, mp))
592 if ((ret = pci_dvma_win(pci_p, dmareq, mp)) || !handlep)
603 if (ret = pci_dvma_map(mp, dmareq, iommu_p))
607 if ((ret = pci_dma_physwin(pci_p, dmareq, mp)) || !handlep)
693 ddi_dma_handle_t handle, ddi_dma_req_t *dmareq,
701 DEBUG4(DBG_DMA_BINDH, dip, "rdip=%s%d mp=%p dmareq=%p\n",
702 ddi_driver_name(rdip), ddi_get_instance(rdip), mp, dmareq);
692 pci_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, ddi_dma_req_t *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
[all...]
H A Dpci_dma.c338 * and convert dmareq->dmar_limits to mp->dmai_attr
354 * The dlim_dmaspeed member of dmareq->dmar_limits is ignored.
358 ddi_dma_req_t *dmareq)
365 ddi_dma_lim_t *lim_p = dmareq->dmar_limits;
376 if (!(mp = pci_dma_allocmp(dip, rdip, dmareq->dmar_fp,
377 dmareq->dmar_arg)))
541 * mp->dmai_object - dmareq->dmar_object
542 * mp->dmai_rflags - consistent?, nosync?, dmareq->dmar_flags
550 pci_dma_type(pci_t *pci_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
553 ddi_dma_obj_t *dobj_p = &dmareq
357 pci_dma_lmts2hdl(dev_info_t *dip, dev_info_t *rdip, iommu_t *iommu_p, ddi_dma_req_t *dmareq) argument
699 pci_dma_vapfn(pci_t *pci_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp, uint_t npages) argument
761 pci_dma_pfn(pci_t *pci_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
838 pci_dvma_win(pci_t *pci_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
985 pci_dvma_map(ddi_dma_impl_t *mp, ddi_dma_req_t *dmareq, iommu_t *iommu_p) argument
1173 pci_dma_newwin(ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp, uint32_t cookie_no, uint32_t start_idx, uint32_t end_idx, pci_dma_win_t **win_pp, uint64_t count_max, uint64_t bypass_prefix) argument
1248 pci_dma_adjust(ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp, pci_dma_win_t *win_p) argument
1327 pci_dma_physwin(pci_t *pci_p, ddi_dma_req_t *dmareq, ddi_dma_impl_t *mp) argument
[all...]
/illumos-gate/usr/src/uts/sun4v/io/niumx/
H A Dniumx.c68 ddi_dma_handle_t handle, ddi_dma_req_t *dmareq,
713 * mp->dmai_object - dmareq->dmar_object
714 * mp->dmai_rflags - dmareq->dmar_flags
723 ddi_dma_handle_t handle, ddi_dma_req_t *dmareq,
726 int (*waitfp)(caddr_t) = dmareq->dmar_fp;
728 ddi_dma_obj_t *dobj_p = &dmareq->dmar_object;
733 DBG(NIUMX_DBG_DMA_BINDH, dip, "rdip=%s%d mp=%p dmareq=%p\n",
734 NIUMX_NAMEINST(rdip), mp, dmareq);
737 mp->dmai_rflags = dmareq->dmar_flags & DMP_DDIFLAGS | DMP_NOSYNC;
722 niumx_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, ddi_dma_req_t *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
/illumos-gate/usr/src/uts/intel/io/
H A Diommulib.c674 ddi_dma_handle_t dma_handle, struct ddi_dma_req *dmareq,
684 dmareq, cookiep, ccountp));
733 ddi_dma_handle_t dma_handle, struct ddi_dma_req *dmareq,
740 dma_handle, dmareq, dmao));
780 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
786 return (nexops->nops_dma_bindhdl(dip, rdip, handle, dmareq,
673 iommulib_nexdma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t dma_handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
732 iommulib_nexdma_mapobject(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t dma_handle, struct ddi_dma_req *dmareq, ddi_dma_obj_t *dmao) argument
779 iommulib_iommu_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
/illumos-gate/usr/src/uts/i86pc/io/amd_iommu/
H A Damd_iommu_impl.c51 struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookiep,
64 struct ddi_dma_req *dmareq, ddi_dma_obj_t *dmao);
1495 struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookie_array, uint_t ccount,
1523 if ((error = amd_iommu_map_pa2va(iommu, rdip, attrp, dmareq,
1617 struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookiep,
1634 dmareq, cookiep, ccountp);
1669 error = map_current_window(iommu, rdip, attrp, dmareq,
1895 struct ddi_dma_req *dmareq, ddi_dma_obj_t *dmao)
1494 map_current_window(amd_iommu_t *iommu, dev_info_t *rdip, ddi_dma_attr_t *attrp, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookie_array, uint_t ccount, int km_flags) argument
1615 amd_iommu_bindhdl(iommulib_handle_t handle, dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t dma_handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
1893 amd_iommu_mapobject(iommulib_handle_t handle, dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t dma_handle, struct ddi_dma_req *dmareq, ddi_dma_obj_t *dmao) argument
H A Damd_iommu_page_tables.c1000 struct ddi_dma_req *dmareq)
1019 if (R == 0 && ((dmareq->dmar_flags & DDI_DMA_WRITE) ||
1020 (dmareq->dmar_flags & DDI_DMA_RDWR))) {
1023 if (W == 0 && ((dmareq->dmar_flags & DDI_DMA_READ) ||
1024 (dmareq->dmar_flags & DDI_DMA_RDWR))) {
1042 if (dmareq->dmar_flags & DDI_DMA_RDWR) {
1046 if (dmareq->dmar_flags & DDI_DMA_WRITE) {
1049 if (dmareq->dmar_flags & DDI_DMA_READ) {
1092 struct ddi_dma_req *dmareq,
1146 error = init_pte(pt, pa, AMD_IOMMU_VA_BITS(va, level), dmareq);
999 init_pte(amd_iommu_page_table_t *pt, uint64_t pa, uint16_t index, struct ddi_dma_req *dmareq) argument
1091 amd_iommu_setup_1_pgtable(amd_iommu_t *iommu, dev_info_t *rdip, struct ddi_dma_req *dmareq, domain_id_t domainid, amd_iommu_domain_t *dp, amd_iommu_page_table_t *ppt, uint16_t index, int level, uint64_t va, uint64_t pa, amd_iommu_page_table_t **ptp, uint16_t *next_idxp, const char *path, int km_flags) argument
1209 amd_iommu_create_pgtables(amd_iommu_t *iommu, dev_info_t *rdip, struct ddi_dma_req *dmareq, uint64_t va, uint64_t pa, uint16_t deviceid, domain_id_t domainid, amd_iommu_domain_t *dp, const char *path, int km_flags) argument
1434 amd_iommu_map_pa2va(amd_iommu_t *iommu, dev_info_t *rdip, ddi_dma_attr_t *attrp, struct ddi_dma_req *dmareq, uint64_t start_pa, uint64_t pa_sz, map_type_t type, uint64_t *start_vap, int km_flags) argument
[all...]
/illumos-gate/usr/src/uts/sun4u/io/
H A Diommu.c344 #define OBJSIZE dmareq->dmar_object.dmao_size
821 check_dma_attr(struct ddi_dma_req *dmareq, ddi_dma_attr_t *dma_attr, argument
832 if ((dmareq->dmar_flags & DDI_DMA_PARTIAL) == 0)
839 if (!((addrlow + dmareq->dmar_object.dmao_size == 0) &&
841 if ((dmareq->dmar_flags & DDI_DMA_PARTIAL) == 0)
851 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
876 size = (uint32_t)dmareq->dmar_object.dmao_size;
878 rval = check_dma_attr(dmareq, dma_attr, &size);
884 mp->dmai_rflags = (dmareq->dmar_flags & DMP_DDIFLAGS) |
887 switch (dmareq
850 iommu_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cp, uint_t *ccountp) argument
1329 struct ddi_dma_req *dmareq = (struct ddi_dma_req *)offp; local
[all...]
/illumos-gate/usr/src/uts/common/io/cardbus/
H A Dcardbus.c101 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
1950 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
1968 rdip, handle, dmareq, cp, ccountp));
1949 cardbus_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cp, uint_t *ccountp) argument
/illumos-gate/usr/src/uts/i86pc/io/
H A Dimmu_dvma.c108 struct ddi_dma_req *dmareq, ddi_dma_obj_t *dmao);
378 dma_to_immu_flags(struct ddi_dma_req *dmareq) argument
382 if (dmareq->dmar_fp == DDI_DMA_SLEEP) {
398 if (dmareq->dmar_flags & DDI_DMA_READ)
401 if (dmareq->dmar_flags & DDI_DMA_WRITE)
408 if ((dmareq->dmar_flags & (DDI_DMA_READ | DDI_DMA_WRITE)) == 0) {
2551 immu_hdl_priv_t *ihp, struct ddi_dma_req *dmareq,
2572 immu_flags = dma_to_immu_flags(dmareq);
2576 dmar_object = &dmareq->dmar_object;
2589 /* retrieve paddr, psize, offset from dmareq */
2550 immu_map_dvmaseg(dev_info_t *rdip, ddi_dma_handle_t handle, immu_hdl_priv_t *ihp, struct ddi_dma_req *dmareq, ddi_dma_obj_t *dma_out) argument
3157 immu_mapobject(iommulib_handle_t handle, dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t dma_handle, struct ddi_dma_req *dmareq, ddi_dma_obj_t *dmao) argument
[all...]
H A Drootnex.c204 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
232 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
382 static int rootnex_valid_bind_parms(ddi_dma_req_t *dmareq,
388 static int rootnex_bind_slowpath(ddi_dma_impl_t *hp, struct ddi_dma_req *dmareq,
390 static int rootnex_setup_copybuf(ddi_dma_impl_t *hp, struct ddi_dma_req *dmareq,
1966 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
1989 if (dmareq->dmar_fp == DDI_DMA_SLEEP) {
1995 hp->dmai_rflags = dmareq->dmar_flags & DMP_DDIFLAGS;
2023 e = rootnex_valid_bind_parms(dmareq, attr);
2032 dma->dp_dma = dmareq
1965 rootnex_coredma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
2279 rootnex_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cookiep, uint_t *ccountp) argument
2724 rootnex_valid_bind_parms(ddi_dma_req_t *dmareq, ddi_dma_attr_t *attr) argument
3255 rootnex_bind_slowpath(ddi_dma_impl_t *hp, struct ddi_dma_req *dmareq, rootnex_dma_t *dma, ddi_dma_attr_t *attr, ddi_dma_obj_t *dmao, int kmflag) argument
3469 rootnex_setup_copybuf(ddi_dma_impl_t *hp, struct ddi_dma_req *dmareq, rootnex_dma_t *dma, ddi_dma_attr_t *attr) argument
[all...]
/illumos-gate/usr/src/uts/common/io/
H A Dbofi.c364 * support routine - map dmareq into kernel virtual if not already
3511 auto struct ddi_dma_req dmareq; local
3575 dmareq = *dmareqp;
3576 dmareq.dmar_object.dmao_size = hp->len;
3577 dmareq.dmar_object.dmao_type = DMA_OTYP_VADDR;
3578 dmareq.dmar_object.dmao_obj.virt_obj.v_as = &kas;
3579 dmareq.dmar_object.dmao_obj.virt_obj.v_addr = hp->addr;
3580 dmareq.dmar_object.dmao_obj.virt_obj.v_priv = NULL;
3581 dmareqp = &dmareq;
/illumos-gate/usr/src/uts/common/os/
H A Dsunddi.c794 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
804 return ((*funcp)(dip, rdip, handle, dmareq, cp, ccountp));
5237 ddi_dma_handle_t handle, struct ddi_dma_req *dmareq,
5240 _NOTE(ARGUNUSED(dip, rdip, handle, dmareq, cp, ccountp))
7074 struct ddi_dma_req dmareq; local
7077 dmareq.dmar_flags = flags;
7078 dmareq.dmar_fp = waitfp;
7079 dmareq.dmar_arg = arg;
7080 dmareq.dmar_object.dmao_size = (uint_t)bp->b_bcount;
7083 dmareq
793 ddi_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cp, uint_t *ccountp) argument
5236 ddi_no_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, struct ddi_dma_req *dmareq, ddi_dma_cookie_t *cp, uint_t *ccountp) argument
7130 struct ddi_dma_req dmareq; local
[all...]

Completed in 140 milliseconds