From: Sudeep Dutt <sudeep.dutt@intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Dan Williams <dan.j.williams@intel.com>
Cc: Siva Yerramreddy <yshivakrishna@gmail.com>,
Ashutosh Dixit <ashutosh.dixit@intel.com>,
Nikhil Rao <nikhil.rao@intel.com>,
Sudeep Dutt <sudeep.dutt@intel.com>,
linux-kernel@vger.kernel.org, dmaengine@vger.kernel.org
Subject: [PATCH char-misc-next v2 0/8] Enable dma driver for MIC X100 Coprocessors
Date: Thu, 29 May 2014 14:23:57 -0700 [thread overview]
Message-ID: <cover.1401397315.git.sudeep.dutt@intel.com> (raw)
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
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
--
1.8.2.1
next reply other threads:[~2014-05-29 21:24 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-29 21:23 Sudeep Dutt [this message]
2014-05-29 21:23 ` [PATCH char-misc-next v2 1/8] misc: mic: Add mic bus and dma driver documentation Sudeep Dutt
2014-05-29 21:23 ` [PATCH char-misc-next v2 2/8] misc: mic: add a bus driver for virtual MIC devices Sudeep Dutt
2014-07-10 0:42 ` Greg Kroah-Hartman
2014-07-10 16:43 ` Sudeep Dutt
2014-05-29 21:24 ` [PATCH char-misc-next v2 3/8] dma: MIC X100 DMA Driver Sudeep Dutt
2014-07-10 0:42 ` Greg Kroah-Hartman
2014-05-29 21:24 ` [PATCH char-misc-next v2 4/8] misc: mic: add threaded irq support in host driver Sudeep Dutt
2014-05-29 21:24 ` [PATCH char-misc-next v2 5/8] misc: mic: add dma " Sudeep Dutt
2014-05-29 21:24 ` [PATCH char-misc-next v2 6/8] misc: mic: add threaded irq support in card driver Sudeep Dutt
2014-05-29 21:24 ` [PATCH char-misc-next v2 7/8] misc: mic: add dma " Sudeep Dutt
2014-05-29 21:24 ` [PATCH char-misc-next v2 8/8] misc: mic: add support for loading/unloading dma driver Sudeep Dutt
2014-06-16 15:58 ` [PATCH char-misc-next v2 0/8] Enable dma driver for MIC X100 Coprocessors Sudeep Dutt
2014-06-30 15:33 ` Sudeep Dutt
2014-06-30 16:27 ` Greg Kroah-Hartman
2014-06-30 19:04 ` Sudeep Dutt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1401397315.git.sudeep.dutt@intel.com \
--to=sudeep.dutt@intel.com \
--cc=ashutosh.dixit@intel.com \
--cc=dan.j.williams@intel.com \
--cc=dmaengine@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nikhil.rao@intel.com \
--cc=yshivakrishna@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).