<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/drivers/staging/fsl-mc, branch v4.8</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>staging: fsl-mc: convert mc command build/parse to use C structs</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Ioana Radulescu</name>
<email>ruxandra.radulescu@nxp.com</email>
</author>
<published>2016-06-22T21:40:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=9989b59961a8ad55d92df4588b556f0c6c838ec7'/>
<id>9989b59961a8ad55d92df4588b556f0c6c838ec7</id>
<content type='text'>
The layer abstracting the building of commands and extracting
responses is currently based on macros that shift and mask the command
fields and requires exposing offset/size values as macro parameters
and makes the code harder to read.

For clarity and maintainability, instead use an implementation based on
mapping the MC command definitions to C structures. These structures
contain the hardware command fields (which are naturally-aligned)
and individual fields are little-endian ordering (the byte ordering
of the hardware).

As such, there is no need to perform the conversion between core and
hardware (LE) endianness in mc_send_command(), but instead each
individual field in a command will be converted separately if needed
by the function building the command or extracting the response.

This patch does not introduce functional changes, both the hardware
ABIs and the APIs exposed for the DPAA2 objects remain the same.

Signed-off-by: Ioana Radulescu &lt;ruxandra.radulescu@nxp.com&gt;
Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The layer abstracting the building of commands and extracting
responses is currently based on macros that shift and mask the command
fields and requires exposing offset/size values as macro parameters
and makes the code harder to read.

For clarity and maintainability, instead use an implementation based on
mapping the MC command definitions to C structures. These structures
contain the hardware command fields (which are naturally-aligned)
and individual fields are little-endian ordering (the byte ordering
of the hardware).

As such, there is no need to perform the conversion between core and
hardware (LE) endianness in mc_send_command(), but instead each
individual field in a command will be converted separately if needed
by the function building the command or extracting the response.

This patch does not introduce functional changes, both the hardware
ABIs and the APIs exposed for the DPAA2 objects remain the same.

Signed-off-by: Ioana Radulescu &lt;ruxandra.radulescu@nxp.com&gt;
Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: properly set hwirq in msi set_desc</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=adf72b5ba372ca9006f8cdcf9c0b902579f7da9f'/>
<id>adf72b5ba372ca9006f8cdcf9c0b902579f7da9f</id>
<content type='text'>
For an MSI domain the hwirq is an arbitrary but unique
id to identify an interrupt.  Previously the hwirq was set to
the MSI index of the interrupt, but that only works if there is
one DPRC.  Additional DPRCs require an expanded namespace.  Use
both the ICID (which is unique per DPRC) and the MSI index to
compose a hwirq value.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For an MSI domain the hwirq is an arbitrary but unique
id to identify an interrupt.  Previously the hwirq was set to
the MSI index of the interrupt, but that only works if there is
one DPRC.  Additional DPRCs require an expanded namespace.  Use
both the ICID (which is unique per DPRC) and the MSI index to
compose a hwirq value.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: dprc: fix ordering problem freeing resources in remove of dprc</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a137fc805838a444fa934bfd918eba30396f933c'/>
<id>a137fc805838a444fa934bfd918eba30396f933c</id>
<content type='text'>
When unbinding a dprc from the dprc driver the cleanup of
the resource pools must happen after irq pool cleanup
is done.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When unbinding a dprc from the dprc driver the cleanup of
the resource pools must happen after irq pool cleanup
is done.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: dprc: add missing irq free</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ae34934f9c8c504df6c0b412352e2850dcba495e'/>
<id>ae34934f9c8c504df6c0b412352e2850dcba495e</id>
<content type='text'>
add missing free of the Linux irq when tearing down interrupts

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
add missing free of the Linux irq when tearing down interrupts

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: fix asymmetry in destroy of mc_io</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Bharat Bhushan</name>
<email>Bharat.Bhushan@nxp.com</email>
</author>
<published>2016-06-22T21:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=f93627146f0e371093966ed3d44c065aa077cfb1'/>
<id>f93627146f0e371093966ed3d44c065aa077cfb1</id>
<content type='text'>
An mc_io represents a mapped MC portal.  Previously, an mc_io was
created for the root dprc in fsl_mc_bus_probe() and for child dprcs
in dprc_probe().  But the free of that data structure happened in the
general bus remove callback.  This asymmetry resulted in some bugs due
to unwanted destroys of mc_io object in some scenarios (e.g. vfio).

Fix this bug by making things symmetric-- mc_io created in
fsl_mc_bus_probe() is freed in fsl_mc_bus_remove().  The mc_io created
in dprc_probe() is freed in dprc_remove().

Signed-off-by: Bharat Bhushan &lt;Bharat.Bhushan@nxp.com&gt;
[Stuart: added check for root dprc and reworded commit message]
Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
An mc_io represents a mapped MC portal.  Previously, an mc_io was
created for the root dprc in fsl_mc_bus_probe() and for child dprcs
in dprc_probe().  But the free of that data structure happened in the
general bus remove callback.  This asymmetry resulted in some bugs due
to unwanted destroys of mc_io object in some scenarios (e.g. vfio).

Fix this bug by making things symmetric-- mc_io created in
fsl_mc_bus_probe() is freed in fsl_mc_bus_remove().  The mc_io created
in dprc_probe() is freed in dprc_remove().

Signed-off-by: Bharat Bhushan &lt;Bharat.Bhushan@nxp.com&gt;
[Stuart: added check for root dprc and reworded commit message]
Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: make fsl_mc_is_root_dprc() global</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=fde867d308f39dfd4744c8da1695547b20e002b1'/>
<id>fde867d308f39dfd4744c8da1695547b20e002b1</id>
<content type='text'>
make fsl_mc_is_root_dprc() global so that the dprc driver
can use it

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
make fsl_mc_is_root_dprc() global so that the dprc driver
can use it

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: export mc_get_version</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ec8d35d430922273a6cc68cfafaeadc5eb767c12'/>
<id>ec8d35d430922273a6cc68cfafaeadc5eb767c12</id>
<content type='text'>
some drivers (built as modules) rely on mc_get_version()

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
some drivers (built as modules) rely on mc_get_version()

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: add support for device table matching</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0afef45654ae908536278ecb143ded5bbc713391'/>
<id>0afef45654ae908536278ecb143ded5bbc713391</id>
<content type='text'>
Move the definition of fsl_mc_device_id to its proper location in
mod_devicetable.h, and add fsl-mc bus support to devicetable-offsets.c
and file2alias.c to enable device table matching.  With this patch udev
based module loading of fsl-mc drivers is supported.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the definition of fsl_mc_device_id to its proper location in
mod_devicetable.h, and add fsl-mc bus support to devicetable-offsets.c
and file2alias.c to enable device table matching.  With this patch udev
based module loading of fsl-mc drivers is supported.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: clean up the device id struct</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=57538afb42e492eb6984f89663361bcfd80d9745'/>
<id>57538afb42e492eb6984f89663361bcfd80d9745</id>
<content type='text'>
-rename the struct used for fsl-mc device ids to be more
 consistent with other busses
-remove the now obsolete and unused version fields

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
-rename the struct used for fsl-mc device ids to be more
 consistent with other busses
-remove the now obsolete and unused version fields

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>staging: fsl-mc: implement uevent callback and set the modalias</title>
<updated>2016-06-27T00:14:03+00:00</updated>
<author>
<name>Stuart Yoder</name>
<email>stuart.yoder@nxp.com</email>
</author>
<published>2016-06-22T21:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d568b7679f03aca820e61a758a8b034cff8ccb40'/>
<id>d568b7679f03aca820e61a758a8b034cff8ccb40</id>
<content type='text'>
Replace placeholder code in the uevent callback to properly
set the MODALIAS env variable.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace placeholder code in the uevent callback to properly
set the MODALIAS env variable.

Signed-off-by: Stuart Yoder &lt;stuart.yoder@nxp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
