mbo 264 drivers/scsi/aha1542.c int errstatus, mbi, mbo, mbistatus; mbo 329 drivers/scsi/aha1542.c mbo = (scsi2int(mb[mbi].ccbptr) - (unsigned long)aha1542->ccb_handle) / sizeof(struct ccb); mbo 335 drivers/scsi/aha1542.c if (ccb[mbo].tarstat | ccb[mbo].hastat) mbo 337 drivers/scsi/aha1542.c ccb[mbo].tarstat + ((int) ccb[mbo].hastat << 16), mb[mbi].status); mbo 344 drivers/scsi/aha1542.c shost_printk(KERN_DEBUG, sh, "...done %d %d\n", mbo, mbi); mbo 347 drivers/scsi/aha1542.c tmp_cmd = aha1542->int_cmds[mbo]; mbo 352 drivers/scsi/aha1542.c shost_printk(KERN_WARNING, sh, "tarstat=%x, hastat=%x idlun=%x ccb#=%d\n", ccb[mbo].tarstat, mbo 353 drivers/scsi/aha1542.c ccb[mbo].hastat, ccb[mbo].idlun, mbo); mbo 361 drivers/scsi/aha1542.c if (ccb[mbo].tarstat == 2) mbo 362 drivers/scsi/aha1542.c memcpy(tmp_cmd->sense_buffer, &ccb[mbo].cdb[ccb[mbo].cdblen], mbo 371 drivers/scsi/aha1542.c errstatus = makecode(ccb[mbo].hastat, ccb[mbo].tarstat); mbo 378 drivers/scsi/aha1542.c ccb[mbo].hastat, ccb[mbo].tarstat); mbo 379 drivers/scsi/aha1542.c if (ccb[mbo].tarstat == 2) mbo 380 drivers/scsi/aha1542.c print_hex_dump_bytes("sense: ", DUMP_PREFIX_NONE, &ccb[mbo].cdb[ccb[mbo].cdblen], 12); mbo 385 drivers/scsi/aha1542.c aha1542->int_cmds[mbo] = NULL; /* This effectively frees up the mailbox slot, as mbo 401 drivers/scsi/aha1542.c int mbo, sg_count; mbo 440 drivers/scsi/aha1542.c mbo = aha1542->aha1542_last_mbo_used + 1; mbo 441 drivers/scsi/aha1542.c if (mbo >= AHA1542_MAILBOXES) mbo 442 drivers/scsi/aha1542.c mbo = 0; mbo 445 drivers/scsi/aha1542.c if (mb[mbo].status == 0 && aha1542->int_cmds[mbo] == NULL) mbo 447 drivers/scsi/aha1542.c mbo++; mbo 448 drivers/scsi/aha1542.c if (mbo >= AHA1542_MAILBOXES) mbo 449 drivers/scsi/aha1542.c mbo = 0; mbo 450 drivers/scsi/aha1542.c } while (mbo != aha1542->aha1542_last_mbo_used); mbo 452 drivers/scsi/aha1542.c if (mb[mbo].status || aha1542->int_cmds[mbo]) mbo 455 drivers/scsi/aha1542.c aha1542->int_cmds[mbo] = cmd; /* This will effectively prevent someone else from mbo 458 drivers/scsi/aha1542.c aha1542->aha1542_last_mbo_used = mbo; mbo 461 drivers/scsi/aha1542.c shost_printk(KERN_DEBUG, sh, "Sending command (%d %p)...", mbo, cmd->scsi_done); mbo 465 drivers/scsi/aha1542.c any2scsi(mb[mbo].ccbptr, aha1542->ccb_handle + mbo * sizeof(*ccb)); mbo 467 drivers/scsi/aha1542.c memset(&ccb[mbo], 0, sizeof(struct ccb)); mbo 469 drivers/scsi/aha1542.c ccb[mbo].cdblen = cmd->cmd_len; mbo 477 drivers/scsi/aha1542.c memcpy(ccb[mbo].cdb, cmd->cmnd, ccb[mbo].cdblen); mbo 483 drivers/scsi/aha1542.c ccb[mbo].op = 2; /* SCSI Initiator Command w/scatter-gather */ mbo 488 drivers/scsi/aha1542.c any2scsi(ccb[mbo].datalen, sg_count * sizeof(struct chain)); mbo 489 drivers/scsi/aha1542.c any2scsi(ccb[mbo].dataptr, acmd->chain_handle); mbo 495 drivers/scsi/aha1542.c ccb[mbo].op = 0; /* SCSI Initiator Command */ mbo 496 drivers/scsi/aha1542.c any2scsi(ccb[mbo].datalen, 0); mbo 497 drivers/scsi/aha1542.c any2scsi(ccb[mbo].dataptr, 0); mbo 499 drivers/scsi/aha1542.c ccb[mbo].idlun = (target & 7) << 5 | direction | (lun & 7); /*SCSI Target Id */ mbo 500 drivers/scsi/aha1542.c ccb[mbo].rsalen = 16; mbo 501 drivers/scsi/aha1542.c ccb[mbo].linkptr[0] = ccb[mbo].linkptr[1] = ccb[mbo].linkptr[2] = 0; mbo 502 drivers/scsi/aha1542.c ccb[mbo].commlinkid = 0; mbo 505 drivers/scsi/aha1542.c print_hex_dump_bytes("sending: ", DUMP_PREFIX_NONE, &ccb[mbo], sizeof(ccb[mbo]) - 10); mbo 508 drivers/scsi/aha1542.c mb[mbo].status = 1; mbo 860 drivers/scsi/aha1542.c int mbo; mbo 864 drivers/scsi/aha1542.c mbo = aha1542->aha1542_last_mbo_used + 1; mbo 865 drivers/scsi/aha1542.c if (mbo >= AHA1542_MAILBOXES) mbo 866 drivers/scsi/aha1542.c mbo = 0; mbo 869 drivers/scsi/aha1542.c if (mb[mbo].status == 0 && aha1542->int_cmds[mbo] == NULL) mbo 871 drivers/scsi/aha1542.c mbo++; mbo 872 drivers/scsi/aha1542.c if (mbo >= AHA1542_MAILBOXES) mbo 873 drivers/scsi/aha1542.c mbo = 0; mbo 874 drivers/scsi/aha1542.c } while (mbo != aha1542->aha1542_last_mbo_used); mbo 876 drivers/scsi/aha1542.c if (mb[mbo].status || aha1542->int_cmds[mbo]) mbo 879 drivers/scsi/aha1542.c aha1542->int_cmds[mbo] = cmd; /* This will effectively mbo 883 drivers/scsi/aha1542.c aha1542->aha1542_last_mbo_used = mbo; mbo 886 drivers/scsi/aha1542.c any2scsi(mb[mbo].ccbptr, aha1542->ccb_handle + mbo * sizeof(*ccb)); mbo 888 drivers/scsi/aha1542.c memset(&ccb[mbo], 0, sizeof(struct ccb)); mbo 890 drivers/scsi/aha1542.c ccb[mbo].op = 0x81; /* BUS DEVICE RESET */ mbo 892 drivers/scsi/aha1542.c ccb[mbo].idlun = (target & 7) << 5 | (lun & 7); /*SCSI Target Id */ mbo 894 drivers/scsi/aha1542.c ccb[mbo].linkptr[0] = ccb[mbo].linkptr[1] = ccb[mbo].linkptr[2] = 0; mbo 895 drivers/scsi/aha1542.c ccb[mbo].commlinkid = 0; mbo 42 drivers/staging/most/cdev/cdev.c DECLARE_KFIFO_PTR(fifo, typeof(struct mbo *)); mbo 56 drivers/staging/most/cdev/cdev.c static inline struct mbo *ch_get_mbo(struct comp_channel *c, struct mbo **mbo) mbo 58 drivers/staging/most/cdev/cdev.c if (!kfifo_peek(&c->fifo, mbo)) { mbo 59 drivers/staging/most/cdev/cdev.c *mbo = most_get_mbo(c->iface, c->channel_id, &comp.cc); mbo 60 drivers/staging/most/cdev/cdev.c if (*mbo) mbo 61 drivers/staging/most/cdev/cdev.c kfifo_in(&c->fifo, mbo, 1); mbo 63 drivers/staging/most/cdev/cdev.c return *mbo; mbo 87 drivers/staging/most/cdev/cdev.c struct mbo *mbo; mbo 89 drivers/staging/most/cdev/cdev.c while (kfifo_out((struct kfifo *)&c->fifo, &mbo, 1)) mbo 90 drivers/staging/most/cdev/cdev.c most_put_mbo(mbo); mbo 194 drivers/staging/most/cdev/cdev.c struct mbo *mbo = NULL; mbo 198 drivers/staging/most/cdev/cdev.c while (c->dev && !ch_get_mbo(c, &mbo)) { mbo 214 drivers/staging/most/cdev/cdev.c left = copy_from_user(mbo->virt_address + c->mbo_offs, buf, to_copy); mbo 225 drivers/staging/most/cdev/cdev.c mbo->buffer_length = c->mbo_offs; mbo 227 drivers/staging/most/cdev/cdev.c most_submit_mbo(mbo); mbo 247 drivers/staging/most/cdev/cdev.c struct mbo *mbo = NULL; mbo 251 drivers/staging/most/cdev/cdev.c while (c->dev && !kfifo_peek(&c->fifo, &mbo)) { mbo 270 drivers/staging/most/cdev/cdev.c mbo->processed_length - c->mbo_offs); mbo 273 drivers/staging/most/cdev/cdev.c mbo->virt_address + c->mbo_offs, mbo 279 drivers/staging/most/cdev/cdev.c if (c->mbo_offs >= mbo->processed_length) { mbo 281 drivers/staging/most/cdev/cdev.c most_put_mbo(mbo); mbo 363 drivers/staging/most/cdev/cdev.c static int comp_rx_completion(struct mbo *mbo) mbo 367 drivers/staging/most/cdev/cdev.c if (!mbo) mbo 370 drivers/staging/most/cdev/cdev.c c = get_channel(mbo->ifp, mbo->hdm_channel_id); mbo 379 drivers/staging/most/cdev/cdev.c kfifo_in(&c->fifo, &mbo, 1); mbo 100 drivers/staging/most/core.c struct mbo *_mbo = list_first_entry(ptr, struct mbo, list); \ mbo 109 drivers/staging/most/core.c static void most_free_mbo_coherent(struct mbo *mbo) mbo 111 drivers/staging/most/core.c struct most_channel *c = mbo->context; mbo 115 drivers/staging/most/core.c c->iface->dma_free(mbo, coherent_buf_size); mbo 117 drivers/staging/most/core.c kfree(mbo->virt_address); mbo 118 drivers/staging/most/core.c kfree(mbo); mbo 130 drivers/staging/most/core.c struct mbo *mbo, *tmp; mbo 136 drivers/staging/most/core.c list_for_each_entry_safe(mbo, tmp, &c->fifo, list) { mbo 137 drivers/staging/most/core.c list_del(&mbo->list); mbo 139 drivers/staging/most/core.c most_free_mbo_coherent(mbo); mbo 145 drivers/staging/most/core.c list_for_each_entry_safe(mbo, tmp, &c->halt_fifo, list) { mbo 146 drivers/staging/most/core.c list_del(&mbo->list); mbo 148 drivers/staging/most/core.c most_free_mbo_coherent(mbo); mbo 163 drivers/staging/most/core.c struct mbo *mbo, *tmp; mbo 167 drivers/staging/most/core.c list_for_each_entry_safe(mbo, tmp, &c->trash_fifo, list) { mbo 168 drivers/staging/most/core.c list_del(&mbo->list); mbo 170 drivers/staging/most/core.c most_free_mbo_coherent(mbo); mbo 819 drivers/staging/most/core.c static inline void trash_mbo(struct mbo *mbo) mbo 822 drivers/staging/most/core.c struct most_channel *c = mbo->context; mbo 825 drivers/staging/most/core.c list_add(&mbo->list, &c->trash_fifo); mbo 843 drivers/staging/most/core.c static void nq_hdm_mbo(struct mbo *mbo) mbo 846 drivers/staging/most/core.c struct most_channel *c = mbo->context; mbo 849 drivers/staging/most/core.c list_add_tail(&mbo->list, &c->halt_fifo); mbo 857 drivers/staging/most/core.c struct mbo *mbo; mbo 874 drivers/staging/most/core.c mbo = list_pop_mbo(&c->halt_fifo); mbo 878 drivers/staging/most/core.c mbo->buffer_length = c->cfg.buffer_size; mbo 880 drivers/staging/most/core.c ret = enqueue(mbo->ifp, mbo->hdm_channel_id, mbo); mbo 885 drivers/staging/most/core.c nq_hdm_mbo(mbo); mbo 918 drivers/staging/most/core.c static void arm_mbo(struct mbo *mbo) mbo 923 drivers/staging/most/core.c c = mbo->context; mbo 926 drivers/staging/most/core.c trash_mbo(mbo); mbo 931 drivers/staging/most/core.c ++*mbo->num_buffers_ptr; mbo 932 drivers/staging/most/core.c list_add_tail(&mbo->list, &c->fifo); mbo 956 drivers/staging/most/core.c void (*compl)(struct mbo *)) mbo 959 drivers/staging/most/core.c struct mbo *mbo; mbo 966 drivers/staging/most/core.c mbo = kzalloc(sizeof(*mbo), GFP_KERNEL); mbo 967 drivers/staging/most/core.c if (!mbo) mbo 970 drivers/staging/most/core.c mbo->context = c; mbo 971 drivers/staging/most/core.c mbo->ifp = c->iface; mbo 972 drivers/staging/most/core.c mbo->hdm_channel_id = c->channel_id; mbo 974 drivers/staging/most/core.c mbo->virt_address = mbo 975 drivers/staging/most/core.c c->iface->dma_alloc(mbo, coherent_buf_size); mbo 977 drivers/staging/most/core.c mbo->virt_address = mbo 980 drivers/staging/most/core.c if (!mbo->virt_address) mbo 983 drivers/staging/most/core.c mbo->complete = compl; mbo 984 drivers/staging/most/core.c mbo->num_buffers_ptr = &dummy_num_buffers; mbo 986 drivers/staging/most/core.c nq_hdm_mbo(mbo); mbo 990 drivers/staging/most/core.c list_add_tail(&mbo->list, &c->fifo); mbo 997 drivers/staging/most/core.c kfree(mbo); mbo 1008 drivers/staging/most/core.c void most_submit_mbo(struct mbo *mbo) mbo 1010 drivers/staging/most/core.c if (WARN_ONCE(!mbo || !mbo->context, mbo 1014 drivers/staging/most/core.c nq_hdm_mbo(mbo); mbo 1025 drivers/staging/most/core.c static void most_write_completion(struct mbo *mbo) mbo 1029 drivers/staging/most/core.c c = mbo->context; mbo 1030 drivers/staging/most/core.c if (mbo->status == MBO_E_INVAL) mbo 1032 drivers/staging/most/core.c if (unlikely(c->is_poisoned || (mbo->status == MBO_E_CLOSE))) mbo 1033 drivers/staging/most/core.c trash_mbo(mbo); mbo 1035 drivers/staging/most/core.c arm_mbo(mbo); mbo 1069 drivers/staging/most/core.c struct mbo *most_get_mbo(struct most_interface *iface, int id, mbo 1072 drivers/staging/most/core.c struct mbo *mbo; mbo 1098 drivers/staging/most/core.c mbo = list_pop_mbo(&c->fifo); mbo 1102 drivers/staging/most/core.c mbo->num_buffers_ptr = num_buffers_ptr; mbo 1103 drivers/staging/most/core.c mbo->buffer_length = c->cfg.buffer_size; mbo 1104 drivers/staging/most/core.c return mbo; mbo 1112 drivers/staging/most/core.c void most_put_mbo(struct mbo *mbo) mbo 1114 drivers/staging/most/core.c struct most_channel *c = mbo->context; mbo 1117 drivers/staging/most/core.c arm_mbo(mbo); mbo 1120 drivers/staging/most/core.c nq_hdm_mbo(mbo); mbo 1135 drivers/staging/most/core.c static void most_read_completion(struct mbo *mbo) mbo 1137 drivers/staging/most/core.c struct most_channel *c = mbo->context; mbo 1139 drivers/staging/most/core.c if (unlikely(c->is_poisoned || (mbo->status == MBO_E_CLOSE))) { mbo 1140 drivers/staging/most/core.c trash_mbo(mbo); mbo 1144 drivers/staging/most/core.c if (mbo->status == MBO_E_INVAL) { mbo 1145 drivers/staging/most/core.c nq_hdm_mbo(mbo); mbo 1154 drivers/staging/most/core.c c->pipe0.comp->rx_completion(mbo) == 0) mbo 1158 drivers/staging/most/core.c c->pipe1.comp->rx_completion(mbo) == 0) mbo 1161 drivers/staging/most/core.c most_put_mbo(mbo); mbo 188 drivers/staging/most/core.h void (*complete)(struct mbo *mbo); mbo 239 drivers/staging/most/core.h void *(*dma_alloc)(struct mbo *mbo, u32 size); mbo 240 drivers/staging/most/core.h void (*dma_free)(struct mbo *mbo, u32 size); mbo 244 drivers/staging/most/core.h struct mbo *mbo); mbo 273 drivers/staging/most/core.h int (*rx_completion)(struct mbo *mbo); mbo 294 drivers/staging/most/core.h void most_submit_mbo(struct mbo *mbo); mbo 314 drivers/staging/most/core.h struct mbo *most_get_mbo(struct most_interface *iface, int channel_idx, mbo 316 drivers/staging/most/core.h void most_put_mbo(struct mbo *mbo); mbo 153 drivers/staging/most/dim2/dim2.c struct mbo *mbo; mbo 171 drivers/staging/most/dim2/dim2.c mbo = list_first_entry(head, struct mbo, list); mbo 172 drivers/staging/most/dim2/dim2.c buf_size = mbo->buffer_length; mbo 179 drivers/staging/most/dim2/dim2.c BUG_ON(mbo->bus_address == 0); mbo 180 drivers/staging/most/dim2/dim2.c if (!dim_enqueue_buffer(&hdm_ch->ch, mbo->bus_address, buf_size)) { mbo 183 drivers/staging/most/dim2/dim2.c mbo->processed_length = 0; mbo 184 drivers/staging/most/dim2/dim2.c mbo->status = MBO_E_INVAL; mbo 185 drivers/staging/most/dim2/dim2.c mbo->complete(mbo); mbo 231 drivers/staging/most/dim2/dim2.c static void retrieve_netinfo(struct dim2_hdm *dev, struct mbo *mbo) mbo 233 drivers/staging/most/dim2/dim2.c u8 *data = mbo->virt_address; mbo 255 drivers/staging/most/dim2/dim2.c struct mbo *mbo; mbo 287 drivers/staging/most/dim2/dim2.c mbo = list_first_entry(head, struct mbo, list); mbo 291 drivers/staging/most/dim2/dim2.c data = mbo->virt_address; mbo 296 drivers/staging/most/dim2/dim2.c retrieve_netinfo(dev, mbo); mbo 299 drivers/staging/most/dim2/dim2.c list_add_tail(&mbo->list, &hdm_ch->pending_list); mbo 307 drivers/staging/most/dim2/dim2.c mbo->processed_length = mbo 309 drivers/staging/most/dim2/dim2.c mbo->buffer_length); mbo 311 drivers/staging/most/dim2/dim2.c mbo->processed_length = mbo->buffer_length; mbo 313 drivers/staging/most/dim2/dim2.c mbo->status = MBO_SUCCESS; mbo 314 drivers/staging/most/dim2/dim2.c mbo->complete(mbo); mbo 411 drivers/staging/most/dim2/dim2.c struct mbo *mbo; mbo 420 drivers/staging/most/dim2/dim2.c mbo = list_first_entry(head, struct mbo, list); mbo 424 drivers/staging/most/dim2/dim2.c mbo->processed_length = 0; mbo 425 drivers/staging/most/dim2/dim2.c mbo->status = MBO_E_CLOSE; mbo 426 drivers/staging/most/dim2/dim2.c mbo->complete(mbo); mbo 558 drivers/staging/most/dim2/dim2.c struct mbo *mbo) mbo 569 drivers/staging/most/dim2/dim2.c if (mbo->bus_address == 0) mbo 573 drivers/staging/most/dim2/dim2.c list_add_tail(&mbo->list, &hdm_ch->pending_list); mbo 594 drivers/staging/most/dim2/dim2.c struct mbo *mbo; mbo 606 drivers/staging/most/dim2/dim2.c mbo = most_get_mbo(&dev->most_iface, dev->atx_idx, NULL); mbo 607 drivers/staging/most/dim2/dim2.c if (!mbo) mbo 610 drivers/staging/most/dim2/dim2.c mbo->buffer_length = 5; mbo 612 drivers/staging/most/dim2/dim2.c data = mbo->virt_address; mbo 620 drivers/staging/most/dim2/dim2.c most_submit_mbo(mbo); mbo 665 drivers/staging/most/dim2/dim2.c static void *dma_alloc(struct mbo *mbo, u32 size) mbo 667 drivers/staging/most/dim2/dim2.c struct device *dev = mbo->ifp->driver_dev; mbo 669 drivers/staging/most/dim2/dim2.c return dma_alloc_coherent(dev, size, &mbo->bus_address, GFP_KERNEL); mbo 672 drivers/staging/most/dim2/dim2.c static void dma_free(struct mbo *mbo, u32 size) mbo 674 drivers/staging/most/dim2/dim2.c struct device *dev = mbo->ifp->driver_dev; mbo 676 drivers/staging/most/dim2/dim2.c dma_free_coherent(dev, size, mbo->virt_address, mbo->bus_address); mbo 29 drivers/staging/most/i2c/i2c.c list_first_entry(ptr, struct mbo, list) mbo 121 drivers/staging/most/i2c/i2c.c int ch_idx, struct mbo *mbo) mbo 133 drivers/staging/most/i2c/i2c.c list_add_tail(&mbo->list, &dev->rx.list); mbo 140 drivers/staging/most/i2c/i2c.c ret = i2c_master_send(dev->client, mbo->virt_address, mbo 141 drivers/staging/most/i2c/i2c.c mbo->buffer_length); mbo 143 drivers/staging/most/i2c/i2c.c mbo->processed_length = 0; mbo 144 drivers/staging/most/i2c/i2c.c mbo->status = MBO_E_INVAL; mbo 146 drivers/staging/most/i2c/i2c.c mbo->processed_length = mbo->buffer_length; mbo 147 drivers/staging/most/i2c/i2c.c mbo->status = MBO_SUCCESS; mbo 149 drivers/staging/most/i2c/i2c.c mbo->complete(mbo); mbo 169 drivers/staging/most/i2c/i2c.c struct mbo *mbo; mbo 179 drivers/staging/most/i2c/i2c.c mbo = list_first_mbo(&dev->rx.list); mbo 180 drivers/staging/most/i2c/i2c.c list_del(&mbo->list); mbo 182 drivers/staging/most/i2c/i2c.c mbo->processed_length = 0; mbo 183 drivers/staging/most/i2c/i2c.c mbo->status = MBO_E_CLOSE; mbo 184 drivers/staging/most/i2c/i2c.c mbo->complete(mbo); mbo 193 drivers/staging/most/i2c/i2c.c struct mbo *mbo; mbo 218 drivers/staging/most/i2c/i2c.c mbo = list_first_mbo(&dev->rx.list); mbo 219 drivers/staging/most/i2c/i2c.c list_del(&mbo->list); mbo 221 drivers/staging/most/i2c/i2c.c mbo->processed_length = min(data_size, mbo->buffer_length); mbo 222 drivers/staging/most/i2c/i2c.c memcpy(mbo->virt_address, msg, mbo->processed_length); mbo 223 drivers/staging/most/i2c/i2c.c mbo->status = MBO_SUCCESS; mbo 224 drivers/staging/most/i2c/i2c.c mbo->complete(mbo); mbo 75 drivers/staging/most/net/net.c static int skb_to_mamac(const struct sk_buff *skb, struct mbo *mbo) mbo 77 drivers/staging/most/net/net.c u8 *buff = mbo->virt_address; mbo 89 drivers/staging/most/net/net.c if (mbo->buffer_length < mdp_len) { mbo 91 drivers/staging/most/net/net.c mbo->buffer_length, mdp_len); mbo 127 drivers/staging/most/net/net.c mbo->buffer_length = mdp_len; mbo 131 drivers/staging/most/net/net.c static int skb_to_mep(const struct sk_buff *skb, struct mbo *mbo) mbo 133 drivers/staging/most/net/net.c u8 *buff = mbo->virt_address; mbo 141 drivers/staging/most/net/net.c if (mbo->buffer_length < mep_len) { mbo 143 drivers/staging/most/net/net.c mbo->buffer_length, mep_len); mbo 158 drivers/staging/most/net/net.c mbo->buffer_length = mep_len; mbo 237 drivers/staging/most/net/net.c struct mbo *mbo; mbo 240 drivers/staging/most/net/net.c mbo = most_get_mbo(nd->iface, nd->tx.ch_id, &comp); mbo 242 drivers/staging/most/net/net.c if (!mbo) { mbo 249 drivers/staging/most/net/net.c ret = skb_to_mamac(skb, mbo); mbo 251 drivers/staging/most/net/net.c ret = skb_to_mep(skb, mbo); mbo 254 drivers/staging/most/net/net.c most_put_mbo(mbo); mbo 260 drivers/staging/most/net/net.c most_submit_mbo(mbo); mbo 428 drivers/staging/most/net/net.c static int comp_rx_data(struct mbo *mbo) mbo 432 drivers/staging/most/net/net.c char *buf = mbo->virt_address; mbo 433 drivers/staging/most/net/net.c u32 len = mbo->processed_length; mbo 439 drivers/staging/most/net/net.c nd = get_net_dev_hold(mbo->ifp); mbo 443 drivers/staging/most/net/net.c if (nd->rx.ch_id != mbo->hdm_channel_id) { mbo 503 drivers/staging/most/net/net.c most_put_mbo(mbo); mbo 190 drivers/staging/most/sound/sound.c static bool copy_data(struct channel *channel, struct mbo *mbo) mbo 199 drivers/staging/most/sound/sound.c frames = mbo->processed_length / frame_bytes; mbo 201 drivers/staging/most/sound/sound.c frames = mbo->buffer_length / frame_bytes; mbo 205 drivers/staging/most/sound/sound.c mbo->virt_address, mbo 211 drivers/staging/most/sound/sound.c mbo->virt_address + fr0 * frame_bytes, mbo 242 drivers/staging/most/sound/sound.c struct mbo *mbo = NULL; mbo 249 drivers/staging/most/sound/sound.c (mbo = most_get_mbo(channel->iface, channel->id, mbo 251 drivers/staging/most/sound/sound.c if (!mbo) mbo 255 drivers/staging/most/sound/sound.c period_elapsed = copy_data(channel, mbo); mbo 257 drivers/staging/most/sound/sound.c memset(mbo->virt_address, 0, mbo->buffer_length); mbo 259 drivers/staging/most/sound/sound.c most_submit_mbo(mbo); mbo 733 drivers/staging/most/sound/sound.c static int audio_rx_completion(struct mbo *mbo) mbo 735 drivers/staging/most/sound/sound.c struct channel *channel = get_channel(mbo->ifp, mbo->hdm_channel_id); mbo 740 drivers/staging/most/sound/sound.c mbo->hdm_channel_id); mbo 745 drivers/staging/most/sound/sound.c period_elapsed = copy_data(channel, mbo); mbo 747 drivers/staging/most/sound/sound.c most_put_mbo(mbo); mbo 272 drivers/staging/most/usb/usb.c static int hdm_add_padding(struct most_dev *mdev, int channel, struct mbo *mbo) mbo 280 drivers/staging/most/usb/usb.c num_frames = mbo->buffer_length / frame_size; mbo 289 drivers/staging/most/usb/usb.c memmove(mbo->virt_address + j * USB_MTU, mbo 290 drivers/staging/most/usb/usb.c mbo->virt_address + j * frame_size, mbo 292 drivers/staging/most/usb/usb.c mbo->buffer_length = num_frames * USB_MTU; mbo 306 drivers/staging/most/usb/usb.c struct mbo *mbo) mbo 314 drivers/staging/most/usb/usb.c num_frames = mbo->processed_length / USB_MTU; mbo 317 drivers/staging/most/usb/usb.c memmove(mbo->virt_address + frame_size * j, mbo 318 drivers/staging/most/usb/usb.c mbo->virt_address + USB_MTU * j, mbo 321 drivers/staging/most/usb/usb.c mbo->processed_length = frame_size * num_frames; mbo 338 drivers/staging/most/usb/usb.c struct mbo *mbo = urb->context; mbo 339 drivers/staging/most/usb/usb.c struct most_dev *mdev = to_mdev(mbo->ifp); mbo 340 drivers/staging/most/usb/usb.c unsigned int channel = mbo->hdm_channel_id; mbo 346 drivers/staging/most/usb/usb.c mbo->processed_length = 0; mbo 347 drivers/staging/most/usb/usb.c mbo->status = MBO_E_INVAL; mbo 352 drivers/staging/most/usb/usb.c mbo->processed_length = urb->actual_length; mbo 353 drivers/staging/most/usb/usb.c mbo->status = MBO_SUCCESS; mbo 365 drivers/staging/most/usb/usb.c mbo->status = MBO_E_CLOSE; mbo 372 drivers/staging/most/usb/usb.c if (likely(mbo->complete)) mbo 373 drivers/staging/most/usb/usb.c mbo->complete(mbo); mbo 487 drivers/staging/most/usb/usb.c struct mbo *mbo = urb->context; mbo 488 drivers/staging/most/usb/usb.c struct most_dev *mdev = to_mdev(mbo->ifp); mbo 489 drivers/staging/most/usb/usb.c unsigned int channel = mbo->hdm_channel_id; mbo 496 drivers/staging/most/usb/usb.c mbo->processed_length = 0; mbo 497 drivers/staging/most/usb/usb.c mbo->status = MBO_E_INVAL; mbo 502 drivers/staging/most/usb/usb.c mbo->processed_length = urb->actual_length; mbo 503 drivers/staging/most/usb/usb.c mbo->status = MBO_SUCCESS; mbo 505 drivers/staging/most/usb/usb.c hdm_remove_padding(mdev, channel, mbo)) { mbo 506 drivers/staging/most/usb/usb.c mbo->processed_length = 0; mbo 507 drivers/staging/most/usb/usb.c mbo->status = MBO_E_INVAL; mbo 519 drivers/staging/most/usb/usb.c mbo->status = MBO_E_CLOSE; mbo 530 drivers/staging/most/usb/usb.c if (likely(mbo->complete)) mbo 531 drivers/staging/most/usb/usb.c mbo->complete(mbo); mbo 551 drivers/staging/most/usb/usb.c struct mbo *mbo) mbo 560 drivers/staging/most/usb/usb.c if (unlikely(!iface || !mbo)) mbo 581 drivers/staging/most/usb/usb.c hdm_add_padding(mdev, channel, mbo)) { mbo 586 drivers/staging/most/usb/usb.c urb->transfer_dma = mbo->bus_address; mbo 587 drivers/staging/most/usb/usb.c virt_address = mbo->virt_address; mbo 588 drivers/staging/most/usb/usb.c length = mbo->buffer_length; mbo 597 drivers/staging/most/usb/usb.c mbo); mbo 608 drivers/staging/most/usb/usb.c mbo); mbo 631 drivers/staging/most/usb/usb.c static void *hdm_dma_alloc(struct mbo *mbo, u32 size) mbo 633 drivers/staging/most/usb/usb.c struct most_dev *mdev = to_mdev(mbo->ifp); mbo 636 drivers/staging/most/usb/usb.c &mbo->bus_address); mbo 639 drivers/staging/most/usb/usb.c static void hdm_dma_free(struct mbo *mbo, u32 size) mbo 641 drivers/staging/most/usb/usb.c struct most_dev *mdev = to_mdev(mbo->ifp); mbo 643 drivers/staging/most/usb/usb.c usb_free_coherent(mdev->usb_device, size, mbo->virt_address, mbo 644 drivers/staging/most/usb/usb.c mbo->bus_address); mbo 64 drivers/staging/most/video/video.c static inline struct mbo *get_top_mbo(struct most_video_dev *mdev) mbo 66 drivers/staging/most/video/video.c return list_first_entry(&mdev->pending_mbos, struct mbo, list); mbo 121 drivers/staging/most/video/video.c struct mbo *mbo, *tmp; mbo 134 drivers/staging/most/video/video.c list_for_each_entry_safe(mbo, tmp, &mdev->pending_mbos, list) { mbo 135 drivers/staging/most/video/video.c list_del(&mbo->list); mbo 137 drivers/staging/most/video/video.c most_put_mbo(mbo); mbo 175 drivers/staging/most/video/video.c struct mbo *const mbo = get_top_mbo(mdev); mbo 176 drivers/staging/most/video/video.c int const rem = mbo->processed_length - fh->offs; mbo 179 drivers/staging/most/video/video.c if (copy_to_user(buf, mbo->virt_address + fh->offs, cnt)) { mbo 194 drivers/staging/most/video/video.c list_del(&mbo->list); mbo 196 drivers/staging/most/video/video.c most_put_mbo(mbo); mbo 386 drivers/staging/most/video/video.c static int comp_rx_data(struct mbo *mbo) mbo 390 drivers/staging/most/video/video.c get_comp_dev(mbo->ifp, mbo->hdm_channel_id); mbo 401 drivers/staging/most/video/video.c list_add_tail(&mbo->list, &mdev->pending_mbos);