Lines Matching refs:mdev

32 	struct mic_device *mdev = vpdev_to_mdev(dev);  in _mic_dma_map_page()  local
34 return mic_map_single(mdev, va, size); in _mic_dma_map_page()
41 struct mic_device *mdev = vpdev_to_mdev(dev); in _mic_dma_unmap_page() local
43 mic_unmap_single(mdev, dma_addr, size); in _mic_dma_unmap_page()
56 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_request_irq() local
58 return mic_request_threaded_irq(mdev, func, NULL, name, data, in __mic_request_irq()
65 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_free_irq() local
67 mic_free_irq(mdev, cookie, data); in __mic_free_irq()
72 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_ack_interrupt() local
74 mdev->ops->intr_workarounds(mdev); in __mic_ack_interrupt()
79 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_next_db() local
81 return mic_next_db(mdev); in __mic_next_db()
86 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_get_dp() local
88 return mdev->dp; in __mic_get_dp()
98 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_send_intr() local
100 mdev->ops->send_intr(mdev, db); in __mic_send_intr()
106 struct mic_device *mdev = vpdev_to_mdev(&vpdev->dev); in __mic_ioremap() local
108 return mdev->aper.va + pa; in __mic_ioremap()
138 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_alloc() local
143 tmp = mic_map_single(mdev, va, size); in __mic_dma_alloc()
158 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_free() local
160 mic_unmap_single(mdev, dma_handle, size); in __mic_dma_free()
171 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_map_page() local
173 return mic_map_single(mdev, va, size); in __mic_dma_map_page()
182 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_unmap_page() local
184 mic_unmap_single(mdev, dma_addr, size); in __mic_dma_unmap_page()
192 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_map_sg() local
197 ret = dma_map_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_map_sg()
202 da = mic_map(mdev, sg_dma_address(s) + s->offset, s->length); in __mic_dma_map_sg()
210 mic_unmap(mdev, sg_dma_address(s), s->length); in __mic_dma_map_sg()
211 sg_dma_address(s) = mic_to_dma_addr(mdev, sg_dma_address(s)); in __mic_dma_map_sg()
213 dma_unmap_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_map_sg()
223 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_unmap_sg() local
229 da = mic_to_dma_addr(mdev, sg_dma_address(s)); in __mic_dma_unmap_sg()
230 mic_unmap(mdev, sg_dma_address(s), s->length); in __mic_dma_unmap_sg()
233 dma_unmap_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_unmap_sg()
251 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_request_irq() local
253 return mic_request_threaded_irq(mdev, func, NULL, name, data, in ___mic_request_irq()
261 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_free_irq() local
263 mic_free_irq(mdev, cookie, data); in ___mic_free_irq()
268 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_ack_interrupt() local
270 mdev->ops->intr_workarounds(mdev); in ___mic_ack_interrupt()
275 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_next_db() local
277 return mic_next_db(mdev); in ___mic_next_db()
282 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_send_intr() local
284 mdev->ops->send_intr(mdev, db); in ___mic_send_intr()
290 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_ioremap() local
292 return mdev->aper.va + pa; in ___mic_ioremap()
321 struct mic_device *mdev = dev_get_drvdata(dev->parent); in mic_dma_map_page() local
323 return mic_map_single(mdev, va, size); in mic_dma_map_page()
331 struct mic_device *mdev = dev_get_drvdata(dev->parent); in mic_dma_unmap_page() local
332 mic_unmap_single(mdev, dma_addr, size); in mic_dma_unmap_page()
358 struct mic_device *mdev = mbdev_to_mdev(mbdev); in _mic_ack_interrupt() local
359 mdev->ops->intr_workarounds(mdev); in _mic_ack_interrupt()
369 void mic_bootparam_init(struct mic_device *mdev) in mic_bootparam_init() argument
371 struct mic_bootparam *bootparam = mdev->dp; in mic_bootparam_init()
375 bootparam->node_id = mdev->id + 1; in mic_bootparam_init()
389 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_reset() local
391 mdev->ops->reset_fw_ready(mdev); in _mic_reset()
392 mdev->ops->reset(mdev); in _mic_reset()
397 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_ready() local
399 return mdev->ops->is_fw_ready(mdev); in _mic_ready()
408 static int mic_request_dma_chans(struct mic_device *mdev) in mic_request_dma_chans() argument
417 chan = dma_request_channel(mask, mdev->ops->dma_filter, in mic_request_dma_chans()
418 &mdev->pdev->dev); in mic_request_dma_chans()
420 mdev->dma_ch[mdev->num_dma_ch++] = chan; in mic_request_dma_chans()
421 if (mdev->num_dma_ch >= MIC_MAX_DMA_CHAN) in mic_request_dma_chans()
425 dev_info(&mdev->pdev->dev, "DMA channels # %d\n", mdev->num_dma_ch); in mic_request_dma_chans()
426 return mdev->num_dma_ch; in mic_request_dma_chans()
435 static void mic_free_dma_chans(struct mic_device *mdev) in mic_free_dma_chans() argument
439 for (i = 0; i < mdev->num_dma_ch; i++) { in mic_free_dma_chans()
440 dma_release_channel(mdev->dma_ch[i]); in mic_free_dma_chans()
441 mdev->dma_ch[i] = NULL; in mic_free_dma_chans()
443 mdev->num_dma_ch = 0; in mic_free_dma_chans()
458 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_start() local
461 mic_bootparam_init(mdev); in _mic_start()
462 mdev->dma_mbdev = mbus_register_device(&mdev->pdev->dev, in _mic_start()
464 &mbus_hw_ops, id, mdev->mmio.va); in _mic_start()
465 if (IS_ERR(mdev->dma_mbdev)) { in _mic_start()
466 rc = PTR_ERR(mdev->dma_mbdev); in _mic_start()
469 if (!mic_request_dma_chans(mdev)) { in _mic_start()
473 mdev->scdev = scif_register_device(&mdev->pdev->dev, MIC_SCIF_DEV, in _mic_start()
475 id + 1, 0, &mdev->mmio, in _mic_start()
476 &mdev->aper, mdev->dp, NULL, in _mic_start()
477 mdev->dma_ch, mdev->num_dma_ch, in _mic_start()
479 if (IS_ERR(mdev->scdev)) { in _mic_start()
480 rc = PTR_ERR(mdev->scdev); in _mic_start()
484 mdev->vpdev = vop_register_device(&mdev->pdev->dev, in _mic_start()
486 &vop_hw_ops, id + 1, &mdev->aper, in _mic_start()
487 mdev->dma_ch[0]); in _mic_start()
488 if (IS_ERR(mdev->vpdev)) { in _mic_start()
489 rc = PTR_ERR(mdev->vpdev); in _mic_start()
493 rc = mdev->ops->load_mic_fw(mdev, NULL); in _mic_start()
496 mic_smpt_restore(mdev); in _mic_start()
497 mic_intr_restore(mdev); in _mic_start()
498 mdev->intr_ops->enable_interrupts(mdev); in _mic_start()
499 mdev->ops->write_spad(mdev, MIC_DPLO_SPAD, mdev->dp_dma_addr); in _mic_start()
500 mdev->ops->write_spad(mdev, MIC_DPHI_SPAD, mdev->dp_dma_addr >> 32); in _mic_start()
501 mdev->ops->send_firmware_intr(mdev); in _mic_start()
504 vop_unregister_device(mdev->vpdev); in _mic_start()
506 scif_unregister_device(mdev->scdev); in _mic_start()
508 mic_free_dma_chans(mdev); in _mic_start()
510 mbus_unregister_device(mdev->dma_mbdev); in _mic_start()
524 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_stop() local
531 vop_unregister_device(mdev->vpdev); in _mic_stop()
532 scif_unregister_device(mdev->scdev); in _mic_stop()
533 mic_free_dma_chans(mdev); in _mic_stop()
534 mbus_unregister_device(mdev->dma_mbdev); in _mic_stop()
535 mic_bootparam_init(mdev); in _mic_stop()
540 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_family() local
543 return scnprintf(buf, PAGE_SIZE, "%s\n", family[mdev->family]); in _mic_family()
548 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_stepping() local
551 switch (mdev->stepping) { in _mic_stepping()
572 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_aper() local
574 return &mdev->aper; in _mic_aper()