Lines Matching refs:usbm
105 struct usb_memory *usbm; member
186 static void dec_usb_memory_use_count(struct usb_memory *usbm, int *count) in dec_usb_memory_use_count() argument
188 struct usb_dev_state *ps = usbm->ps; in dec_usb_memory_use_count()
193 if (usbm->urb_use_count == 0 && usbm->vma_use_count == 0) { in dec_usb_memory_use_count()
194 list_del(&usbm->memlist); in dec_usb_memory_use_count()
197 usb_free_coherent(ps->dev, usbm->size, usbm->mem, in dec_usb_memory_use_count()
198 usbm->dma_handle); in dec_usb_memory_use_count()
200 usbm->size + sizeof(struct usb_memory)); in dec_usb_memory_use_count()
201 kfree(usbm); in dec_usb_memory_use_count()
209 struct usb_memory *usbm = vma->vm_private_data; in usbdev_vm_open() local
212 spin_lock_irqsave(&usbm->ps->lock, flags); in usbdev_vm_open()
213 ++usbm->vma_use_count; in usbdev_vm_open()
214 spin_unlock_irqrestore(&usbm->ps->lock, flags); in usbdev_vm_open()
219 struct usb_memory *usbm = vma->vm_private_data; in usbdev_vm_close() local
221 dec_usb_memory_use_count(usbm, &usbm->vma_use_count); in usbdev_vm_close()
231 struct usb_memory *usbm = NULL; in usbdev_mmap() local
244 usbm = kzalloc(sizeof(struct usb_memory), GFP_KERNEL); in usbdev_mmap()
245 if (!usbm) { in usbdev_mmap()
259 usbm->mem = mem; in usbdev_mmap()
260 usbm->dma_handle = dma_handle; in usbdev_mmap()
261 usbm->size = size; in usbdev_mmap()
262 usbm->ps = ps; in usbdev_mmap()
263 usbm->vm_start = vma->vm_start; in usbdev_mmap()
264 usbm->vma_use_count = 1; in usbdev_mmap()
265 INIT_LIST_HEAD(&usbm->memlist); in usbdev_mmap()
269 virt_to_phys(usbm->mem) >> PAGE_SHIFT, in usbdev_mmap()
271 dec_usb_memory_use_count(usbm, &usbm->vma_use_count); in usbdev_mmap()
277 dec_usb_memory_use_count(usbm, &usbm->vma_use_count); in usbdev_mmap()
284 vma->vm_private_data = usbm; in usbdev_mmap()
287 list_add_tail(&usbm->memlist, &ps->memory_list); in usbdev_mmap()
293 kfree(usbm); in usbdev_mmap()
418 if (as->usbm == NULL) in free_async()
421 dec_usb_memory_use_count(as->usbm, &as->usbm->urb_use_count); in free_async()
1584 struct usb_memory *usbm = NULL, *iter; in find_memory_area() local
1594 usbm = ERR_PTR(-EINVAL); in find_memory_area()
1596 usbm = iter; in find_memory_area()
1597 usbm->urb_use_count++; in find_memory_area()
1603 return usbm; in find_memory_area()
1773 as->usbm = find_memory_area(ps, uurb); in proc_do_submiturb()
1774 if (IS_ERR(as->usbm)) { in proc_do_submiturb()
1775 ret = PTR_ERR(as->usbm); in proc_do_submiturb()
1776 as->usbm = NULL; in proc_do_submiturb()
1783 if (as->usbm) in proc_do_submiturb()
1787 (as->usbm ? 0 : uurb->buffer_length) + in proc_do_submiturb()
1825 if (as->usbm) { in proc_do_submiturb()
1828 as->urb->transfer_buffer = as->usbm->mem + in proc_do_submiturb()
1829 (uurb_start - as->usbm->vm_start); in proc_do_submiturb()
1910 if (as->usbm) { in proc_do_submiturb()
1914 as->urb->transfer_dma = as->usbm->dma_handle + in proc_do_submiturb()
1915 (uurb_start - as->usbm->vm_start); in proc_do_submiturb()