staging: fsl-mc/dpio: Add dpaa2_io_service_select() API
authorIoana Radulescu <ruxandra.radulescu@nxp.com>
Fri, 5 Jan 2018 11:04:31 +0000 (05:04 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Jan 2018 15:47:23 +0000 (16:47 +0100)
commit1f4953836a53b34b8156df0bba2772bb977a9187
tree9f5b43f96bfb71f7a4b079230e9eeaad897332c3
parentbeac4303532f82ce54a22d3f0fd07808a1736736
staging: fsl-mc/dpio: Add dpaa2_io_service_select() API

All DPIO service API functions receive a dpaa2_io service pointer
as parameter (NULL meaning any service will do) which indicates
the hardware resource to be used to execute the specified command.

There isn't however any available API for obtaining such a service
reference that could be used further, effectively forcing the users
to always request a random service for DPIO operations.
(The DPIO driver holds internally an array mapping services to cpus,
and affine services can be indirectly requested by a couple of API
functions: dpaa2_io_service_register and dpaa2_io_service_rearm
use the cpu id provided by the user to select the corresponding
service)

This patch adds a function for selecting a DPIO service based on
the specified cpu id. If the user provides a "don't care" value
for the cpu, we revert to the default behavior and return the next
DPIO, taken in a round-robin fashion from a list of available
services.

Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com>
Acked-by: Roy Pledge <roy.pledge@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/fsl-mc/bus/dpio/dpio-service.c
drivers/staging/fsl-mc/include/dpaa2-io.h