23 Mar, 2016

4 commits

  • Add RapidIO controller (mport) outbound window configuration operations.

    This patch is a part of the original patch submitted by Li Yang:

    https://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/071210.html

    For some reason the original part was not applied to mainline code
    tree. The inbound window mapping part has been applied later during
    tsi721 mport driver submission. Now goes the second part with
    corresponding HW support.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Aurelien Jacquiot
    Cc: Andre van Herk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Add new Port Write handler registration interfaces that attach PW
    handlers to local mport device objects. This is different from old
    interface that attaches PW callback to individual RapidIO device. The
    new interfaces are intended for use for common event handling (e.g.
    hot-plug notifications) while the old interface is available for
    individual device drivers.

    This patch is based on patch proposed by Andre van Herk but preserves
    existing per-device interface and adds lock protection for list
    handling.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Aurelien Jacquiot
    Cc: Andre van Herk
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Make rio_pw_enable() routine available to other RapidIO drivers.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Aurelien Jacquiot
    Cc: Andre van Herk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Make function rio_local_set_device_id() common for all components of
    RapidIO subsystem.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Aurelien Jacquiot
    Cc: Andre van Herk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

09 Aug, 2014

1 commit

  • Add RapidIO DMA interface routines that directly use reference to the mport
    device object and/or target device destination ID as parameters.
    This allows to perform RapidIO DMA transfer requests by modules that do not
    have an access to the RapidIO device list.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Andre van Herk
    Cc: Stef van Os
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

25 May, 2013

1 commit

  • Systems that use RapidIO fabric may need to implement their own
    enumeration and discovery methods which are better suitable for needs of
    a target application.

    The following set of patches is intended to simplify process of
    introduction of new RapidIO fabric enumeration/discovery methods.

    The first patch offers ability to add new RapidIO enumeration/discovery
    methods using kernel configuration options. This new configuration
    option mechanism allows to select statically linked or modular
    enumeration/discovery method(s) from the list of existing methods or use
    external module(s).

    This patch also updates the currently existing enumeration/discovery
    code to be used as a statically linked or modular method.

    The corresponding configuration option is named "Basic
    enumeration/discovery" method. This is the only one configuration
    option available today but new methods are expected to be introduced
    after adoption of provided patches.

    The second patch address a long time complaint of RapidIO subsystem
    users regarding fabric enumeration/discovery start sequence. Existing
    implementation offers only a boot-time enumeration/discovery start which
    requires synchronized boot of all endpoints in RapidIO network. While
    it works for small closed configurations with limited number of
    endpoints, using this approach in systems with large number of endpoints
    is quite challenging.

    To eliminate requirement for synchronized start the second patch
    introduces RapidIO enumeration/discovery start from user space.

    For compatibility with the existing RapidIO subsystem implementation,
    automatic boot time enumeration/discovery start can be configured in by
    specifying "rio-scan.scan=1" command line parameter if statically linked
    basic enumeration method is selected.

    This patch:

    Rework to implement RapidIO enumeration/discovery method selection
    combined with ability to use enumeration/discovery as a kernel module.

    This patch adds ability to introduce new RapidIO enumeration/discovery
    methods using kernel configuration options. Configuration option
    mechanism allows to select statically linked or modular
    enumeration/discovery method from the list of existing methods or use
    external modules. If a modular enumeration/discovery is selected each
    RapidIO mport device can have its own method attached to it.

    The existing enumeration/discovery code was updated to be used as
    statically linked or modular method. This configuration option is named
    "Basic enumeration/discovery" method.

    Several common routines have been moved from rio-scan.c to make them
    available to other enumeration methods and reduce number of exported
    symbols.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

06 Oct, 2012

1 commit

  • Add common inbound memory mapping/unmapping interface. This allows to make
    local memory space accessible from the RapidIO side using hardware mapping
    capabilities of RapidIO bridging devices. The new interface is intended to
    enable data transfers between RapidIO devices in combination with DMA engine
    support.

    This patch is based on patch submitted by Li Yang
    (https://lists.ozlabs.org/pipermail/linuxppc-dev/2009-April/071210.html)

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

01 Jun, 2012

1 commit

  • Adds DMA Engine framework support into RapidIO subsystem.

    Uses DMA Engine DMA_SLAVE interface to generate data transfers to/from
    remote RapidIO target devices.

    Introduces RapidIO-specific wrapper for prep_slave_sg() interface with an
    extra parameter to pass target specific information.

    Uses scatterlist to describe local data buffer. Address flat data buffer
    on a remote side.

    Signed-off-by: Alexandre Bounine
    Cc: Dan Williams
    Acked-by: Vinod Koul
    Cc: Li Yang
    Cc: Matt Porter
    Cc: Paul Gortmaker
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

16 Mar, 2012

1 commit

  • The header includes a lot of stuff, and
    it in turn gets a lot of use just for the basic "struct device"
    which appears so often.

    Clean up the users as follows:

    1) For those headers only needing "struct device" as a pointer
    in fcn args, replace the include with exactly that.

    2) For headers not really using anything from device.h, simply
    delete the include altogether.

    3) For headers relying on getting device.h implicitly before
    being included themselves, now explicitly include device.h

    4) For files in which doing #1 or #2 uncovers an implicit
    dependency on some other header, fix by explicitly adding
    the required header(s).

    Any C files that were implicitly relying on device.h to be
    present have already been dealt with in advance.

    Total removals from #1 and #2: 51. Total additions coming
    from #3: 9. Total other implicit dependencies from #4: 7.

    As of 3.3-rc1, there were 110, so a net removal of 42 gives
    about a 38% reduction in device.h presence in include/*

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

24 Mar, 2011

1 commit

  • This set of patches eliminates RapidIO dependency on PowerPC architecture
    and makes it available to other architectures (x86 and MIPS). It also
    enables support of new platform independent RapidIO controllers such as
    PCI-to-SRIO and PCI Express-to-SRIO.

    This patch:

    Extend number of mport callback functions to eliminate direct linking of
    architecture specific mport operations.

    Signed-off-by: Alexandre Bounine
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Thomas Moll
    Cc: Micha Nelissen
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

14 Jan, 2011

1 commit

  • Change code to use one storage location common for switches and endpoints.
    This eliminates unnecessary device type checks during basic access
    operations. Logic that assigns destid to RIO devices stays unchanged - as
    before, switches use an associated destid because they do not have their
    own.

    Signed-off-by: Alexandre Bounine
    Cc: Kumar Gala
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Thomas Moll
    Cc: Micha Nelissen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

28 May, 2010

1 commit

  • Add RapidIO Port-Write message handling in the context of Error
    Management Extensions Specification Rev.1.3.

    Signed-off-by: Alexandre Bounine
    Tested-by: Thomas Moll
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     

07 Jan, 2009

1 commit

  • Remove excess kernel-doc notation from rio header and driver:

    Warning(include/linux/rio_drv.h:399): Excess function parameter or struct member 'buffer' description in 'rio_get_inb_message'

    Signed-off-by: Randy Dunlap
    Cc: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

16 Dec, 2008

1 commit


30 Apr, 2008

1 commit


26 Apr, 2006

1 commit


11 Jan, 2006

1 commit


09 Jan, 2006

1 commit

  • Include fixes for 2.6.14-git11. Should allow to remove sched.h from
    module.h on i386, x86_64, arm, ia64, ppc, ppc64, and s390. Probably more
    to come since I haven't yet checked the other archs.

    Signed-off-by: Tim Schmielau
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tim Schmielau
     

07 Nov, 2005

2 commits