Lines Matching refs:mp

43 #define	PX_HAS_REDZONE(mp)	\
44 (((mp)->dmai_flags & PX_DMAI_FLAGS_REDZONE) ? 1 : 0)
45 #define PX_MAP_BUFZONE(mp) \
46 (((mp)->dmai_flags & PX_DMAI_FLAGS_MAP_BUFZONE) ? 1 :0)
96 #define PX_MP_PFN0(mp) ((px_iopfn_t)(mp)->dmai_pfn0)
97 #define PX_WINLST(mp) ((px_dma_win_t *)(mp)->dmai_winlst)
98 #define PX_DEV_ATTR(mp) ((ddi_dma_attr_t *)(mp + 1))
136 #define PX_HAS_NOFASTLIMIT(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_NOFASTLIMIT)
137 #define PX_HAS_NOSYSLIMIT(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_NOSYSLIMIT)
138 #define PX_DMA_ISPEERONLY(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PEER_ONLY)
139 #define PX_DMA_ISPGPFN(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PGPFN)
140 #define PX_DMA_TYPE(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_DMA_TYPE)
141 #define PX_DMA_ISDVMA(mp) (PX_DMA_TYPE(mp) == PX_DMAI_FLAGS_DVMA)
142 #define PX_DMA_ISBYPASS(mp) (PX_DMA_TYPE(mp) == PX_DMAI_FLAGS_BYPASS)
143 #define PX_DMA_ISPTP(mp) (PX_DMA_TYPE(mp) == PX_DMAI_FLAGS_PTP)
144 #define PX_DMA_ISPTP32(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PTP32)
145 #define PX_DMA_ISPTP64(mp) ((mp)->dmai_flags & PX_DMAI_FLAGS_PTP64)
146 #define PX_DMA_CANFAST(mp) (((mp)->dmai_ndvmapages + PX_HAS_REDZONE(mp) \
147 <= px_dvma_page_cache_clustsz) && PX_HAS_NOFASTLIMIT(mp))
148 #define PX_DMA_WINNPGS(mp) MMU_BTOP((mp)->dmai_winsize)
149 #define PX_DMA_CANCACHE(mp) (!PX_HAS_REDZONE(mp) && \
150 (PX_DMA_WINNPGS(mp) == 1) && PX_HAS_NOSYSLIMIT(mp))
162 #define PX_DMA_USECTX(mp) (!(mp->dmai_flags & DMAI_FLAGS_NOCTX))
167 #define PX_DMA_CURWIN(mp) \
168 (((mp)->dmai_offset + (mp)->dmai_roffset) / (mp)->dmai_winsize)
173 #define PX_DVMA_FASTTRAK_PROF(mp) { \
174 if ((mp->dmai_ndvmapages + PX_HAS_REDZONE(mp)) > px_dvma_page_cache_clustsz) \
176 else if (!PX_HAS_NOFASTLIMIT(mp)) \
182 #define PX_DVMA_FASTTRAK_PROF(mp)
199 ddi_dma_impl_t *mp;
210 extern void px_dma_freemp(ddi_dma_impl_t *mp);
211 extern void px_dma_freepfn(ddi_dma_impl_t *mp);
214 extern int px_dma_attr2hdl(px_t *px_p, ddi_dma_impl_t *mp);
215 extern int px_dma_type(px_t *px_p, ddi_dma_req_t *req, ddi_dma_impl_t *mp);
216 extern int px_dma_pfn(px_t *px_p, ddi_dma_req_t *req, ddi_dma_impl_t *mp);
217 extern int px_dvma_win(px_t *px_p, ddi_dma_req_t *r, ddi_dma_impl_t *mp);
218 extern void px_dma_freewin(ddi_dma_impl_t *mp);
219 extern int px_dvma_map_fast(px_mmu_t *mmu_p, ddi_dma_impl_t *mp);
220 extern int px_dvma_map(ddi_dma_impl_t *mp, ddi_dma_req_t *dmareq,
222 extern void px_dvma_unmap(px_mmu_t *mmu_p, ddi_dma_impl_t *mp);
224 ddi_dma_impl_t *mp);
226 ddi_dma_impl_t *mp, enum ddi_dma_ctlops cmd, off_t *offp,
229 ddi_dma_impl_t *mp, enum ddi_dma_ctlops cmd, off_t *offp,
232 #define PX_GET_MP_NCOOKIES(mp) ((mp)->dmai_ncookies)
233 #define PX_SET_MP_NCOOKIES(mp, nc) ((mp)->dmai_ncookies = (nc))
234 #define PX_GET_MP_PFN1_ADDR(mp) (((px_iopfn_t *)(mp)->dmai_pfnlst) + 1)
242 #define PX_SAVE_MP_TTE(mp, tte) \
243 (mp)->dmai_tte = (caddr_t)((uintptr_t)HI32(tte) | ((tte) & \
247 #define PX_GET_MP_PFN1(mp, page_no) \
248 (((px_iopfn_t *)(mp)->dmai_pfnlst)[page_no])
249 #define PX_GET_MP_PFN(mp, page_no) ((mp)->dmai_ndvmapages == 1 ? \
250 (px_iopfn_t)(mp)->dmai_pfnlst : PX_GET_MP_PFN1(mp, page_no))
252 #define PX_SET_MP_PFN(mp, page_no, pfn) { \
253 if ((mp)->dmai_ndvmapages == 1) { \
254 ASSERT(!((page_no) || (mp)->dmai_pfnlst)); \
255 (mp)->dmai_pfnlst = (void *)(pfn); \
257 ((px_iopfn_t *)(mp)->dmai_pfnlst)[page_no] = \
260 #define PX_SET_MP_PFN1(mp, page_no, pfn) { \
261 ((px_iopfn_t *)(mp)->dmai_pfnlst)[page_no] = (pfn); \