Lines Matching refs:mhi_dev
231 struct mhi_device *mhi_dev;
238 mhi_dev = to_mhi_device(dev);
239 mhi_cntrl = mhi_dev->mhi_cntrl;
242 if (mhi_dev->dev_type == MHI_DEVICE_CONTROLLER)
245 ul_chan = mhi_dev->ul_chan;
246 dl_chan = mhi_dev->dl_chan;
259 * references to mhi_dev created for ul and dl channels. We can
260 * be sure that there will be no instances of mhi_dev left after
267 put_device(&ul_chan->mhi_dev->dev);
274 put_device(&dl_chan->mhi_dev->dev);
277 dev_dbg(&mhi_cntrl->mhi_dev->dev, "destroy device for chan:%s\n",
278 mhi_dev->name);
287 void mhi_notify(struct mhi_device *mhi_dev, enum mhi_callback cb_reason)
291 if (!mhi_dev->dev.driver)
294 mhi_drv = to_mhi_driver(mhi_dev->dev.driver);
297 mhi_drv->status_cb(mhi_dev, cb_reason);
305 struct mhi_device *mhi_dev;
306 struct device *dev = &mhi_cntrl->mhi_dev->dev;
311 if (!mhi_chan->configured || mhi_chan->mhi_dev ||
314 mhi_dev = mhi_alloc_device(mhi_cntrl);
315 if (IS_ERR(mhi_dev))
318 mhi_dev->dev_type = MHI_DEVICE_XFER;
321 mhi_dev->ul_chan = mhi_chan;
322 mhi_dev->ul_chan_id = mhi_chan->chan;
326 mhi_dev->dl_chan = mhi_chan;
327 mhi_dev->dl_chan_id = mhi_chan->chan;
331 put_device(&mhi_dev->dev);
335 get_device(&mhi_dev->dev);
336 mhi_chan->mhi_dev = mhi_dev;
344 mhi_dev->ul_chan = mhi_chan;
345 mhi_dev->ul_chan_id = mhi_chan->chan;
347 mhi_dev->dl_chan = mhi_chan;
348 mhi_dev->dl_chan_id = mhi_chan->chan;
350 get_device(&mhi_dev->dev);
351 mhi_chan->mhi_dev = mhi_dev;
356 mhi_dev->name = mhi_chan->name;
357 dev_set_name(&mhi_dev->dev, "%s_%s",
359 mhi_dev->name);
362 if (mhi_dev->dl_chan && mhi_dev->dl_chan->wake_capable)
363 device_init_wakeup(&mhi_dev->dev, true);
365 ret = device_add(&mhi_dev->dev);
367 put_device(&mhi_dev->dev);
382 dev_err(&mhi_cntrl->mhi_dev->dev,
396 struct mhi_device *mhi_dev = mhi_chan->mhi_dev;
398 if (mhi_dev)
399 mhi_notify(mhi_dev, MHI_CB_PENDING_DATA);
410 struct device *dev = &mhi_cntrl->mhi_dev->dev;
499 struct device *dev = &mhi_cntrl->mhi_dev->dev;
537 dev_err(&mhi_cntrl->mhi_dev->dev,
575 mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result);
586 if (mhi_queue_buf(mhi_chan->mhi_dev,
669 mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result);
705 dev_err(&mhi_cntrl->mhi_dev->dev,
722 dev_err(&mhi_cntrl->mhi_dev->dev,
738 struct device *dev = &mhi_cntrl->mhi_dev->dev;
752 dev_err(&mhi_cntrl->mhi_dev->dev,
884 dev_err(&mhi_cntrl->mhi_dev->dev,
918 dev_err(&mhi_cntrl->mhi_dev->dev,
955 dev_err(&mhi_cntrl->mhi_dev->dev,
986 struct device *dev = &mhi_cntrl->mhi_dev->dev;
1039 int mhi_queue_skb(struct mhi_device *mhi_dev, enum dma_data_direction dir,
1042 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
1043 struct mhi_chan *mhi_chan = (dir == DMA_TO_DEVICE) ? mhi_dev->ul_chan :
1044 mhi_dev->dl_chan;
1094 int mhi_queue_dma(struct mhi_device *mhi_dev, enum dma_data_direction dir,
1097 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
1098 struct mhi_chan *mhi_chan = (dir == DMA_TO_DEVICE) ? mhi_dev->ul_chan :
1099 mhi_dev->dl_chan;
1100 struct device *dev = &mhi_cntrl->mhi_dev->dev;
1201 int mhi_queue_buf(struct mhi_device *mhi_dev, enum dma_data_direction dir,
1204 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
1205 struct mhi_chan *mhi_chan = (dir == DMA_TO_DEVICE) ? mhi_dev->ul_chan :
1206 mhi_dev->dl_chan;
1265 struct device *dev = &mhi_cntrl->mhi_dev->dev;
1310 struct device *dev = &mhi_cntrl->mhi_dev->dev;
1362 struct device *dev = &mhi_cntrl->mhi_dev->dev;
1485 struct device *dev = &mhi_cntrl->mhi_dev->dev;
1498 dev_err(&mhi_cntrl->mhi_dev->dev,
1547 mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result);
1574 int mhi_prepare_for_transfer(struct mhi_device *mhi_dev)
1577 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
1581 mhi_chan = dir ? mhi_dev->dl_chan : mhi_dev->ul_chan;
1594 mhi_chan = dir ? mhi_dev->dl_chan : mhi_dev->ul_chan;
1605 void mhi_unprepare_from_transfer(struct mhi_device *mhi_dev)
1607 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
1612 mhi_chan = dir ? mhi_dev->ul_chan : mhi_dev->dl_chan;
1621 int mhi_poll(struct mhi_device *mhi_dev, u32 budget)
1623 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl;
1624 struct mhi_chan *mhi_chan = mhi_dev->dl_chan;