Lines Matching refs:mdev

44 	struct mic_device *mdev = vpdev_to_mdev(dev);  in _mic_dma_map_page()  local
46 return mic_map_single(mdev, va, size); in _mic_dma_map_page()
53 struct mic_device *mdev = vpdev_to_mdev(dev); in _mic_dma_unmap_page() local
55 mic_unmap_single(mdev, dma_addr, size); in _mic_dma_unmap_page()
68 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_request_irq() local
70 return mic_request_threaded_irq(mdev, func, NULL, name, data, in __mic_request_irq()
77 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_free_irq() local
79 mic_free_irq(mdev, cookie, data); in __mic_free_irq()
84 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_ack_interrupt() local
86 mdev->ops->intr_workarounds(mdev); in __mic_ack_interrupt()
91 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_next_db() local
93 return mic_next_db(mdev); in __mic_next_db()
98 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_get_dp() local
100 return mdev->dp; in __mic_get_dp()
110 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_send_intr() local
112 mdev->ops->send_intr(mdev, db); in __mic_send_intr()
118 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_ioremap() local
120 return mdev->aper.va + pa; in __mic_ioremap()
150 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_alloc() local
155 tmp = mic_map_single(mdev, va, size); in __mic_dma_alloc()
170 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_free() local
172 mic_unmap_single(mdev, dma_handle, size); in __mic_dma_free()
183 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_map_page() local
185 return mic_map_single(mdev, va, size); in __mic_dma_map_page()
194 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_unmap_page() local
196 mic_unmap_single(mdev, dma_addr, size); in __mic_dma_unmap_page()
204 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_map_sg() local
209 ret = dma_map_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_map_sg()
214 da = mic_map(mdev, sg_dma_address(s) + s->offset, s->length); in __mic_dma_map_sg()
222 mic_unmap(mdev, sg_dma_address(s), s->length); in __mic_dma_map_sg()
223 sg_dma_address(s) = mic_to_dma_addr(mdev, sg_dma_address(s)); in __mic_dma_map_sg()
225 dma_unmap_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_map_sg()
235 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_unmap_sg() local
241 da = mic_to_dma_addr(mdev, sg_dma_address(s)); in __mic_dma_unmap_sg()
242 mic_unmap(mdev, sg_dma_address(s), s->length); in __mic_dma_unmap_sg()
245 dma_unmap_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_unmap_sg()
263 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_request_irq() local
265 return mic_request_threaded_irq(mdev, func, NULL, name, data, in ___mic_request_irq()
273 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_free_irq() local
275 mic_free_irq(mdev, cookie, data); in ___mic_free_irq()
280 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_ack_interrupt() local
282 mdev->ops->intr_workarounds(mdev); in ___mic_ack_interrupt()
287 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_next_db() local
289 return mic_next_db(mdev); in ___mic_next_db()
294 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_send_intr() local
296 mdev->ops->send_intr(mdev, db); in ___mic_send_intr()
302 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_ioremap() local
304 return mdev->aper.va + pa; in ___mic_ioremap()
333 struct mic_device *mdev = dev_get_drvdata(dev->parent); in mic_dma_map_page() local
335 return mic_map_single(mdev, va, size); in mic_dma_map_page()
343 struct mic_device *mdev = dev_get_drvdata(dev->parent); in mic_dma_unmap_page() local
344 mic_unmap_single(mdev, dma_addr, size); in mic_dma_unmap_page()
370 struct mic_device *mdev = mbdev_to_mdev(mbdev); in _mic_ack_interrupt() local
371 mdev->ops->intr_workarounds(mdev); in _mic_ack_interrupt()
381 void mic_bootparam_init(struct mic_device *mdev) in mic_bootparam_init() argument
383 struct mic_bootparam *bootparam = mdev->dp; in mic_bootparam_init()
387 bootparam->node_id = mdev->id + 1; in mic_bootparam_init()
401 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_reset() local
403 mdev->ops->reset_fw_ready(mdev); in _mic_reset()
404 mdev->ops->reset(mdev); in _mic_reset()
409 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_ready() local
411 return mdev->ops->is_fw_ready(mdev); in _mic_ready()
420 static int mic_request_dma_chans(struct mic_device *mdev) in mic_request_dma_chans() argument
429 chan = dma_request_channel(mask, mdev->ops->dma_filter, in mic_request_dma_chans()
430 &mdev->pdev->dev); in mic_request_dma_chans()
432 mdev->dma_ch[mdev->num_dma_ch++] = chan; in mic_request_dma_chans()
433 if (mdev->num_dma_ch >= MIC_MAX_DMA_CHAN) in mic_request_dma_chans()
437 dev_info(&mdev->pdev->dev, "DMA channels # %d\n", mdev->num_dma_ch); in mic_request_dma_chans()
438 return mdev->num_dma_ch; in mic_request_dma_chans()
447 static void mic_free_dma_chans(struct mic_device *mdev) in mic_free_dma_chans() argument
451 for (i = 0; i < mdev->num_dma_ch; i++) { in mic_free_dma_chans()
452 dma_release_channel(mdev->dma_ch[i]); in mic_free_dma_chans()
453 mdev->dma_ch[i] = NULL; in mic_free_dma_chans()
455 mdev->num_dma_ch = 0; in mic_free_dma_chans()
470 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_start() local
473 mic_bootparam_init(mdev); in _mic_start()
474 mdev->dma_mbdev = mbus_register_device(&mdev->pdev->dev, in _mic_start()
476 &mbus_hw_ops, id, mdev->mmio.va); in _mic_start()
477 if (IS_ERR(mdev->dma_mbdev)) { in _mic_start()
478 rc = PTR_ERR(mdev->dma_mbdev); in _mic_start()
481 if (!mic_request_dma_chans(mdev)) { in _mic_start()
485 mdev->scdev = scif_register_device(&mdev->pdev->dev, MIC_SCIF_DEV, in _mic_start()
487 id + 1, 0, &mdev->mmio, in _mic_start()
488 &mdev->aper, mdev->dp, NULL, in _mic_start()
489 mdev->dma_ch, mdev->num_dma_ch, in _mic_start()
491 if (IS_ERR(mdev->scdev)) { in _mic_start()
492 rc = PTR_ERR(mdev->scdev); in _mic_start()
496 mdev->vpdev = vop_register_device(&mdev->pdev->dev, in _mic_start()
498 &vop_hw_ops, id + 1, &mdev->aper, in _mic_start()
499 mdev->dma_ch[0]); in _mic_start()
500 if (IS_ERR(mdev->vpdev)) { in _mic_start()
501 rc = PTR_ERR(mdev->vpdev); in _mic_start()
505 rc = mdev->ops->load_mic_fw(mdev, NULL); in _mic_start()
508 mic_smpt_restore(mdev); in _mic_start()
509 mic_intr_restore(mdev); in _mic_start()
510 mdev->intr_ops->enable_interrupts(mdev); in _mic_start()
511 mdev->ops->write_spad(mdev, MIC_DPLO_SPAD, mdev->dp_dma_addr); in _mic_start()
512 mdev->ops->write_spad(mdev, MIC_DPHI_SPAD, mdev->dp_dma_addr >> 32); in _mic_start()
513 mdev->ops->send_firmware_intr(mdev); in _mic_start()
516 vop_unregister_device(mdev->vpdev); in _mic_start()
518 scif_unregister_device(mdev->scdev); in _mic_start()
520 mic_free_dma_chans(mdev); in _mic_start()
522 mbus_unregister_device(mdev->dma_mbdev); in _mic_start()
536 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_stop() local
543 vop_unregister_device(mdev->vpdev); in _mic_stop()
544 scif_unregister_device(mdev->scdev); in _mic_stop()
545 mic_free_dma_chans(mdev); in _mic_stop()
546 mbus_unregister_device(mdev->dma_mbdev); in _mic_stop()
547 mic_bootparam_init(mdev); in _mic_stop()
552 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_family() local
555 return scnprintf(buf, PAGE_SIZE, "%s\n", family[mdev->family]); in _mic_family()
560 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_stepping() local
563 switch (mdev->stepping) { in _mic_stepping()
584 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_aper() local
586 return &mdev->aper; in _mic_aper()