<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/powerpc/include/asm/opal.h, branch linux-3.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-04-24T07:29:26Z</updated>
<entry>
<title>powerpc/powernv: define a standard delay for OPAL_BUSY type retry loops</title>
<updated>2018-04-24T07:29:26Z</updated>
<author>
<name>Nicholas Piggin</name>
</author>
<published>2018-04-10T11:49:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30a3acbc62a8685963d2792e3d1701ec0c54786a'/>
<id>urn:sha1:30a3acbc62a8685963d2792e3d1701ec0c54786a</id>
<content type='text'>
commit 34dd25de9fe3f60bfdb31b473bf04b28262d0896 upstream.

This is the start of an effort to tidy up and standardise all the
delays. Existing loops have a range of delay/sleep periods from 1ms
to 20ms, and some have no delay. They all loop forever except rtc,
which times out after 10 retries, and that uses 10ms delays. So use
10ms as our standard delay. The OPAL maintainer agrees 10ms is a
reasonable starting point.

The idea is to use the same recipe everywhere, once this is proven to
work then it will be documented as an OPAL API standard. Then both
firmware and OS can agree, and if a particular call needs something
else, then that can be documented with reasoning.

This is not the end-all of this effort, it's just a relatively easy
change that fixes some existing high latency delays. There should be
provision for standardising timeouts and/or interruptible loops where
possible, so non-fatal firmware errors don't cause hangs.

Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Cc: Nathan Chancellor &lt;natechancellor@gmail.com&gt;
Cc: Guenter Roeck &lt;linux@roeck-us.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>powerpc/opal: Add PHB to cxl mode call</title>
<updated>2014-10-08T09:15:52Z</updated>
<author>
<name>Ian Munsie</name>
</author>
<published>2014-10-08T08:54:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=09521736011e83003ca3cf7d9a31c43148306a20'/>
<id>urn:sha1:09521736011e83003ca3cf7d9a31c43148306a20</id>
<content type='text'>
This adds the OPAL call to change a PHB into cxl mode.

Signed-off-by: Ian Munsie &lt;imunsie@au1.ibm.com&gt;
Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Sync OpalPciResetScope with firmware</title>
<updated>2014-09-30T07:15:17Z</updated>
<author>
<name>Gavin Shan</name>
</author>
<published>2014-09-30T02:39:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d1a85eee35f15a20f508c42d7664dce335eefc2d'/>
<id>urn:sha1:d1a85eee35f15a20f508c42d7664dce335eefc2d</id>
<content type='text'>
The names of PCI reset scopes aren't sychronized with firmware.
The patch fixes it.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Sync header with firmware</title>
<updated>2014-09-30T07:15:09Z</updated>
<author>
<name>Gavin Shan</name>
</author>
<published>2014-09-30T02:38:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5b64234081fcbd48c4ae207ce2cc3c31f859f8a4'/>
<id>urn:sha1:5b64234081fcbd48c4ae207ce2cc3c31f859f8a4</id>
<content type='text'>
The patch synchronizes firmware header file (opal.h) for PCI error
injection.

Signed-off-by: Mike Qiu &lt;qiudayu@linux.vnet.ibm.com&gt;
Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Add OPAL check token call</title>
<updated>2014-09-25T13:14:35Z</updated>
<author>
<name>Michael Neuling</name>
</author>
<published>2014-08-19T04:47:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bffe6bda342578deea0b74f2d9cb97cc40585a1b'/>
<id>urn:sha1:bffe6bda342578deea0b74f2d9cb97cc40585a1b</id>
<content type='text'>
Currently there is no way to generically check if an OPAL call exists or not
from the host kernel.

This adds an OPAL call opal_check_token() which tells you if the given token is
present in OPAL or not.

Signed-off-by: Michael Neuling &lt;mikey@neuling.org&gt;
Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Interface to register/unregister opal dump region</title>
<updated>2014-08-13T05:13:45Z</updated>
<author>
<name>Vasant Hegde</name>
</author>
<published>2014-08-09T05:45:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b09c2ec4082c63584491f35df2cb530ee8ca312d'/>
<id>urn:sha1:b09c2ec4082c63584491f35df2cb530ee8ca312d</id>
<content type='text'>
PowerNV platform is capable of capturing host memory region when system
crashes (because of host/firmware). We have new OPAL API to register/
unregister memory region to be captured when system crashes.

This patch adds support for new API. Also during boot time we register
kernel log buffer and unregister before doing kexec.

Signed-off-by: Vasant Hegde &lt;hegdevasant@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Invoke opal call to handle hmi.</title>
<updated>2014-08-05T06:33:52Z</updated>
<author>
<name>Mahesh Salgaonkar</name>
</author>
<published>2014-07-29T13:10:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ef95b411e73d8789100d017c02c1329c5055802'/>
<id>urn:sha1:0ef95b411e73d8789100d017c02c1329c5055802</id>
<content type='text'>
When we hit the HMI in Linux, invoke opal call to handle/recover from HMI
errors in real mode and then in virtual mode during check_irq_replay()
invoke opal_poll_events()/opal_do_notifier() to retrieve HMI event from
OPAL and act accordingly.

Now that we are ready to handle HMI interrupt directly in linux, remove
the HMI interrupt registration with firmware.

Signed-off-by: Mahesh Salgaonkar &lt;mahesh@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/book3s: Add basic infrastructure to handle HMI in Linux.</title>
<updated>2014-08-05T06:33:48Z</updated>
<author>
<name>Mahesh Salgaonkar</name>
</author>
<published>2014-07-29T13:10:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0869b6fd209bda402576a9a559120ddd4f61198e'/>
<id>urn:sha1:0869b6fd209bda402576a9a559120ddd4f61198e</id>
<content type='text'>
Handle Hypervisor Maintenance Interrupt (HMI) in Linux. This patch implements
basic infrastructure to handle HMI in Linux host. The design is to invoke
opal handle hmi in real mode for recovery and set irq_pending when we hit HMI.
During check_irq_replay pull opal hmi event and print hmi info on console.

Signed-off-by: Mahesh Salgaonkar &lt;mahesh@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Allow to freeze PE</title>
<updated>2014-08-05T05:41:52Z</updated>
<author>
<name>Gavin Shan</name>
</author>
<published>2014-07-21T04:42:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ca27efbd8b4579ef1e54e6c0a4a73dbf7f56a4a'/>
<id>urn:sha1:5ca27efbd8b4579ef1e54e6c0a4a73dbf7f56a4a</id>
<content type='text'>
The patch synchronizes header file with firmware to have new OPAL
API opal_pci_eeh_freeze_set(), which is used to freeze the specified
PE in order to support "compound" PE.

Signed-off-by: Gavin Shan &lt;gwshan@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
<entry>
<title>powerpc/powernv: Enable M64 aperatus for PHB3</title>
<updated>2014-08-05T05:41:47Z</updated>
<author>
<name>Guo Chao</name>
</author>
<published>2014-07-21T04:42:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=262af557dd750e94adcee3f450782c743f9a92d6'/>
<id>urn:sha1:262af557dd750e94adcee3f450782c743f9a92d6</id>
<content type='text'>
This patch enables M64 aperatus for PHB3.

We already had platform hook (ppc_md.pcibios_window_alignment) to affect
the PCI resource assignment done in PCI core so that each PE's M32 resource
was built on basis of M32 segment size. Similarly, we're using that for
M64 assignment on basis of M64 segment size.

   * We're using last M64 BAR to cover M64 aperatus, and it's shared by all
     256 PEs.
   * We don't support P7IOC yet. However, some function callbacks are added
     to (struct pnv_phb) so that we can reuse them on P7IOC in future.
   * PE, corresponding to PCI bus with large M64 BAR device attached, might
     span multiple M64 segments. We introduce "compound" PE to cover the case.
     The compound PE is a list of PEs and the master PE is used as before.
     The slave PEs are just for MMIO isolation.

Signed-off-by: Guo Chao &lt;yan@linux.vnet.ibm.com&gt;
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
</content>
</entry>
</feed>
