[PATCH v2 0/3] rapidio: changes to enumeration/discovery

Alexandre Bounine alexandre.bounine at idt.com
Wed May 1 07:25:52 EST 2013


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.

Changes since v1:
	(1) Addressed comments made by Andrew Morton for v1:
	  - reworked enumeration/discovery module initialization
	  - added locking for list of mport devices
	  - made mport list static
	  - removed CONFIG_RAPIDIO_ENUM_AUTO option: not needed with new
	    module initialization
	  - added default value for "Enumeration method" choice in Kconfig

Cc: Matt Porter <mporter at kernel.crashing.org>
Cc: Li Yang <leoli at freescale.com>
Cc: Kumar Gala <galak at kernel.crashing.org>
Cc: Andre van Herk <andre.van.herk at Prodrive.nl>
Cc: Micha Nelissen <micha.nelissen at Prodrive.nl>

Alexandre Bounine (3):
  rapidio: make enumeration/discovery configurable
  rapidio: add enumeration/discovery start from user space
  rapidio: documentation update for enumeration changes

 Documentation/rapidio/rapidio.txt |  128 ++++++++++++++++++--
 Documentation/rapidio/sysfs.txt   |   17 +++
 drivers/rapidio/Kconfig           |   20 +++
 drivers/rapidio/Makefile          |    3 +-
 drivers/rapidio/rio-driver.c      |    8 ++
 drivers/rapidio/rio-scan.c        |  190 +++++++++-------------------
 drivers/rapidio/rio-sysfs.c       |   45 +++++++
 drivers/rapidio/rio.c             |  246 +++++++++++++++++++++++++++++++++++-
 drivers/rapidio/rio.h             |   13 ++-
 include/linux/rio.h               |   18 +++-
 include/linux/rio_drv.h           |    1 +
 11 files changed, 536 insertions(+), 153 deletions(-)

-- 
1.7.8.4



More information about the Linuxppc-dev mailing list