Lines Matching refs:mdev

43 	struct mic_device *mdev = scdev_to_mdev(scdev);  in __mic_dma_alloc()  local
48 tmp = mic_map_single(mdev, va, size); in __mic_dma_alloc()
63 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_free() local
65 mic_unmap_single(mdev, dma_handle, size); in __mic_dma_free()
76 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_map_page() local
78 return mic_map_single(mdev, va, size); in __mic_dma_map_page()
87 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_unmap_page() local
89 mic_unmap_single(mdev, dma_addr, size); in __mic_dma_unmap_page()
97 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_map_sg() local
102 ret = dma_map_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_map_sg()
107 da = mic_map(mdev, sg_dma_address(s) + s->offset, s->length); in __mic_dma_map_sg()
115 mic_unmap(mdev, sg_dma_address(s), s->length); in __mic_dma_map_sg()
116 sg_dma_address(s) = mic_to_dma_addr(mdev, sg_dma_address(s)); in __mic_dma_map_sg()
118 dma_unmap_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_map_sg()
128 struct mic_device *mdev = scdev_to_mdev(scdev); in __mic_dma_unmap_sg() local
134 da = mic_to_dma_addr(mdev, sg_dma_address(s)); in __mic_dma_unmap_sg()
135 mic_unmap(mdev, sg_dma_address(s), s->length); in __mic_dma_unmap_sg()
138 dma_unmap_sg(&mdev->pdev->dev, sg, nents, dir); in __mic_dma_unmap_sg()
156 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_request_irq() local
158 return mic_request_threaded_irq(mdev, func, NULL, name, data, in ___mic_request_irq()
166 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_free_irq() local
168 return mic_free_irq(mdev, cookie, data); in ___mic_free_irq()
173 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_ack_interrupt() local
175 mdev->ops->intr_workarounds(mdev); in ___mic_ack_interrupt()
180 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_next_db() local
182 return mic_next_db(mdev); in ___mic_next_db()
187 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_send_intr() local
189 mdev->ops->send_intr(mdev, db); in ___mic_send_intr()
195 struct mic_device *mdev = scdev_to_mdev(scdev); in ___mic_ioremap() local
197 return mdev->aper.va + pa; in ___mic_ioremap()
226 struct mic_device *mdev = dev_get_drvdata(dev->parent); in mic_dma_map_page() local
228 return mic_map_single(mdev, va, size); in mic_dma_map_page()
236 struct mic_device *mdev = dev_get_drvdata(dev->parent); in mic_dma_unmap_page() local
237 mic_unmap_single(mdev, dma_addr, size); in mic_dma_unmap_page()
263 struct mic_device *mdev = mbdev_to_mdev(mbdev); in _mic_ack_interrupt() local
264 mdev->ops->intr_workarounds(mdev); in _mic_ack_interrupt()
274 void mic_bootparam_init(struct mic_device *mdev) in mic_bootparam_init() argument
276 struct mic_bootparam *bootparam = mdev->dp; in mic_bootparam_init()
280 bootparam->node_id = mdev->id + 1; in mic_bootparam_init()
294 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_reset() local
296 mdev->ops->reset_fw_ready(mdev); in _mic_reset()
297 mdev->ops->reset(mdev); in _mic_reset()
302 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_ready() local
304 return mdev->ops->is_fw_ready(mdev); in _mic_ready()
313 static int mic_request_dma_chans(struct mic_device *mdev) in mic_request_dma_chans() argument
323 chan = dma_request_channel(mask, mdev->ops->dma_filter, in mic_request_dma_chans()
324 &mdev->pdev->dev); in mic_request_dma_chans()
326 mdev->dma_ch[mdev->num_dma_ch++] = chan; in mic_request_dma_chans()
327 if (mdev->num_dma_ch >= MIC_MAX_DMA_CHAN) in mic_request_dma_chans()
331 dev_info(&mdev->pdev->dev, "DMA channels # %d\n", mdev->num_dma_ch); in mic_request_dma_chans()
332 return mdev->num_dma_ch; in mic_request_dma_chans()
341 static void mic_free_dma_chans(struct mic_device *mdev) in mic_free_dma_chans() argument
345 for (i = 0; i < mdev->num_dma_ch; i++) { in mic_free_dma_chans()
346 dma_release_channel(mdev->dma_ch[i]); in mic_free_dma_chans()
347 mdev->dma_ch[i] = NULL; in mic_free_dma_chans()
349 mdev->num_dma_ch = 0; in mic_free_dma_chans()
364 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_start() local
367 mic_bootparam_init(mdev); in _mic_start()
368 mdev->dma_mbdev = mbus_register_device(&mdev->pdev->dev, in _mic_start()
370 &mbus_hw_ops, id, mdev->mmio.va); in _mic_start()
371 if (IS_ERR(mdev->dma_mbdev)) { in _mic_start()
372 rc = PTR_ERR(mdev->dma_mbdev); in _mic_start()
375 if (!mic_request_dma_chans(mdev)) { in _mic_start()
379 mdev->scdev = scif_register_device(&mdev->pdev->dev, MIC_SCIF_DEV, in _mic_start()
381 id + 1, 0, &mdev->mmio, in _mic_start()
382 &mdev->aper, mdev->dp, NULL, in _mic_start()
383 mdev->dma_ch, mdev->num_dma_ch, in _mic_start()
385 if (IS_ERR(mdev->scdev)) { in _mic_start()
386 rc = PTR_ERR(mdev->scdev); in _mic_start()
390 rc = mdev->ops->load_mic_fw(mdev, NULL); in _mic_start()
393 mic_smpt_restore(mdev); in _mic_start()
394 mic_intr_restore(mdev); in _mic_start()
395 mdev->intr_ops->enable_interrupts(mdev); in _mic_start()
396 mdev->ops->write_spad(mdev, MIC_DPLO_SPAD, mdev->dp_dma_addr); in _mic_start()
397 mdev->ops->write_spad(mdev, MIC_DPHI_SPAD, mdev->dp_dma_addr >> 32); in _mic_start()
398 mdev->ops->send_firmware_intr(mdev); in _mic_start()
401 scif_unregister_device(mdev->scdev); in _mic_start()
403 mic_free_dma_chans(mdev); in _mic_start()
405 mbus_unregister_device(mdev->dma_mbdev); in _mic_start()
419 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_stop() local
426 mic_virtio_reset_devices(mdev); in _mic_stop()
427 scif_unregister_device(mdev->scdev); in _mic_stop()
428 mic_free_dma_chans(mdev); in _mic_stop()
429 mbus_unregister_device(mdev->dma_mbdev); in _mic_stop()
430 mic_bootparam_init(mdev); in _mic_stop()
435 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_family() local
438 return scnprintf(buf, PAGE_SIZE, "%s\n", family[mdev->family]); in _mic_family()
443 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_stepping() local
446 switch (mdev->stepping) { in _mic_stepping()
467 struct mic_device *mdev = cosmdev_to_mdev(cdev); in _mic_aper() local
469 return &mdev->aper; in _mic_aper()