Lines Matching refs:mbo

276 static int hdm_add_padding(struct most_dev *mdev, int channel, struct mbo *mbo)  in hdm_add_padding()  argument
284 num_frames = mbo->buffer_length / frame_size; in hdm_add_padding()
293 memmove(mbo->virt_address + j * USB_MTU, in hdm_add_padding()
294 mbo->virt_address + j * frame_size, in hdm_add_padding()
296 mbo->buffer_length = num_frames * USB_MTU; in hdm_add_padding()
310 struct mbo *mbo) in hdm_remove_padding() argument
318 num_frames = mbo->processed_length / USB_MTU; in hdm_remove_padding()
321 memmove(mbo->virt_address + frame_size * j, in hdm_remove_padding()
322 mbo->virt_address + USB_MTU * j, in hdm_remove_padding()
325 mbo->processed_length = frame_size * num_frames; in hdm_remove_padding()
342 struct mbo *mbo = urb->context; in hdm_write_completion() local
343 struct most_dev *mdev = to_mdev(mbo->ifp); in hdm_write_completion()
344 unsigned int channel = mbo->hdm_channel_id; in hdm_write_completion()
350 mbo->processed_length = 0; in hdm_write_completion()
351 mbo->status = MBO_E_INVAL; in hdm_write_completion()
356 mbo->processed_length = urb->actual_length; in hdm_write_completion()
357 mbo->status = MBO_SUCCESS; in hdm_write_completion()
369 mbo->status = MBO_E_CLOSE; in hdm_write_completion()
376 if (likely(mbo->complete)) in hdm_write_completion()
377 mbo->complete(mbo); in hdm_write_completion()
394 struct mbo *mbo = urb->context; in hdm_read_completion() local
395 struct most_dev *mdev = to_mdev(mbo->ifp); in hdm_read_completion()
396 unsigned int channel = mbo->hdm_channel_id; in hdm_read_completion()
403 mbo->processed_length = 0; in hdm_read_completion()
404 mbo->status = MBO_E_INVAL; in hdm_read_completion()
409 mbo->processed_length = urb->actual_length; in hdm_read_completion()
410 mbo->status = MBO_SUCCESS; in hdm_read_completion()
412 hdm_remove_padding(mdev, channel, mbo)) { in hdm_read_completion()
413 mbo->processed_length = 0; in hdm_read_completion()
414 mbo->status = MBO_E_INVAL; in hdm_read_completion()
426 mbo->status = MBO_E_CLOSE; in hdm_read_completion()
437 if (likely(mbo->complete)) in hdm_read_completion()
438 mbo->complete(mbo); in hdm_read_completion()
458 struct mbo *mbo) in hdm_enqueue() argument
467 if (!mbo) in hdm_enqueue()
485 hdm_add_padding(mdev, channel, mbo)) { in hdm_enqueue()
490 urb->transfer_dma = mbo->bus_address; in hdm_enqueue()
491 virt_address = mbo->virt_address; in hdm_enqueue()
492 length = mbo->buffer_length; in hdm_enqueue()
501 mbo); in hdm_enqueue()
512 mbo); in hdm_enqueue()
535 static void *hdm_dma_alloc(struct mbo *mbo, u32 size) in hdm_dma_alloc() argument
537 struct most_dev *mdev = to_mdev(mbo->ifp); in hdm_dma_alloc()
540 &mbo->bus_address); in hdm_dma_alloc()
543 static void hdm_dma_free(struct mbo *mbo, u32 size) in hdm_dma_free() argument
545 struct most_dev *mdev = to_mdev(mbo->ifp); in hdm_dma_free()
547 usb_free_coherent(mdev->usb_device, size, mbo->virt_address, in hdm_dma_free()
548 mbo->bus_address); in hdm_dma_free()