Lines Matching refs:dma_p
788 ddi_device_acc_attr_t *acc_attr_p, uint_t dma_flags, wpi_dma_t *dma_p) in wpi_alloc_dma_mem() argument
797 DDI_DMA_SLEEP, NULL, &dma_p->dma_hdl); in wpi_alloc_dma_mem()
799 dma_p->dma_hdl = NULL; in wpi_alloc_dma_mem()
806 err = ddi_dma_mem_alloc(dma_p->dma_hdl, memsize, acc_attr_p, in wpi_alloc_dma_mem()
808 DDI_DMA_SLEEP, NULL, &vaddr, &dma_p->alength, &dma_p->acc_hdl); in wpi_alloc_dma_mem()
810 ddi_dma_free_handle(&dma_p->dma_hdl); in wpi_alloc_dma_mem()
811 dma_p->dma_hdl = NULL; in wpi_alloc_dma_mem()
812 dma_p->acc_hdl = NULL; in wpi_alloc_dma_mem()
819 dma_p->mem_va = vaddr; in wpi_alloc_dma_mem()
820 err = ddi_dma_addr_bind_handle(dma_p->dma_hdl, NULL, in wpi_alloc_dma_mem()
821 vaddr, dma_p->alength, dma_flags, DDI_DMA_SLEEP, NULL, in wpi_alloc_dma_mem()
822 &dma_p->cookie, &dma_p->ncookies); in wpi_alloc_dma_mem()
824 ddi_dma_mem_free(&dma_p->acc_hdl); in wpi_alloc_dma_mem()
825 ddi_dma_free_handle(&dma_p->dma_hdl); in wpi_alloc_dma_mem()
826 dma_p->acc_hdl = NULL; in wpi_alloc_dma_mem()
827 dma_p->dma_hdl = NULL; in wpi_alloc_dma_mem()
831 dma_p->nslots = ~0U; in wpi_alloc_dma_mem()
832 dma_p->size = ~0U; in wpi_alloc_dma_mem()
833 dma_p->token = ~0U; in wpi_alloc_dma_mem()
834 dma_p->offset = 0; in wpi_alloc_dma_mem()
842 wpi_free_dma_mem(wpi_dma_t *dma_p) in wpi_free_dma_mem() argument
844 if (dma_p->dma_hdl != NULL) { in wpi_free_dma_mem()
845 if (dma_p->ncookies) { in wpi_free_dma_mem()
846 (void) ddi_dma_unbind_handle(dma_p->dma_hdl); in wpi_free_dma_mem()
847 dma_p->ncookies = 0; in wpi_free_dma_mem()
849 ddi_dma_free_handle(&dma_p->dma_hdl); in wpi_free_dma_mem()
850 dma_p->dma_hdl = NULL; in wpi_free_dma_mem()
853 if (dma_p->acc_hdl != NULL) { in wpi_free_dma_mem()
854 ddi_dma_mem_free(&dma_p->acc_hdl); in wpi_free_dma_mem()
855 dma_p->acc_hdl = NULL; in wpi_free_dma_mem()
872 wpi_dma_t *dma_p; in wpi_alloc_fw_dma() local
878 dma_p = &sc->sc_dma_fw_text; in wpi_alloc_fw_dma()
880 dma_p->ncookies, dma_p->cookie.dmac_address, in wpi_alloc_fw_dma()
881 dma_p->cookie.dmac_size)); in wpi_alloc_fw_dma()
887 for (i = 0; i < dma_p->ncookies; i++) { in wpi_alloc_fw_dma()
889 c = ddi_dma_cookie_get(dma_p->dma_hdl, i); in wpi_alloc_fw_dma()
896 dma_p = &sc->sc_dma_fw_data; in wpi_alloc_fw_dma()
898 dma_p->ncookies, dma_p->cookie.dmac_address, in wpi_alloc_fw_dma()
899 dma_p->cookie.dmac_size)); in wpi_alloc_fw_dma()
905 for (i = 0; i < dma_p->ncookies; i++) { in wpi_alloc_fw_dma()
907 c = ddi_dma_cookie_get(dma_p->dma_hdl, i); in wpi_alloc_fw_dma()
1588 wpi_dma_t *dma_p; in wpi_load_firmware() local
1597 dma_p = &sc->sc_dma_fw_text; in wpi_load_firmware()
1602 dma_p = &sc->sc_dma_fw_data; in wpi_load_firmware()
1607 (void) memcpy(dma_p->mem_va, fw, size); in wpi_load_firmware()
1610 (void) ddi_dma_sync(dma_p->dma_hdl, 0, size, DDI_DMA_SYNC_FORDEV); in wpi_load_firmware()
1613 desc.flags = LE_32(WPI_PAD32(size) << 28 | dma_p->ncookies << 24); in wpi_load_firmware()
1614 for (i = 0; i < dma_p->ncookies; i++) { in wpi_load_firmware()