mic_dma_dev 532 drivers/dma/mic_x100_dma.c static int mic_dma_init(struct mic_dma_device *mic_dma_dev, mic_dma_dev 535 drivers/dma/mic_x100_dma.c int i, first_chan = mic_dma_dev->start_ch; mic_dma_dev 540 drivers/dma/mic_x100_dma.c ch = &mic_dma_dev->mic_ch[i]; mic_dma_dev 557 drivers/dma/mic_x100_dma.c static void mic_dma_uninit(struct mic_dma_device *mic_dma_dev) mic_dma_dev 559 drivers/dma/mic_x100_dma.c int i, first_chan = mic_dma_dev->start_ch; mic_dma_dev 563 drivers/dma/mic_x100_dma.c ch = &mic_dma_dev->mic_ch[i]; mic_dma_dev 584 drivers/dma/mic_x100_dma.c static int mic_dma_register_dma_device(struct mic_dma_device *mic_dma_dev, mic_dma_dev 587 drivers/dma/mic_x100_dma.c int i, first_chan = mic_dma_dev->start_ch; mic_dma_dev 589 drivers/dma/mic_x100_dma.c dma_cap_zero(mic_dma_dev->dma_dev.cap_mask); mic_dma_dev 594 drivers/dma/mic_x100_dma.c dma_cap_set(DMA_MEMCPY, mic_dma_dev->dma_dev.cap_mask); mic_dma_dev 597 drivers/dma/mic_x100_dma.c dma_cap_set(DMA_PRIVATE, mic_dma_dev->dma_dev.cap_mask); mic_dma_dev 598 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.device_alloc_chan_resources = mic_dma_dev 600 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.device_free_chan_resources = mic_dma_dev 602 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.device_tx_status = mic_dma_tx_status; mic_dma_dev 603 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.device_prep_dma_memcpy = mic_dma_prep_memcpy_lock; mic_dma_dev 604 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.device_prep_dma_imm_data = mic_dma_dev 606 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.device_prep_dma_interrupt = mic_dma_dev 608 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.device_issue_pending = mic_dma_issue_pending; mic_dma_dev 609 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.copy_align = MIC_DMA_ALIGN_SHIFT; mic_dma_dev 610 drivers/dma/mic_x100_dma.c INIT_LIST_HEAD(&mic_dma_dev->dma_dev.channels); mic_dma_dev 612 drivers/dma/mic_x100_dma.c mic_dma_dev->mic_ch[i].api_ch.device = &mic_dma_dev->dma_dev; mic_dma_dev 613 drivers/dma/mic_x100_dma.c dma_cookie_init(&mic_dma_dev->mic_ch[i].api_ch); mic_dma_dev 614 drivers/dma/mic_x100_dma.c list_add_tail(&mic_dma_dev->mic_ch[i].api_ch.device_node, mic_dma_dev 615 drivers/dma/mic_x100_dma.c &mic_dma_dev->dma_dev.channels); mic_dma_dev 617 drivers/dma/mic_x100_dma.c return dmaenginem_async_device_register(&mic_dma_dev->dma_dev); mic_dma_dev 627 drivers/dma/mic_x100_dma.c struct mic_dma_device *mic_dma_dev; mic_dma_dev 631 drivers/dma/mic_x100_dma.c mic_dma_dev = devm_kzalloc(dev, sizeof(*mic_dma_dev), GFP_KERNEL); mic_dma_dev 632 drivers/dma/mic_x100_dma.c if (!mic_dma_dev) { mic_dma_dev 636 drivers/dma/mic_x100_dma.c mic_dma_dev->mbdev = mbdev; mic_dma_dev 637 drivers/dma/mic_x100_dma.c mic_dma_dev->dma_dev.dev = dev; mic_dma_dev 638 drivers/dma/mic_x100_dma.c mic_dma_dev->mmio = mbdev->mmio_va; mic_dma_dev 640 drivers/dma/mic_x100_dma.c mic_dma_dev->start_ch = 0; mic_dma_dev 641 drivers/dma/mic_x100_dma.c mic_dma_dev->max_xfer_size = MIC_DMA_MAX_XFER_SIZE_HOST; mic_dma_dev 643 drivers/dma/mic_x100_dma.c mic_dma_dev->start_ch = 4; mic_dma_dev 644 drivers/dma/mic_x100_dma.c mic_dma_dev->max_xfer_size = MIC_DMA_MAX_XFER_SIZE_CARD; mic_dma_dev 646 drivers/dma/mic_x100_dma.c ret = mic_dma_init(mic_dma_dev, owner); mic_dma_dev 649 drivers/dma/mic_x100_dma.c ret = mic_dma_register_dma_device(mic_dma_dev, owner); mic_dma_dev 652 drivers/dma/mic_x100_dma.c return mic_dma_dev; mic_dma_dev 654 drivers/dma/mic_x100_dma.c mic_dma_uninit(mic_dma_dev); mic_dma_dev 656 drivers/dma/mic_x100_dma.c mic_dma_dev = NULL; mic_dma_dev 659 drivers/dma/mic_x100_dma.c return mic_dma_dev; mic_dma_dev 662 drivers/dma/mic_x100_dma.c static void mic_dma_dev_unreg(struct mic_dma_device *mic_dma_dev) mic_dma_dev 664 drivers/dma/mic_x100_dma.c mic_dma_uninit(mic_dma_dev); mic_dma_dev 670 drivers/dma/mic_x100_dma.c struct mic_dma_device *mic_dma_dev = s->private; mic_dma_dev 671 drivers/dma/mic_x100_dma.c int i, chan_num, first_chan = mic_dma_dev->start_ch; mic_dma_dev 675 drivers/dma/mic_x100_dma.c mic_dma_mmio_read(&mic_dma_dev->mic_ch[first_chan], mic_dma_dev 682 drivers/dma/mic_x100_dma.c ch = &mic_dma_dev->mic_ch[i]; mic_dma_dev 706 drivers/dma/mic_x100_dma.c struct mic_dma_device *mic_dma_dev; mic_dma_dev 714 drivers/dma/mic_x100_dma.c mic_dma_dev = mic_dma_dev_reg(mbdev, owner); mic_dma_dev 715 drivers/dma/mic_x100_dma.c dev_set_drvdata(&mbdev->dev, mic_dma_dev); mic_dma_dev 718 drivers/dma/mic_x100_dma.c mic_dma_dev->dbg_dir = debugfs_create_dir(dev_name(&mbdev->dev), mic_dma_dev 720 drivers/dma/mic_x100_dma.c debugfs_create_file("mic_dma_reg", 0444, mic_dma_dev->dbg_dir, mic_dma_dev 721 drivers/dma/mic_x100_dma.c mic_dma_dev, &mic_dma_reg_fops); mic_dma_dev 728 drivers/dma/mic_x100_dma.c struct mic_dma_device *mic_dma_dev; mic_dma_dev 730 drivers/dma/mic_x100_dma.c mic_dma_dev = dev_get_drvdata(&mbdev->dev); mic_dma_dev 731 drivers/dma/mic_x100_dma.c debugfs_remove_recursive(mic_dma_dev->dbg_dir); mic_dma_dev 732 drivers/dma/mic_x100_dma.c mic_dma_dev_unreg(mic_dma_dev);