<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch/powerpc/sysdev/mpic.c, branch v3.3.5</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>powerpc/mpic: Add in-core support for cascaded MPICs</title>
<updated>2011-12-07T02:43:09+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=09dc34a95bfbc6062e1e7de0b96175480924aea8'/>
<id>09dc34a95bfbc6062e1e7de0b96175480924aea8</id>
<content type='text'>
The Cell and PowerMac platforms use virtually identical cascaded-IRQ
setup code, so just merge it into the core.  Ideally this code would
trigger automatically when an MPIC device-node specifies an "interrupts"
property, perhaps even enabling MPIC_SECONDARY along the way.

Unfortunately, Benjamin Herrenschmidt has had bad experiences in the
past with the quality of Apple PowerMac device-trees, so to be safe we
will only try to parse out an IRQ if the MPIC_SECONDARY flag is set by
the caller.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Cell and PowerMac platforms use virtually identical cascaded-IRQ
setup code, so just merge it into the core.  Ideally this code would
trigger automatically when an MPIC device-node specifies an "interrupts"
property, perhaps even enabling MPIC_SECONDARY along the way.

Unfortunately, Benjamin Herrenschmidt has had bad experiences in the
past with the quality of Apple PowerMac device-trees, so to be safe we
will only try to parse out an IRQ if the MPIC_SECONDARY flag is set by
the caller.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Cache the device-tree node in "struct mpic"</title>
<updated>2011-12-07T02:43:08+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c51242e7080d2265761de309cdea222d7e27bdfe'/>
<id>c51242e7080d2265761de309cdea222d7e27bdfe</id>
<content type='text'>
Store the node pointer in the MPIC during initialization so that all of
the later operational code can just reuse the cached pointer.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Store the node pointer in the MPIC during initialization so that all of
the later operational code can just reuse the cached pointer.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Put "pic-no-reset" test back into the MPIC code</title>
<updated>2011-12-07T02:43:08+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c579bc766a84a57c31d7b41276ffa9545a34ee1b'/>
<id>c579bc766a84a57c31d7b41276ffa9545a34ee1b</id>
<content type='text'>
There's not really any reason to have this one-liner in a separate
static inline function, given that all the other similar tests are
already in the alloc_mpic() code.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There's not really any reason to have this one-liner in a separate
static inline function, given that all the other similar tests are
already in the alloc_mpic() code.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Don't open-code dcr_resource_start</title>
<updated>2011-12-07T02:43:08+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e62b760179506531bf6d0c522c0def0f84847eb7'/>
<id>e62b760179506531bf6d0c522c0def0f84847eb7</id>
<content type='text'>
Don't open-code the OpenFirmware "dcr-reg" property lookup trying to map
DCR resources.  This makes the code a bit easier to read.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't open-code the OpenFirmware "dcr-reg" property lookup trying to map
DCR resources.  This makes the code a bit easier to read.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Invert the meaning of MPIC_PRIMARY</title>
<updated>2011-12-07T02:43:08+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=be8bec56dfac0574c4c08a50cd37e09bea941e3f'/>
<id>be8bec56dfac0574c4c08a50cd37e09bea941e3f</id>
<content type='text'>
It turns out that there are only 2 in-tree platforms which use MPICs
which are not "primary":  IBM Cell and PowerMac.  To reduce the
complexity of the typical board setup code, invert the MPIC_PRIMARY bit
into MPIC_SECONDARY.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turns out that there are only 2 in-tree platforms which use MPICs
which are not "primary":  IBM Cell and PowerMac.  To reduce the
complexity of the typical board setup code, invert the MPIC_PRIMARY bit
into MPIC_SECONDARY.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Search for open-pic device-tree node if NULL</title>
<updated>2011-12-07T02:43:07+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=996983b75cebb1bc1c2c545f20336f24ebfa17af'/>
<id>996983b75cebb1bc1c2c545f20336f24ebfa17af</id>
<content type='text'>
Almost all PowerPC platforms use a standard "open-pic" device node so
the mpic_alloc() function now accepts NULL for the device-node.  This
will cause it to perform a default search with of_find_matching_node().

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Almost all PowerPC platforms use a standard "open-pic" device node so
the mpic_alloc() function now accepts NULL for the device-node.  This
will cause it to perform a default search with of_find_matching_node().

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Save computed phys_addr for board-specific code</title>
<updated>2011-12-07T02:43:07+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e7a98675caf272a11dc1012c7a8c6c00cab09f5b'/>
<id>e7a98675caf272a11dc1012c7a8c6c00cab09f5b</id>
<content type='text'>
The MPIC code can already perform an automatic OF address translation
step as part of mpic_alloc(), but several boards need to use that base
address when they perform mpic_assign_isu().

The easiest solution is to save the computed physical address into the
"struct mpic" for later use by the board code.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The MPIC code can already perform an automatic OF address translation
step as part of mpic_alloc(), but several boards need to use that base
address when they perform mpic_assign_isu().

The easiest solution is to save the computed physical address into the
"struct mpic" for later use by the board code.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Assume a device-node was passed in mpic_alloc()</title>
<updated>2011-12-07T02:43:07+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:28:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5bdb6f2e5833c1c3e5ea21a2050fe0fada3a4a1d'/>
<id>5bdb6f2e5833c1c3e5ea21a2050fe0fada3a4a1d</id>
<content type='text'>
All of the existing callers of mpic_alloc() pass in a non-NULL
device-node pointer, so the checks for a NULL device-node may be
removed.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All of the existing callers of mpic_alloc() pass in a non-NULL
device-node pointer, so the checks for a NULL device-node may be
removed.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc: Consolidate mpic_alloc() OF address translation</title>
<updated>2011-12-07T02:43:06+00:00</updated>
<author>
<name>Kyle Moffett</name>
<email>Kyle.D.Moffett@boeing.com</email>
</author>
<published>2011-12-02T06:27:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8bf41568969e003c3d5410124e27bbdce7852e1b'/>
<id>8bf41568969e003c3d5410124e27bbdce7852e1b</id>
<content type='text'>
Instead of using the open-coded "reg" property lookup and address
translation in mpic_alloc(), directly call of_address_to_resource().
This includes various workarounds for special cases which the naive
of_address_translate() does not.

Afterwards it is possible to remove the copiously copy-pasted calls to
of_address_translate() from the 85xx/86xx/powermac platforms.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Kumar Gala &lt;galak@kernel.crashing.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of using the open-coded "reg" property lookup and address
translation in mpic_alloc(), directly call of_address_to_resource().
This includes various workarounds for special cases which the naive
of_address_translate() does not.

Afterwards it is possible to remove the copiously copy-pasted calls to
of_address_translate() from the 85xx/86xx/powermac platforms.

Signed-off-by: Kyle Moffett &lt;Kyle.D.Moffett@boeing.com&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Paul Mackerras &lt;paulus@samba.org&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Kumar Gala &lt;galak@kernel.crashing.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>powerpc/mpic: Remove extra semicolon.</title>
<updated>2011-11-25T03:53:25+00:00</updated>
<author>
<name>Justin P. Mattock</name>
<email>justinmattock@gmail.com</email>
</author>
<published>2011-11-21T06:43:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e075cd7001634c9984950488d9201fcf896dca27'/>
<id>e075cd7001634c9984950488d9201fcf896dca27</id>
<content type='text'>
The patch below removes an extra semicolon.

Signed-off-by: Justin P. Mattock &lt;justinmattock@gmail.com&gt;
CC: linuxppc-dev@lists.ozlabs.org
CC: Paul Mackerras &lt;paulus@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The patch below removes an extra semicolon.

Signed-off-by: Justin P. Mattock &lt;justinmattock@gmail.com&gt;
CC: linuxppc-dev@lists.ozlabs.org
CC: Paul Mackerras &lt;paulus@samba.org&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
