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);