Lines Matching refs:pQh
117 struct ehci_qh *pQh; in ms_ehci_qh_alloc() local
120 pQh = (struct ehci_qh *)ms_mem_pool_alloc (pEhci->pQhPool, iFlags, &tDmaAddr); in ms_ehci_qh_alloc()
121 if (!pQh) in ms_ehci_qh_alloc()
122 return pQh; in ms_ehci_qh_alloc()
124 memset (pQh, 0, sizeof *pQh); in ms_ehci_qh_alloc()
125 osapi_atomic_set (&pQh->tRefCnt, 1); in ms_ehci_qh_alloc()
126 pQh->qh_dma_addr = tDmaAddr; in ms_ehci_qh_alloc()
128 diag_printf("pQh: %p, pQh->qh_dma_addr: %p\n", (void *)pQh, (void *)pQh->qh_dma_addr); in ms_ehci_qh_alloc()
129 ms_list_init (&pQh->qtd_list); in ms_ehci_qh_alloc()
131 pQh->pDummyQtd = ms_ehci_qtd_alloc (pEhci, iFlags); in ms_ehci_qh_alloc()
132 if (pQh->pDummyQtd == 0) in ms_ehci_qh_alloc()
135 ms_mem_pool_free (pEhci->pQhPool, pQh, pQh->qh_dma_addr); in ms_ehci_qh_alloc()
137 pQh = 0; in ms_ehci_qh_alloc()
140 return pQh; in ms_ehci_qh_alloc()
143 static __inline__ struct ehci_qh *ms_qh_get (struct ehci_qh *pQh) in ms_qh_get() argument
145 osapi_atomic_inc (&pQh->tRefCnt); in ms_qh_get()
146 return pQh; in ms_qh_get()
149 static void ms_qh_put (struct ehci_hcd *pEhci, struct ehci_qh *pQh) in ms_qh_put() argument
151 if (!osapi_atomic_dec_and_test (&pQh->tRefCnt)) in ms_qh_put()
154 if (!ms_is_empty_list (&pQh->qtd_list) || pQh->qh_next.ptr) in ms_qh_put()
159 if (pQh->pDummyQtd) in ms_qh_put()
160 ms_ehci_qtd_free (pEhci, pQh->pDummyQtd); in ms_qh_put()
161 ms_mem_pool_free (pEhci->pQhPool, pQh, pQh->qh_dma_addr); in ms_qh_put()