Lines Matching refs:osh

88 static void * osl_sec_dma_ioremap(osl_t *osh, struct page *page, size_t size,
90 static void osl_sec_dma_iounmap(osl_t *osh, void *contig_base_va, size_t size);
91 static int osl_sec_dma_init_elem_mem_block(osl_t *osh, size_t mbsize, int max,
93 static void osl_sec_dma_deinit_elem_mem_block(osl_t *osh, size_t mbsize, int max,
95 static sec_mem_elem_t * osl_sec_dma_alloc_mem_elem(osl_t *osh, void *va, uint size,
97 static void osl_sec_dma_free_mem_elem(osl_t *osh, sec_mem_elem_t *sec_mem_elem);
98 static void osl_sec_dma_init_consistent(osl_t *osh);
99 static void *osl_sec_dma_alloc_consistent(osl_t *osh, uint size, uint16 align_bits,
101 static void osl_sec_dma_free_consistent(osl_t *osh, void *va, uint size, dmaaddr_t pa);
128 static void osl_dma_lock(osl_t *osh);
129 static void osl_dma_unlock(osl_t *osh);
130 static void osl_dma_lock_init(osl_t *osh);
132 #define DMA_LOCK(osh) osl_dma_lock(osh) argument
133 #define DMA_UNLOCK(osh) osl_dma_unlock(osh) argument
134 #define DMA_LOCK_INIT(osh) osl_dma_lock_init(osh); argument
136 #define DMA_LOCK(osh) do { /* noop */ } while(0) argument
137 #define DMA_UNLOCK(osh) do { /* noop */ } while(0) argument
138 #define DMA_LOCK_INIT(osh) do { /* noop */ } while(0) argument
240 osl_dma_map_dump(osl_t *osh) in osl_dma_map_dump() argument
245 map_log = (dhd_map_log_t *)(osh->dhd_map_log); in osl_dma_map_dump()
246 unmap_log = (dhd_map_log_t *)(osh->dhd_unmap_log); in osl_dma_map_dump()
283 osl_dma_map_log_deinit(osl_t *osh) in osl_dma_map_log_deinit() argument
285 if (osh->dhd_map_log) { in osl_dma_map_log_deinit()
286 kfree(osh->dhd_map_log); in osl_dma_map_log_deinit()
287 osh->dhd_map_log = NULL; in osl_dma_map_log_deinit()
290 if (osh->dhd_unmap_log) { in osl_dma_map_log_deinit()
291 kfree(osh->dhd_unmap_log); in osl_dma_map_log_deinit()
292 osh->dhd_unmap_log = NULL; in osl_dma_map_log_deinit()
297 osl_dma_map_logging(osl_t *osh, void *handle, dmaaddr_t pa, uint32 len) in osl_dma_map_logging() argument
331 osl_t *osh; in osl_attach() local
338 if (!(osh = kmalloc(sizeof(osl_t), flags))) in osl_attach()
339 return osh; in osl_attach()
341 ASSERT(osh); in osl_attach()
343 bzero(osh, sizeof(osl_t)); in osl_attach()
346 if (!(osh->cmn = kmalloc(sizeof(osl_cmn_t), flags))) { in osl_attach()
347 kfree(osh); in osl_attach()
350 bzero(osh->cmn, sizeof(osl_cmn_t)); in osl_attach()
352 *osl_cmn = osh->cmn; in osl_attach()
353 atomic_set(&osh->cmn->malloced, 0); in osl_attach()
354 osh->cmn->dbgmem_list = NULL; in osl_attach()
355 spin_lock_init(&(osh->cmn->dbgmem_lock)); in osl_attach()
357 spin_lock_init(&(osh->cmn->pktalloc_lock)); in osl_attach()
360 osh->cmn = *osl_cmn; in osl_attach()
362 atomic_add(1, &osh->cmn->refcount); in osl_attach()
369 osh->failed = 0; in osl_attach()
370 osh->pdev = pdev; in osl_attach()
371 osh->pub.pkttag = pkttag; in osl_attach()
372 osh->bustype = bustype; in osl_attach()
373 osh->magic = OS_HANDLE_MAGIC; in osl_attach()
379 osh->contig_base_alloc = (phys_addr_t)secdma_addr; in osl_attach()
382 osh->contig_base_alloc = (phys_addr_t)secdma_addr2; in osl_attach()
386 kfree(osh); in osl_attach()
389 osh->contig_base = (phys_addr_t)osh->contig_base_alloc; in osl_attach()
392 (unsigned int)osh->contig_base_alloc); in osl_attach()
393 osh->stb_ext_params = SECDMA_MODULE_PARAMS; in osl_attach()
395 else if (stbpriv_init(osh) == 0) { in osl_attach()
398 osh->contig_base_alloc = in osl_attach()
402 osh->contig_base_alloc = in osl_attach()
407 kfree(osh); in osl_attach()
410 osh->contig_base = (phys_addr_t)osh->contig_base_alloc; in osl_attach()
413 (unsigned int)osh->contig_base_alloc); in osl_attach()
414 osh->stb_ext_params = SECDMA_EXT_FILE; in osl_attach()
418 kfree(osh); in osl_attach()
422 osh->contig_base_alloc_coherent_va = osl_sec_dma_ioremap(osh, in osl_attach()
423 phys_to_page((u32)osh->contig_base_alloc), in osl_attach()
426 if (osh->contig_base_alloc_coherent_va == NULL) { in osl_attach()
427 if (osh->cmn) in osl_attach()
428 kfree(osh->cmn); in osl_attach()
429 kfree(osh); in osl_attach()
432 osh->contig_base_coherent_va = osh->contig_base_alloc_coherent_va; in osl_attach()
433 osh->contig_base_alloc_coherent = osh->contig_base_alloc; in osl_attach()
434 osl_sec_dma_init_consistent(osh); in osl_attach()
436 osh->contig_base_alloc += CMA_DMA_DESC_MEMBLOCK; in osl_attach()
438 osh->contig_base_alloc_va = osl_sec_dma_ioremap(osh, in osl_attach()
439 phys_to_page((u32)osh->contig_base_alloc), CMA_DMA_DATA_MEMBLOCK, TRUE, FALSE); in osl_attach()
440 if (osh->contig_base_alloc_va == NULL) { in osl_attach()
441 osl_sec_dma_iounmap(osh, osh->contig_base_coherent_va, CMA_DMA_DESC_MEMBLOCK); in osl_attach()
442 if (osh->cmn) in osl_attach()
443 kfree(osh->cmn); in osl_attach()
444 kfree(osh); in osl_attach()
447 osh->contig_base_va = osh->contig_base_alloc_va; in osl_attach()
449 if (BCME_OK != osl_sec_dma_init_elem_mem_block(osh, in osl_attach()
450 CMA_BUFSIZE_4K, CMA_BUFNUM, &osh->sec_list_4096)) { in osl_attach()
451 osl_sec_dma_iounmap(osh, osh->contig_base_coherent_va, CMA_DMA_DESC_MEMBLOCK); in osl_attach()
452 osl_sec_dma_iounmap(osh, osh->contig_base_va, CMA_DMA_DATA_MEMBLOCK); in osl_attach()
453 if (osh->cmn) in osl_attach()
454 kfree(osh->cmn); in osl_attach()
455 kfree(osh); in osl_attach()
458 osh->sec_list_base_4096 = osh->sec_list_4096; in osl_attach()
466 osh->pub.mmbus = TRUE; in osl_attach()
473 osh->pub.mmbus = FALSE; in osl_attach()
480 DMA_LOCK_INIT(osh); in osl_attach()
483 osh->dhd_map_log = osl_dma_map_log_init(DHD_MAP_LOG_SIZE); in osl_attach()
484 if (osh->dhd_map_log == NULL) { in osl_attach()
488 osh->dhd_unmap_log = osl_dma_map_log_init(DHD_MAP_LOG_SIZE); in osl_attach()
489 if (osh->dhd_unmap_log == NULL) { in osl_attach()
494 return osh; in osl_attach()
497 void osl_set_bus_handle(osl_t *osh, void *bus_handle) in osl_set_bus_handle() argument
499 osh->bus_handle = bus_handle; in osl_set_bus_handle()
502 void* osl_get_bus_handle(osl_t *osh) in osl_get_bus_handle() argument
504 return osh->bus_handle; in osl_get_bus_handle()
508 void osl_set_bpt_cb(osl_t *osh, void *bpt_cb, void *bpt_ctx) in osl_set_bpt_cb() argument
510 if (osh) { in osl_set_bpt_cb()
511 osh->bpt_cb = (bpt_cb_fn)bpt_cb; in osl_set_bpt_cb()
512 osh->sih = bpt_ctx; in osl_set_bpt_cb()
518 osl_detach(osl_t *osh) in osl_detach() argument
520 if (osh == NULL) in osl_detach()
524 if (osh->stb_ext_params == SECDMA_EXT_FILE) in osl_detach()
525 stbpriv_exit(osh); in osl_detach()
526 osl_sec_dma_deinit_elem_mem_block(osh, CMA_BUFSIZE_4K, CMA_BUFNUM, osh->sec_list_base_4096); in osl_detach()
527 osl_sec_dma_iounmap(osh, osh->contig_base_coherent_va, CMA_DMA_DESC_MEMBLOCK); in osl_detach()
528 osl_sec_dma_iounmap(osh, osh->contig_base_va, CMA_DMA_DATA_MEMBLOCK); in osl_detach()
535 osl_dma_map_log_deinit(osh->dhd_map_log); in osl_detach()
536 osl_dma_map_log_deinit(osh->dhd_unmap_log); in osl_detach()
539 ASSERT(osh->magic == OS_HANDLE_MAGIC); in osl_detach()
540 atomic_sub(1, &osh->cmn->refcount); in osl_detach()
541 if (atomic_read(&osh->cmn->refcount) == 0) { in osl_detach()
542 kfree(osh->cmn); in osl_detach()
544 kfree(osh); in osl_detach()
549 osl_flag_set(osl_t *osh, uint32 mask) in osl_flag_set() argument
551 osh->flags |= mask; in osl_flag_set()
555 osl_flag_clr(osl_t *osh, uint32 mask) in osl_flag_clr() argument
557 osh->flags &= ~mask; in osl_flag_clr()
565 osl_is_flag_set(osl_t *osh, uint32 mask) in osl_is_flag_set() argument
567 return (osh->flags & mask); in osl_is_flag_set()
620 osl_pci_read_config(osl_t *osh, uint offset, uint size) in osl_pci_read_config() argument
625 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_pci_read_config()
631 pci_read_config_dword(osh->pdev, offset, &val); in osl_pci_read_config()
640 osl_pci_write_config(osl_t *osh, uint offset, uint size, uint val) in osl_pci_write_config() argument
644 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_pci_write_config()
650 pci_write_config_dword(osh->pdev, offset, val); in osl_pci_write_config()
653 if (osl_pci_read_config(osh, offset, size) == val) in osl_pci_write_config()
661 osl_pci_bus(osl_t *osh) in osl_pci_bus() argument
663 ASSERT(osh && (osh->magic == OS_HANDLE_MAGIC) && osh->pdev); in osl_pci_bus()
666 return pci_domain_nr(((struct pci_dev *)osh->pdev)->bus); in osl_pci_bus()
668 return ((struct pci_dev *)osh->pdev)->bus->number; in osl_pci_bus()
674 osl_pci_slot(osl_t *osh) in osl_pci_slot() argument
676 ASSERT(osh && (osh->magic == OS_HANDLE_MAGIC) && osh->pdev); in osl_pci_slot()
679 return PCI_SLOT(((struct pci_dev *)osh->pdev)->devfn) + 1; in osl_pci_slot()
681 return PCI_SLOT(((struct pci_dev *)osh->pdev)->devfn); in osl_pci_slot()
687 osl_pcie_domain(osl_t *osh) in osl_pcie_domain() argument
689 ASSERT(osh && (osh->magic == OS_HANDLE_MAGIC) && osh->pdev); in osl_pcie_domain()
691 return pci_domain_nr(((struct pci_dev *)osh->pdev)->bus); in osl_pcie_domain()
696 osl_pcie_bus(osl_t *osh) in osl_pcie_bus() argument
698 ASSERT(osh && (osh->magic == OS_HANDLE_MAGIC) && osh->pdev); in osl_pcie_bus()
700 return ((struct pci_dev *)osh->pdev)->bus->number; in osl_pcie_bus()
705 osl_pci_device(osl_t *osh) in osl_pci_device() argument
707 ASSERT(osh && (osh->magic == OS_HANDLE_MAGIC) && osh->pdev); in osl_pci_device()
709 return osh->pdev; in osl_pci_device()
713 osl_pcmcia_attr(osl_t *osh, uint offset, char *buf, int size, bool write) in osl_pcmcia_attr() argument
718 osl_pcmcia_read_attr(osl_t *osh, uint offset, void *buf, int size) in osl_pcmcia_read_attr() argument
720 osl_pcmcia_attr(osh, offset, (char *) buf, size, FALSE); in osl_pcmcia_read_attr()
724 osl_pcmcia_write_attr(osl_t *osh, uint offset, void *buf, int size) in osl_pcmcia_write_attr() argument
726 osl_pcmcia_attr(osh, offset, (char *) buf, size, TRUE); in osl_pcmcia_write_attr()
730 osl_malloc(osl_t *osh, uint size) in osl_malloc() argument
736 if (osh) in osl_malloc()
737 ASSERT(osh->magic == OS_HANDLE_MAGIC); in osl_malloc()
764 if (osh) in osl_malloc()
765 atomic_add(size, &osh->cmn->malloced); in osl_malloc()
775 if (osh) in osl_malloc()
776 osh->failed++; in osl_malloc()
779 if (osh && osh->cmn) in osl_malloc()
780 atomic_add(size, &osh->cmn->malloced); in osl_malloc()
786 osl_mallocz(osl_t *osh, uint size) in osl_mallocz() argument
790 ptr = osl_malloc(osh, size); in osl_mallocz()
800 osl_mfree(osl_t *osh, void *addr, uint size) in osl_mfree() argument
818 if (osh && osh->cmn) { in osl_mfree()
819 ASSERT(osh->magic == OS_HANDLE_MAGIC); in osl_mfree()
820 atomic_sub(size, &osh->cmn->malloced); in osl_mfree()
826 if (osh && osh->cmn) { in osl_mfree()
827 ASSERT(osh->magic == OS_HANDLE_MAGIC); in osl_mfree()
829 ASSERT(size <= osl_malloced(osh)); in osl_mfree()
831 atomic_sub(size, &osh->cmn->malloced); in osl_mfree()
837 osl_vmalloc(osl_t *osh, uint size) in osl_vmalloc() argument
842 if (osh) in osl_vmalloc()
843 ASSERT(osh->magic == OS_HANDLE_MAGIC); in osl_vmalloc()
845 if (osh) in osl_vmalloc()
846 osh->failed++; in osl_vmalloc()
849 if (osh && osh->cmn) in osl_vmalloc()
850 atomic_add(size, &osh->cmn->malloced); in osl_vmalloc()
856 osl_vmallocz(osl_t *osh, uint size) in osl_vmallocz() argument
860 ptr = osl_vmalloc(osh, size); in osl_vmallocz()
870 osl_vmfree(osl_t *osh, void *addr, uint size) in osl_vmfree() argument
872 if (osh && osh->cmn) { in osl_vmfree()
873 ASSERT(osh->magic == OS_HANDLE_MAGIC); in osl_vmfree()
875 ASSERT(size <= osl_malloced(osh)); in osl_vmfree()
877 atomic_sub(size, &osh->cmn->malloced); in osl_vmfree()
883 osl_check_memleak(osl_t *osh) in osl_check_memleak() argument
885 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_check_memleak()
886 if (atomic_read(&osh->cmn->refcount) == 1) in osl_check_memleak()
887 return (atomic_read(&osh->cmn->malloced)); in osl_check_memleak()
893 osl_malloced(osl_t *osh) in osl_malloced() argument
895 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_malloced()
896 return (atomic_read(&osh->cmn->malloced)); in osl_malloced()
900 osl_malloc_failed(osl_t *osh) in osl_malloc_failed() argument
902 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_malloc_failed()
903 return (osh->failed); in osl_malloc_failed()
913 osl_dma_alloc_consistent(osl_t *osh, uint size, uint16 align_bits, uint *alloced, dmaaddr_t *pap) in osl_dma_alloc_consistent() argument
917 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_dma_alloc_consistent()
932 struct pci_dev *hwdev = osh->pdev; in osl_dma_alloc_consistent()
949 va = osl_sec_dma_alloc_consistent(osh, size, align_bits, pap); in osl_dma_alloc_consistent()
955 osl_dma_free_consistent(osl_t *osh, void *va, uint size, dmaaddr_t pa) in osl_dma_free_consistent() argument
960 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_dma_free_consistent()
969 pci_free_consistent(osh->pdev, size, va, paddr); in osl_dma_free_consistent()
971 pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa); in osl_dma_free_consistent()
975 osl_sec_dma_free_consistent(osh, va, size, pa); in osl_dma_free_consistent()
987 osl_dma_flush(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_map_t *dmah) in osl_dma_flush() argument
993 osl_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_map_t *dmah) in osl_dma_map() argument
1000 DMA_LOCK(osh); in osl_dma_map()
1002 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_dma_map()
1016 DMA_UNLOCK(osh); in osl_dma_map()
1019 map_addr = dma_map_single(osh->pdev, va, size, dir); in osl_dma_map()
1020 DMA_UNLOCK(osh); in osl_dma_map()
1024 map_addr = pci_map_single(osh->pdev, va, size, dir); in osl_dma_map()
1027 ret = pci_dma_mapping_error(osh->pdev, map_addr); in osl_dma_map()
1039 osl_dma_map_logging(osh, osh->dhd_map_log, ret_addr, size); in osl_dma_map()
1042 DMA_UNLOCK(osh); in osl_dma_map()
1048 osl_dma_unmap(osl_t *osh, dmaaddr_t pa, uint size, int direction) in osl_dma_unmap() argument
1055 ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC))); in osl_dma_unmap()
1057 DMA_LOCK(osh); in osl_dma_unmap()
1062 osl_dma_map_logging(osh, osh->dhd_unmap_log, pa, size); in osl_dma_unmap()
1067 pci_unmap_single(osh->pdev, paddr, size, dir); in osl_dma_unmap()
1081 dma_unmap_single(osh->pdev, (uintptr)pa, size, dir); in osl_dma_unmap()
1084 pci_unmap_single(osh->pdev, (uint32)pa, size, dir); in osl_dma_unmap()
1089 DMA_UNLOCK(osh); in osl_dma_unmap()
1099 extern void osl_preempt_disable(osl_t *osh) in osl_preempt_disable() argument
1104 extern void osl_preempt_enable(osl_t *osh) in osl_preempt_enable() argument
1313 inline void osl_pcie_rreg(osl_t *osh, ulong addr, volatile void *v, uint size) in osl_pcie_rreg() argument
1319 if (osh && BUSTYPE(osh->bustype) == PCI_BUS) in osl_pcie_rreg()
1346 inline void osl_bpt_rreg(osl_t *osh, ulong addr, volatile void *v, uint size) in osl_bpt_rreg() argument
1374 if (osh && osh->sih && (in_si_clear == FALSE) && poll_timeout && osh->bpt_cb) { in osl_bpt_rreg()
1376 osh->bpt_cb((void *)osh->sih, (void *)addr); in osl_bpt_rreg()
1384 osl_sec_dma_ioremap(osl_t *osh, struct page *page, size_t size, bool iscache, bool isdecr) in osl_sec_dma_ioremap() argument
1405 osh->contig_delta_va_pa = ((uint8 *)addr - page_to_phys(page)); in osl_sec_dma_ioremap()
1414 osh->contig_delta_va_pa = ((uint8 *)addr - page_to_phys(page)); in osl_sec_dma_ioremap()
1423 osl_sec_dma_iounmap(osl_t *osh, void *contig_base_va, size_t size) in osl_sec_dma_iounmap() argument
1429 osl_sec_dma_init_elem_mem_block(osl_t *osh, size_t mbsize, int max, sec_mem_elem_t **list) in osl_sec_dma_init_elem_mem_block() argument
1442 sec_mem_elem->pa_cma = osh->contig_base_alloc; in osl_sec_dma_init_elem_mem_block()
1443 sec_mem_elem->vac = osh->contig_base_alloc_va; in osl_sec_dma_init_elem_mem_block()
1446 osh->contig_base_alloc += mbsize; in osl_sec_dma_init_elem_mem_block()
1447 osh->contig_base_alloc_va = ((uint8 *)osh->contig_base_alloc_va + mbsize); in osl_sec_dma_init_elem_mem_block()
1453 sec_mem_elem->pa_cma = osh->contig_base_alloc; in osl_sec_dma_init_elem_mem_block()
1454 sec_mem_elem->vac = osh->contig_base_alloc_va; in osl_sec_dma_init_elem_mem_block()
1457 osh->contig_base_alloc += mbsize; in osl_sec_dma_init_elem_mem_block()
1458 osh->contig_base_alloc_va = ((uint8 *)osh->contig_base_alloc_va + mbsize); in osl_sec_dma_init_elem_mem_block()
1468 osl_sec_dma_deinit_elem_mem_block(osl_t *osh, size_t mbsize, int max, void *sec_list_base) in osl_sec_dma_deinit_elem_mem_block() argument
1475 osl_sec_dma_alloc_mem_elem(osl_t *osh, void *va, uint size, int direction, in osl_sec_dma_alloc_mem_elem() argument
1480 ASSERT(osh->sec_list_4096); in osl_sec_dma_alloc_mem_elem()
1481 sec_mem_elem = osh->sec_list_4096; in osl_sec_dma_alloc_mem_elem()
1482 osh->sec_list_4096 = sec_mem_elem->next; in osl_sec_dma_alloc_mem_elem()
1500 osl_sec_dma_free_mem_elem(osl_t *osh, sec_mem_elem_t *sec_mem_elem) in osl_sec_dma_free_mem_elem() argument
1504 sec_mem_elem->next = osh->sec_list_4096; in osl_sec_dma_free_mem_elem()
1505 osh->sec_list_4096 = sec_mem_elem; in osl_sec_dma_free_mem_elem()
1509 osl_sec_dma_find_rem_elem(osl_t *osh, struct sec_cma_info *ptr_cma_info, dma_addr_t dma_handle) in osl_sec_dma_find_rem_elem() argument
1544 osl_sec_dma_rem_first_elem(osl_t *osh, struct sec_cma_info *ptr_cma_info) in osl_sec_dma_rem_first_elem() argument
1562 osl_sec_dma_last_elem(osl_t *osh, struct sec_cma_info *ptr_cma_info) in osl_sec_dma_last_elem() argument
1568 osl_sec_dma_map_txmeta(osl_t *osh, void *va, uint size, int direction, void *p, in osl_sec_dma_map_txmeta() argument
1578 sec_mem_elem = osl_sec_dma_last_elem(osh, ptr_cma_info); in osl_sec_dma_map_txmeta()
1596 osl_sec_dma_map(osl_t *osh, void *va, uint size, int direction, void *p, in osl_sec_dma_map() argument
1608 sec_mem_elem = osl_sec_dma_alloc_mem_elem(osh, va, size, direction, ptr_cma_info, offset); in osl_sec_dma_map()
1655 osl_sec_dma_dd_map(osl_t *osh, void *va, uint size, int direction, void *p, hnddma_seg_map_t *map) in osl_sec_dma_dd_map() argument
1663 pa_cma = ((uint8 *)va - (uint8 *)osh->contig_delta_va_pa); in osl_sec_dma_dd_map()
1674 osl_sec_dma_unmap(osl_t *osh, dma_addr_t dma_handle, uint size, int direction, in osl_sec_dma_unmap() argument
1686 sec_mem_elem = osl_sec_dma_find_rem_elem(osh, ptr_cma_info, dma_handle); in osl_sec_dma_unmap()
1721 osl_sec_dma_free_mem_elem(osh, sec_mem_elem); in osl_sec_dma_unmap()
1725 osl_sec_dma_unmap_all(osl_t *osh, void *ptr_cma_info) in osl_sec_dma_unmap_all() argument
1730 sec_mem_elem = osl_sec_dma_rem_first_elem(osh, ptr_cma_info); in osl_sec_dma_unmap_all()
1736 osl_sec_dma_free_mem_elem(osh, sec_mem_elem); in osl_sec_dma_unmap_all()
1738 sec_mem_elem = osl_sec_dma_rem_first_elem(osh, ptr_cma_info); in osl_sec_dma_unmap_all()
1743 osl_sec_dma_init_consistent(osl_t *osh) in osl_sec_dma_init_consistent() argument
1746 void *temp_va = osh->contig_base_alloc_coherent_va; in osl_sec_dma_init_consistent()
1747 phys_addr_t temp_pa = osh->contig_base_alloc_coherent; in osl_sec_dma_init_consistent()
1750 osh->sec_cma_coherent[i].avail = TRUE; in osl_sec_dma_init_consistent()
1751 osh->sec_cma_coherent[i].va = temp_va; in osl_sec_dma_init_consistent()
1752 osh->sec_cma_coherent[i].pa = temp_pa; in osl_sec_dma_init_consistent()
1759 osl_sec_dma_alloc_consistent(osl_t *osh, uint size, uint16 align_bits, ulong *pap) in osl_sec_dma_alloc_consistent() argument
1772 if (osh->sec_cma_coherent[i].avail == TRUE) { in osl_sec_dma_alloc_consistent()
1773 temp_va = osh->sec_cma_coherent[i].va; in osl_sec_dma_alloc_consistent()
1774 temp_pa = osh->sec_cma_coherent[i].pa; in osl_sec_dma_alloc_consistent()
1775 osh->sec_cma_coherent[i].avail = FALSE; in osl_sec_dma_alloc_consistent()
1789 osl_sec_dma_free_consistent(osl_t *osh, void *va, uint size, dmaaddr_t pa) in osl_sec_dma_free_consistent() argument
1794 if (osh->sec_cma_coherent[i].va == va) { in osl_sec_dma_free_consistent()
1795 osh->sec_cma_coherent[i].avail = TRUE; in osl_sec_dma_free_consistent()
1818 osl_timer_init(osl_t *osh, const char *name, void (*fn)(void *arg), void *arg) in osl_timer_init() argument
1841 osl_timer_add(osl_t *osh, osl_timer_t *t, uint32 ms, bool periodic) in osl_timer_add() argument
1861 osl_timer_update(osl_t *osh, osl_timer_t *t, uint32 ms, bool periodic) in osl_timer_update() argument
1882 osl_timer_del(osl_t *osh, osl_timer_t *t) in osl_timer_del() argument
1907 osl_spin_lock_init(osl_t *osh) in osl_spin_lock_init() argument
1912 spinlock_t * lock = MALLOC(osh, sizeof(spinlock_t) + 4); in osl_spin_lock_init()
1919 osl_spin_lock_deinit(osl_t *osh, void *lock) in osl_spin_lock_deinit() argument
1922 MFREE(osh, lock, sizeof(spinlock_t) + 4); in osl_spin_lock_deinit()
1945 osl_dma_lock(osl_t *osh) in osl_dma_lock() argument
1948 spin_lock(&osh->dma_lock); in osl_dma_lock()
1950 spin_lock_bh(&osh->dma_lock); in osl_dma_lock()
1951 osh->dma_lock_bh = TRUE; in osl_dma_lock()
1956 osl_dma_unlock(osl_t *osh) in osl_dma_unlock() argument
1958 if (unlikely(osh->dma_lock_bh)) { in osl_dma_unlock()
1959 osh->dma_lock_bh = FALSE; in osl_dma_unlock()
1960 spin_unlock_bh(&osh->dma_lock); in osl_dma_unlock()
1962 spin_unlock(&osh->dma_lock); in osl_dma_unlock()
1967 osl_dma_lock_init(osl_t *osh) in osl_dma_lock_init() argument
1969 spin_lock_init(&osh->dma_lock); in osl_dma_lock_init()
1970 osh->dma_lock_bh = FALSE; in osl_dma_lock_init()