Re: [PATCH char-misc-next v2 0/8] Enable dma driver for MIC X100 Coprocessors

From: Sudeep Dutt
Date: Mon Jun 16 2014 - 12:05:33 EST


On Thu, 2014-05-29 at 14:23 -0700, Sudeep Dutt wrote:
> ChangeLog:
> =========
> v1 => v2:
> a) MIC bus driver cleanups and device release callback fix in patch 2,
> as per feedback from Greg Kroah-Hartman.
>
> v1: Initial post @ https://lkml.org/lkml/2014/5/27/819
>

Hi Greg/Dan,

We have addressed the feedback received so far. Please take a look at
this patch series.

Thanks,
Sudeep Dutt

> These patches are being sent to char-misc because there is a dependency
> between the patches for dma driver and other drivers.
>
> Description:
> ============
> This set of patches add support for MIC X100 dma driver.
> MIC PCIe card has a dma controller with 8 channels. These channels are
> shared between the host s/w and the card s/w. 0 to 3 are used by host
> nd 4 to 7 by card. As the dma device doesn't show up as PCIe device,
> a virtual bus called mic bus is created and virtual dma devices are
> created on it by the host/card drivers. On host the channels are private
> and used only by the host driver to transfer data for the virtio devices.
>
> Here is a higher level block diagram.
> |
> +----------+ | +----------+
> | Card OS | | | Host OS |
> +----------+ | +----------+
> |
> +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
> | Virtio| |Virtio | |Virtio| | |Virtio | |Virtio | |Virtio |
> | Net | |Console | |Block | | |Net | |Console | |Block |
> | Driver| |Driver | |Driver| | |backend | |backend | |backend |
> +-------+ +--------+ +------+ | +---------+ +--------+ +--------+
> | | | | | | |
> | | | |User | | |
> | | | |------|------------|---------|-------
> +-------------------+ |Kernel +--------------------------+
> | | | Virtio over PCIe IOCTLs |
> | | +--------------------------+
> +-----------+ | | | +-----------+
> | MIC DMA | | | | | MIC DMA |
> | Driver | | | | | Driver |
> +-----------+ | | | +-----------+
> | | | | |
> +---------------+ | | | +----------------+
> |MIC virtual Bus| | | | |MIC virtual Bus |
> +---------------+ | | | +----------------+
> | | | | |
> | +--------------+ | +---------------+ |
> | |Intel MIC | | |Intel MIC | |
> +---|Card Driver | | |Host Driver | |
> +--------------+ | +---------------+-----+
> | | |
> +-------------------------------------------------------------+
> | |
> | PCIe Bus |
> +-------------------------------------------------------------+
>
> The following series of patches are partitioned as follows:
>
> Patch 1: Add mic bus and dma driver documentation.
> Author: Siva Yerramreddy
> Patch 2: Add a bus driver for virtual MIC devices.
> Authors: Siva Yerramreddy, Sudeep Dutt
> Patch 3: MIC X100 DMA Driver.
> Author: Siva Yerramreddy
> Patch 4: Add threaded irq support in host driver.
> This is needed as the dma driver uses threaded irq.
> Author: Siva Yerramreddy
> Patch 5: Use dma to transfer data between MIC and host.
> Authors: Siva Yerramreddy, Ashutosh Dixit
> Patch 6: Add threaded irq support in mic_request_card_irq.
> This is needed as the dma driver uses threaded irq.
> Author: Siva Yerramreddy
> Patch 7: Add dma device on mic bus.
> Author: Siva Yerramreddy
> Patch 8: Modify the mpss script to load/unload mic_x100_dma.ko.
> Author: Siva Yerramreddy
>
> The patches have been compiled/validated against v3.15-rc3. Tested using
> dmatest module with module parameter "threads_per_chan=60". These patches
> have also been scanned by Fengguang Wu's 0-day infrastructure and no
> issues have been reported.
>
> Thanks to Dan Williams, Vinod Koul, Jon Mason, Dave Jiang for the initial
> review.
>
> Siva Yerramreddy (7):
> misc: mic: Add mic bus and dma driver documentation
> dma: MIC X100 DMA Driver
> misc: mic: add threaded irq support in host driver
> misc: mic: add dma support in host driver
> misc: mic: add threaded irq support in card driver
> misc: mic: add dma support in card driver
> misc: mic: add support for loading/unloading dma driver
>
> Sudeep Dutt (1):
> misc: mic: add a bus driver for virtual MIC devices
>
> Documentation/mic/mic_overview.txt | 67 ++--
> Documentation/mic/mpssd/mpss | 14 +-
> drivers/dma/Kconfig | 19 +
> drivers/dma/Makefile | 1 +
> drivers/dma/mic_x100_dma.c | 774 +++++++++++++++++++++++++++++++++++++
> drivers/dma/mic_x100_dma.h | 286 ++++++++++++++
> drivers/misc/mic/Kconfig | 21 +-
> drivers/misc/mic/Makefile | 1 +
> drivers/misc/mic/bus/Makefile | 5 +
> drivers/misc/mic/bus/mic_bus.c | 219 +++++++++++
> drivers/misc/mic/card/mic_device.c | 23 +-
> drivers/misc/mic/card/mic_device.h | 9 +-
> drivers/misc/mic/card/mic_virtio.c | 7 +-
> drivers/misc/mic/card/mic_x100.c | 55 ++-
> drivers/misc/mic/host/mic_boot.c | 83 +++-
> drivers/misc/mic/host/mic_device.h | 24 ++
> drivers/misc/mic/host/mic_intr.c | 121 +++---
> drivers/misc/mic/host/mic_intr.h | 27 +-
> drivers/misc/mic/host/mic_main.c | 5 +-
> drivers/misc/mic/host/mic_virtio.c | 187 +++++++--
> drivers/misc/mic/host/mic_virtio.h | 21 +-
> drivers/misc/mic/host/mic_x100.c | 8 +
> include/linux/mic_bus.h | 112 ++++++
> 23 files changed, 1938 insertions(+), 151 deletions(-)
> create mode 100644 drivers/dma/mic_x100_dma.c
> create mode 100644 drivers/dma/mic_x100_dma.h
> create mode 100644 drivers/misc/mic/bus/Makefile
> create mode 100644 drivers/misc/mic/bus/mic_bus.c
> create mode 100644 include/linux/mic_bus.h
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/