lkml.org 
[lkml]   [2021]   [Mar]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2 00/13] Driver of Intel(R) Gaussian & Neural Accelerator
    On Wed, Mar 24, 2021 at 8:38 PM Maciej Kwapulinski
    <maciej.kwapulinski@linux.intel.com> wrote:
    >
    > Dear kernel maintainers,
    >
    > This submission is a kernel driver to support Intel(R) Gaussian & Neural
    > Accelerator (Intel(R) GNA). Intel(R) GNA is a PCI-based neural co-processor
    > available on multiple Intel platforms. AI developers and users can offload
    > continuous inference workloads to an Intel(R) GNA device in order to free
    > processor resources and save power. Noise reduction and speech recognition
    > are the examples of the workloads Intel(R) GNA deals with while its usage
    > is not limited to the two.
    >
    > For a list of processors equipped with Intel(R) GNA device, please refer to
    > this link:
    > https://docs.openvinotoolkit.org/latest/openvino_docs_IE_DG_supported_plugins_GNA.html
    >
    > We think contributing this driver to the upstream kernel project is the
    > best way for developers and users to get the latest Intel(R) GNA support in
    > a Linux kernel, through the mainline to any Linux distributions installed
    > on their systems. Upstreaming also enables contribution from developers
    > around the world to the driver once it is merged.
    >
    > The driver works with Intel(R) libraries in user space. The Intel(R) driver
    > exposes a few IOCTL interfaces for use by libraries in user space. The
    > libraries are open sourced and are available at:
    > https://github.com/intel/gna
    >
    > ---
    >
    > Changelogs:
    >
    > v1->v2:
    > - driver's new layout:
    > - driver name: gna -> intel_gna
    > - module name: gna -> intel_gna

    > - device file name: /dev/gnaN -> /dev/intel_gnaN

    Not sure we need this, but if Greg asked for that (I haven't followed)
    than it's okay.

    > - driver's source directory: drivers/misc/gna/ -> drivers/misc/intel/gna/
    > - UAPI: include/uapi/misc/gna.h -> include/uapi/misc/intel/gna.h
    > - DOC: Documentation/misc-devices/gna.rst ->
    > Documentation/misc-devices/intel/gna.rst
    > - 'MISC' device framework used
    > - fixes throughout GNA device's PCI management
    > - header files' includes and forward declarations cleanup
    > - ISR made static
    > - unused comments cleanup
    > - "_priv_" segment removed from function names

    > - tested: v5.11-rc3 -> v5.11

    We are at v5.12-rc4. The rule of thumb is latest rc or release +
    subsystem tree against which the driver is created.

    > - number of other/minor fixes
    >
    > ---
    >
    > Maciej Kwapulinski (1):
    > intel_gna: add a 'misc' device
    >
    > Tomasz Jankowski (12):
    > intel_gna: add driver module
    > intel_gna: add component of hardware operation
    > intel_gna: read hardware info in the driver
    > intel_gna: add memory handling
    > intel_gna: initialize mmu
    > intel_gna: add hardware ids
    > intel_gna: add request component
    > intel_gna: implement scoring
    > intel_gna: add a work queue to process scoring requests
    > intel_gna: add interrupt handler
    > intel_gna: add ioctl handler
    > intel_gna: add file operations to a 'misc' device
    >
    > Documentation/misc-devices/index.rst | 1 +
    > Documentation/misc-devices/intel/gna.rst | 48 ++
    > .../userspace-api/ioctl/ioctl-number.rst | 1 +
    > MAINTAINERS | 7 +
    > drivers/misc/Kconfig | 1 +
    > drivers/misc/Makefile | 1 +
    > drivers/misc/intel/gna/Kbuild | 5 +
    > drivers/misc/intel/gna/Kconfig | 13 +
    > drivers/misc/intel/gna/gna_device.c | 429 ++++++++++++++++
    > drivers/misc/intel/gna/gna_device.h | 89 ++++
    > drivers/misc/intel/gna/gna_driver.c | 43 ++
    > drivers/misc/intel/gna/gna_driver.h | 33 ++
    > drivers/misc/intel/gna/gna_hw.c | 125 +++++
    > drivers/misc/intel/gna/gna_hw.h | 61 +++
    > drivers/misc/intel/gna/gna_ioctl.c | 249 +++++++++
    > drivers/misc/intel/gna/gna_ioctl.h | 11 +
    > drivers/misc/intel/gna/gna_mem.c | 473 ++++++++++++++++++
    > drivers/misc/intel/gna/gna_mem.h | 107 ++++
    > drivers/misc/intel/gna/gna_request.c | 463 +++++++++++++++++
    > drivers/misc/intel/gna/gna_request.h | 62 +++
    > drivers/misc/intel/gna/gna_score.c | 298 +++++++++++
    > drivers/misc/intel/gna/gna_score.h | 18 +
    > include/uapi/misc/intel/gna.h | 155 ++++++
    > 23 files changed, 2693 insertions(+)
    > create mode 100644 Documentation/misc-devices/intel/gna.rst
    > create mode 100644 drivers/misc/intel/gna/Kbuild
    > create mode 100644 drivers/misc/intel/gna/Kconfig
    > create mode 100644 drivers/misc/intel/gna/gna_device.c
    > create mode 100644 drivers/misc/intel/gna/gna_device.h
    > create mode 100644 drivers/misc/intel/gna/gna_driver.c
    > create mode 100644 drivers/misc/intel/gna/gna_driver.h
    > create mode 100644 drivers/misc/intel/gna/gna_hw.c
    > create mode 100644 drivers/misc/intel/gna/gna_hw.h
    > create mode 100644 drivers/misc/intel/gna/gna_ioctl.c
    > create mode 100644 drivers/misc/intel/gna/gna_ioctl.h
    > create mode 100644 drivers/misc/intel/gna/gna_mem.c
    > create mode 100644 drivers/misc/intel/gna/gna_mem.h
    > create mode 100644 drivers/misc/intel/gna/gna_request.c
    > create mode 100644 drivers/misc/intel/gna/gna_request.h
    > create mode 100644 drivers/misc/intel/gna/gna_score.c
    > create mode 100644 drivers/misc/intel/gna/gna_score.h
    > create mode 100644 include/uapi/misc/intel/gna.h
    >
    > --
    > 2.28.0
    >


    --
    With Best Regards,
    Andy Shevchenko

    \
     
     \ /
      Last update: 2021-03-24 20:16    [W:3.657 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site