709 lines
27 KiB
ReStructuredText
709 lines
27 KiB
ReStructuredText
.. _skiboot-5.8:
|
|
|
|
skiboot-5.8
|
|
===========
|
|
|
|
skiboot v5.8 was released on Thursday August 31st 2017. It is the first
|
|
release of skiboot 5.8, which becomes the new stable release.
|
|
It follows the 5.7 release, first released 25th July 2017.
|
|
|
|
skiboot v5.8 contains all bug fixes as of :ref:`skiboot-5.4.6`
|
|
and :ref:`skiboot-5.1.20` (the currently maintained stable releases). We
|
|
do not currently expect to do any 5.7.x stable releases.
|
|
|
|
For how the skiboot stable releases work, see :ref:`stable-rules` for details.
|
|
|
|
Over :ref:`skiboot-5.7`, we have the following changes:
|
|
|
|
New Features
|
|
------------
|
|
- sensors: occ: Add support to clear sensor groups
|
|
|
|
Adds a generic API to clear sensor groups. OCC inband sensor groups
|
|
such as CSM, Profiler and Job Scheduler can be cleared using this API.
|
|
It will clear the min/max of all sensors belonging to OCC sensor
|
|
groups.
|
|
|
|
- sensors: occ: Add CSM_{min/max} sensors
|
|
|
|
HWMON's lowest/highest attribute is used by CSM agent, so map min/max
|
|
device-tree properties "sensor-data-min" and "sensor-data-max" to
|
|
the min/max of CSM.
|
|
|
|
- sensors: occ: Add support for OCC inband sensors
|
|
|
|
Add support to parse and export OCC inband sensors which are copied
|
|
by OCC to main memory in P9. Each OCC writes three buffers which
|
|
includes one names buffer for sensor meta data and two buffers for
|
|
sensor readings. While OCC writes to one buffer the sensor values
|
|
can be read from the other buffer. The sensors are updated every
|
|
100ms.
|
|
|
|
This patch adds power, temperature, current and voltage sensors to
|
|
``/ibm,opal/sensors`` device-tree node which can be exported by the
|
|
ibmpowernv-hwmon driver in Linux.
|
|
|
|
- psr: occ: Add support to change power-shifting-ratio
|
|
|
|
Add support to set the CPU-GPU power shifting ratio which is used by
|
|
the OCC power capping algorithm. PSR value of 100 takes all power away
|
|
from CPU first and a PSR value of 0 caps GPU first.
|
|
|
|
- powercap: occ: Add a generic powercap framework
|
|
|
|
This patch adds a generic powercap framework and exports OCC powercap
|
|
sensors using which system powercap can be set inband through OPAL-OCC
|
|
command-response interface.
|
|
- phb4: Enable PCI peer-to-peer
|
|
|
|
P9 supports PCI peer-to-peer: a PCI device can write directly to the
|
|
mmio space of another PCI device. It completely by-passes the CPU.
|
|
|
|
It requires some configuration on the PHBs involved:
|
|
|
|
1. on the initiating side, the address for the read/write operation is
|
|
in the mmio space of the target, i.e. well outside the range normally
|
|
allowed. So we disable range-checking on the TVT entry in bypass mode.
|
|
|
|
2. on the target side, we need to explicitly enable p2p by setting a
|
|
bit in a configuration register. It has the side-effect of reserving
|
|
an outbound (as seen from the CPU) store queue for p2p. Therefore we
|
|
only enable p2p on the PHBs using it, as we don't want to waste the
|
|
resource if we don't have to.
|
|
|
|
P9 supports p2p mmio writes. Reads are currently only supported if the
|
|
two devices are under the same PHB but that is expected to change in
|
|
the future, and it raises questions about intermediate switches
|
|
configuration, so we report an error for the time being.
|
|
|
|
The patch adds a new OPAL call to allow the OS to declare a p2p
|
|
(initiator, target) pair.
|
|
|
|
- NX 842 and GZIP support on POWER9
|
|
|
|
|
|
POWER9 DD2
|
|
----------
|
|
|
|
Further support for POWER9 DD2 revision chips. Notable changes include:
|
|
|
|
- xscom: Grab P9 DD2 revision level
|
|
- vas: Set mmio enable bits in DD2
|
|
|
|
POWER9 DD2 added some new "enable" bits that must be set for VAS to
|
|
work. These bits were unused in DD1.
|
|
- hdat: Add POWER9 DD2.0 specific pa_features
|
|
|
|
Same as the default but with TM off.
|
|
|
|
POWER9
|
|
------
|
|
|
|
Since :ref:`skiboot-5.8-rc1`:
|
|
|
|
- hw/npu2.c: Add ibm,nvlink-speed device-tree property
|
|
|
|
NVLink2 links can support multiple different speeds. However the device driver
|
|
has no way of determining which speed was programmed so pass it down as a device
|
|
tree property.
|
|
- hw/npu2-hw-procedures.c: Update PHY_RESET procedure
|
|
|
|
Newer versions of Hostboot will have various clocks powered down by default
|
|
to save power. Therefore we need to power them up before accessing the OBUS
|
|
PHY.
|
|
- p8-i2c: Fix random data corruption (POWER9 specific)
|
|
While waiting for the OCC to signal that it has finished using the I2C
|
|
master we put the master into the, poorly named, occache_dis state.
|
|
While in this state the transaction hasn't been started, but
|
|
p8_i2c_check_status() will only skip it's checks when the master is in
|
|
the idle state. Any action that checks that cranks the I2C state machine
|
|
(interrupt, poll, etc) will call p8_i2c_check_status() and since the
|
|
master is not idle, it will check the status register, see the
|
|
transaction complete flag set and complete the i2c request without
|
|
actually doing anything.
|
|
|
|
If the transaction was a I2C read, the resulting output will be a
|
|
zeroed data buffer.
|
|
|
|
- hw/p8-i2c: Fix OCC locking (POWER9 specific)
|
|
|
|
There's a few issues with the Host<->OCC I2C bus handshaking. First up,
|
|
skiboot is currently examining the wrong bit when checking if the OCC
|
|
is currently using the bus. Secondly, when we need to wait for the OCC
|
|
to release the bus we are scheduling a recovery timer to run zero
|
|
timebase ticks after the current moment so the recovery timeout handler
|
|
will run immediately after the bus was requested, which will in turn
|
|
re-schedule itself, etc, etc. There's also a race between the OCC
|
|
interrupt and the recovery handler which can result in an assertion
|
|
failure in the recovery thread. All of this is bad.
|
|
|
|
This patch addresses all these issues and sets the recovery timeout to
|
|
10ms.
|
|
- vas: export chip-id to vas platform device
|
|
This is needed so VAS in the kernel can perform cpu to vas id mapping.
|
|
- slw: Modify the power9 stop0_lite latency & residency
|
|
|
|
Currently skiboot exposes the exit-latency for stop0_lite as 200ns and
|
|
the target-residency to be 2us.
|
|
|
|
However, the kernel cpu-idle infrastructure rounds up the latency to
|
|
microseconds and lists the stop0_lite latency as 0us, putting it on
|
|
par with snooze state. As a result, when the predicted latency is
|
|
small (< 1us), cpuidle will select stop0_lite instead of snooze. The
|
|
difference between these states is that snooze doesn't require an
|
|
interrupt to exit from the state, but stop0_lite does. And the value
|
|
200ns doesn't include the interrupt latency.
|
|
|
|
This shows up in the context_switch2 benchmark
|
|
(http://ozlabs.org/~anton/junkcode/context_switch2.c) where the number
|
|
of context switches per second with the stop0_lite disabled is found
|
|
to be roughly 30% more than with stop0_lite enabled.
|
|
This can be correlated with the number of times cpuidle enters
|
|
stop0_lite compared to snooze.
|
|
|
|
Hence, bump up the exit latency of stop0_lite to 1us. Since the target
|
|
residency is chosen to be 10 times the exit latency, set the target
|
|
residency to 10us.
|
|
|
|
With these values, we see a 50% improvement in the number of context
|
|
switches.
|
|
|
|
Since :ref:`skiboot-5.7`:
|
|
|
|
- Base NPU2 support on POWER9 DD2
|
|
- hdata/i2c: Work around broken I2C array version
|
|
|
|
Work around a bug in the I2C devices array that shows the
|
|
array version as being v2 when only the v1 data is populated.
|
|
- Recognize the 2s2u zz platform
|
|
|
|
OPAL currently doesn't know about the 2s2u zz. It recognizes such a
|
|
box as a generic BMC machine and fails to boot. Add the 2s2u as a
|
|
supported platform.
|
|
|
|
There will subsequently be a 2s2u-L system which may have a different
|
|
compatible property, which will need to be handled later.
|
|
- hdata/spira: POWER9 NX isn't software compatible with P7/P8 NX, don't claim so
|
|
- NX: Add P9 NX support for gzip compression engine
|
|
|
|
Power 9 introduces NX gzip compression engine. This patch adds gzip
|
|
compression support in NX. Virtual Accelerator Switch (VAS) is used to
|
|
access NX gzip engine and the channel configuration will be done with
|
|
the receive FIFO. So RxFIFO address, logical partition ID (lpid),
|
|
process ID (pid) and thread ID (tid) are used to configure RxFIFO.
|
|
P9 NX supports high and normal priority FIFOS. Skiboot configures User
|
|
Mode Access Control (UMAC) noitify match register with these values and
|
|
also enables other registers to enable / disable the engine.
|
|
|
|
Creates the following device-tree entries to provide RxFIFO address,
|
|
RxFIFO size, Fifo priority, lpid, pid and tid values so that kernel
|
|
can drive P9 NX gzip engine.
|
|
|
|
The following nodes are located under an xscom node: ::
|
|
/xscom@<xscom_addr>/nx@<nx_addr>
|
|
|
|
/ibm,gzip-high-fifo : High priority gzip RxFIFO
|
|
/ibm,gzip-normal-fifo : Normal priority gzip RxFIFO
|
|
|
|
Each RxFIFO node contain:s
|
|
|
|
``compatible``
|
|
``ibm,p9-nx-gzip``
|
|
``priority``
|
|
High or Normal
|
|
``rx-fifo-address``
|
|
RxFIFO address
|
|
``rx-fifo-size``
|
|
RxFIFO size
|
|
``lpid``
|
|
0xfff (1's for 12 bits in UMAC notify match register)
|
|
``pid``
|
|
gzip coprocessor type
|
|
``tid``
|
|
counter for gzip
|
|
|
|
- NX: Add P9 NX support for 842 compression engine
|
|
|
|
This patch adds changes needed for 842 compression engine on power 9.
|
|
Virtual Accelerator Switch (VAS) is used to access NX 842 engine on P9
|
|
and the channel setup will be done with receive FIFO. So RxFIFO
|
|
address, logical partition ID (lpid), process ID (pid) and thread ID
|
|
(tid) are used for this setup. p9 NX supports high and normal priority
|
|
FIFOs. skiboot is not involved to process data with 842 engine, but
|
|
configures User Mode Access Control (UMAC) noitify match register with
|
|
these values and export them to kernel with device-tree entries.
|
|
|
|
Also configure registers to setup and enable / disable the engine with
|
|
the appropriate registers. Creates the following device-tree entries to
|
|
provide RxFIFO address, RxFIFO size, Fifo priority, lpid, pid and tid
|
|
values so that kernel can drive P9 NX 842 engine.
|
|
|
|
The following nodes are located under an xscom node:
|
|
``/xscom@<xscom_addr>/nx@<nx_addr>``
|
|
|
|
``/ibm,842-high-fifo``
|
|
High priority 842 RxFIFO
|
|
``/ibm,842-normal-fifo``
|
|
Normal priority 842 RxFIFO
|
|
|
|
Each RxFIFO node contains:
|
|
|
|
``compatible``
|
|
ibm,p9-nx-842
|
|
``priority``
|
|
High or Normal
|
|
``rx-fifo-address``
|
|
RxFIFO address
|
|
``rx-fifo-size``
|
|
RXFIFO size
|
|
``lpid``
|
|
0xfff (1's for 12 bits set in UMAC notify match register)
|
|
``pid``
|
|
842 coprocessor type
|
|
``tid``
|
|
Counter for 842
|
|
- vas: Create MMIO device tree node
|
|
|
|
Create a device tree node for VAS and add properties that Linux
|
|
will need to configure/use VAS.
|
|
- opal: Extract sw checkstop fir address from HDAT.
|
|
|
|
Extract sw checkstop fir address info from HDAT and populate device tree
|
|
node ibm,sw-checkstop-fir.
|
|
|
|
This patch is required for OPAL_CEC_REBOOT2 OPAL call to work as expected
|
|
on p9.
|
|
|
|
With this patch a device property 'ibm,sw-checkstop-fir' is now properly
|
|
populated: ::
|
|
|
|
# lsprop ibm,sw-checkstop-fir
|
|
ibm,sw-checkstop-fir
|
|
05012000 0000001f
|
|
|
|
PHB4
|
|
----
|
|
- hdat: Fix PCIe GEN4 lane-eq setting for DD2
|
|
|
|
For PCIe GEN4, DD2 uses only 1 byte per PCIe lane for the lane-eq
|
|
settings (DD1 uses 2 bytes)
|
|
- pci: Wait for CRS and switch link when restoring bus numbers
|
|
|
|
When a complete reset occurs, after the PHB recovers it propagates a
|
|
reset down the wire to every device. At the same time, skiboot talks to
|
|
every device in order to restore the state of devices to what they were
|
|
before the reset.
|
|
|
|
In some situations, such as devices that recovered slowly and/or were
|
|
behind a switch, skiboot attempted to access config space of the device
|
|
before the link was up and the device could respond.
|
|
|
|
Fix this by retrying CRS until the device responds correctly, and for
|
|
devices behind a switch, making sure the switch has its link up first.
|
|
- pci: Track whether a PCI device is a virtual function
|
|
|
|
This can be checked from config space, but we will need to know this when
|
|
restoring the PCI topology, and it is not always safe to access config
|
|
space during this period.
|
|
- phb4: Enhanced PCIe training tracing
|
|
|
|
This add more details to the PCI training tracing (aka Rick Mata
|
|
mode). It enables the PCIe Link Training and Status State
|
|
Machine (LTSSM) tracing and details on speed and link width.
|
|
|
|
Output now looks like this when enabled (via nvram): ::
|
|
|
|
[ 1.096995141,3] PHB#0000[0:0]: TRACE:0x0000001101000000 0ms GEN1:x16:detect
|
|
[ 1.102849137,3] PHB#0000[0:0]: TRACE:0x0000102101000000 11ms presence GEN1:x16:polling
|
|
[ 1.104341838,3] PHB#0000[0:0]: TRACE:0x0000182101000000 14ms training GEN1:x16:polling
|
|
[ 1.104357444,3] PHB#0000[0:0]: TRACE:0x00001c5101000000 14ms training GEN1:x16:recovery
|
|
[ 1.104580394,3] PHB#0000[0:0]: TRACE:0x00001c5103000000 14ms training GEN3:x16:recovery
|
|
[ 1.123259359,3] PHB#0000[0:0]: TRACE:0x00001c5104000000 51ms training GEN4:x16:recovery
|
|
[ 1.141737656,3] PHB#0000[0:0]: TRACE:0x0000144104000000 87ms presence GEN4:x16:L0
|
|
[ 1.141752318,3] PHB#0000[0:0]: TRACE:0x0000154904000000 87ms trained GEN4:x16:L0
|
|
[ 1.141757964,3] PHB#0000[0:0]: TRACE: Link trained.
|
|
[ 1.096834019,3] PHB#0001[0:1]: TRACE:0x0000001101000000 0ms GEN1:x16:detect
|
|
[ 1.105578525,3] PHB#0001[0:1]: TRACE:0x0000102101000000 17ms presence GEN1:x16:polling
|
|
[ 1.112763075,3] PHB#0001[0:1]: TRACE:0x0000183101000000 31ms training GEN1:x16:config
|
|
[ 1.112778956,3] PHB#0001[0:1]: TRACE:0x00001c5081000000 31ms training GEN1:x08:recovery
|
|
[ 1.113002083,3] PHB#0001[0:1]: TRACE:0x00001c5083000000 31ms training GEN3:x08:recovery
|
|
[ 1.114833873,3] PHB#0001[0:1]: TRACE:0x0000144083000000 35ms presence GEN3:x08:L0
|
|
[ 1.114848832,3] PHB#0001[0:1]: TRACE:0x0000154883000000 35ms trained GEN3:x08:L0
|
|
[ 1.114854650,3] PHB#0001[0:1]: TRACE: Link trained.
|
|
|
|
- phb4: Fix reading wrong size registers in EEH dump
|
|
|
|
These registers are supposed to be 16bit, and it makes part of the
|
|
register dump misleading.
|
|
- phb4: Ignore slot state if performing complete reset
|
|
|
|
If a PHB is being completely reset, its state is about to be blown away
|
|
anyway, so if it's not in an appropriate state, creset it regardless.
|
|
- phb4: Prepare for link down when creset called from kernel
|
|
|
|
phb4_creset() is typically called by functions that prepare the link
|
|
to go down. In cases where creset() is called directly by the kernel,
|
|
this isn't the case and it can cause issues. Prepare for link down in
|
|
creset, just like we do in freset and hreset.
|
|
- phb4: Skip attempting to fix PHBs broken on boot
|
|
|
|
If a PHB is marked broken it didn't work on boot, and if it didn't work
|
|
on boot then there's no point trying to recover it later
|
|
- phb4: Fix duplicate in EEH register dump
|
|
- phb4: Be more conservative on link presence timeout
|
|
|
|
In this patch we tuned our link timing to be more agressive:
|
|
``cf960e2884 phb4: Improve reset and link training timing``
|
|
|
|
Cards should take only 32ms but unfortunately we've seen some take
|
|
up to 440ms. Hence bump our timer up to 1000ms.
|
|
|
|
This can hurt boot times on systems where slots indicate a hotplug
|
|
status but no electrical link is present (which we've seen). Since we
|
|
have to wait 1 second between PERST and touching config space anyway,
|
|
it shouldn't hurt too much.
|
|
- phb4: Assert PERST before PHB reset
|
|
|
|
Currently we don't assert PERST before issuing a PHB reset. This means
|
|
any link issues while resetting the PHB will be logged as errors.
|
|
|
|
This asserts PERST before we start resetting the PHB to avoid this.
|
|
- Revert "phb4: Read PERST signal rather than assuming it's asserted"
|
|
|
|
This reverts commit b42ff2b904165addf32e77679cebb94a08086966
|
|
|
|
The original patch assumes that PERST has been asserted well before (>
|
|
250ms) we hit here (ie. during hostboot).
|
|
|
|
In a subesquent patch this will no longer be the case as we need to
|
|
assert PERST during PHB reset, which may only be a few milliseconds
|
|
before we hit this code.
|
|
|
|
Hence revert this patch. Go back to the software mechanism using
|
|
skip_perst to determine if PERST should be asserted or not. This
|
|
allows us to keep the speed optimisation on boot.
|
|
- phb4: Set REGB error enables based on link state
|
|
|
|
Currently we always set these enables when initing the PHB. If the
|
|
link is already down, we shouldn't set them as it may cause spurious
|
|
errors.
|
|
|
|
This changes the code to only sets them if the link is up.
|
|
- phb4: Mark PHB as fenced on creset
|
|
|
|
If we have to inject an error to trigger recover, we end up not
|
|
marking the PHB as fenced in the PHB struct. This fixes that.
|
|
- phb4: Clear errors before deasserting reset
|
|
|
|
During reset we may have logged some errors (eg. due to the link going
|
|
down).
|
|
|
|
Hence before we deassert PERST or Hot Reset, we need to clear these
|
|
errors. This ensures that once link training starts, only new errors
|
|
are logged.
|
|
- phb4: Disable device config space access when fenced
|
|
|
|
On DD2 you can't access device config space when fenced, so just
|
|
disable access whenever we are fenced.
|
|
- phb4: Dump devctl and devstat registers
|
|
|
|
Dump devctl and devstat registers. These would have been useful when
|
|
debugging the MPS issue.
|
|
- phb4: Only clear some PHB config space registers on errors
|
|
|
|
Currently on error we clear the entire PHB config space. This is a
|
|
problem as the PCIe Maximum Payload Size (MPS) negotiation may have
|
|
already occurred. Clearing MPS in the PHB back to a default of 128
|
|
bytes will result an error for a device which already has a larger MPS
|
|
configured.
|
|
|
|
This will manifest itself as error due to a malformed TLP packet. ie.
|
|
``phbPblErrorStatus bit 41 = "Malformed TLP error"``
|
|
|
|
This has been seen after kexec on with some adapters.
|
|
|
|
This fixes the problem by only clearing a subset of registers on a phb
|
|
error.
|
|
|
|
Utilities
|
|
---------
|
|
- external/xscom-utils: Add ``--list-bits``
|
|
|
|
When using getscom/putscom it's helpful to know what bits are set in the
|
|
register. This patch adds an option to print out which bits are set
|
|
along with the value that was read/written to the register. Note that
|
|
this output indicates which bits are set using the IBM bit ordering
|
|
since that's what the XSCOM documentation uses.
|
|
|
|
|
|
opal-prd
|
|
--------
|
|
|
|
- opal-prd: Do not pass pnor file while starting daemon.
|
|
|
|
This change to the included systemd init file means opal-prd can
|
|
start and run on IBM FSP based systems.
|
|
|
|
We do not have pnor support on all the system. Also we have logic to
|
|
autodetect PNOR. Hence do not pass ``--pnor`` by default.
|
|
|
|
- opal-prd: Disable pnor access interface on FSP system
|
|
|
|
On FSP system host does not have access to PNOR. Hence disable PNOR
|
|
access interfaces.
|
|
|
|
OPAL Sensors
|
|
------------
|
|
- sensor-groups : occ: Add 'ops' DT property
|
|
|
|
Add new device-tree property 'ops' to define different operations
|
|
supported on each sensor-group.
|
|
|
|
- OCC: Map OCC sensor to a chip-id
|
|
|
|
Parse device tree to get chip-id for OCC sensor.
|
|
|
|
- HDAT: Add chip-id property to ipmi sensors
|
|
|
|
Presently we do not have a way to map sensor to chip id. Hence we are
|
|
always passing chip id 0 for occ_reset request (see occ_sensor_id_to_chip()).
|
|
|
|
This patch adds chip-id property to sensors (whenever its available) so that
|
|
we can map occ sensor to chip-id and pass valid chip-id to occ_reset request.
|
|
|
|
- xive: Check for valid PIR index when decoding
|
|
|
|
This fixes an unlikely but possible assert() fail on kdump.
|
|
|
|
- sensors: occ: Skip the deconfigured core sensors
|
|
|
|
This patch skips the deconfigured cores from the core sensors while
|
|
parsing the sensor names in the main memory as these sensor values are
|
|
not updated by OCC.
|
|
|
|
IBM FSP systems
|
|
---------------
|
|
Since :ref:`skiboot-5.8-rc1`:
|
|
|
|
- mktime: fix off-by-one error calling days_in_month
|
|
|
|
From auditing all the mktime() users, there seems to be only a *very*
|
|
small window around new years day where we could possibly return
|
|
incorrect data to the OS, and even then, there would have to be FSP
|
|
reset/reload on FSP machines. I don't *think* there's an opportunity
|
|
on other machines.
|
|
|
|
Tests
|
|
-----
|
|
Since :ref:`skiboot-5.8-rc1`:
|
|
|
|
- travis: Debian Stretch must pass
|
|
- test kernels: link with -N
|
|
- core/test/run-msg: don't depend on unittest mem layout
|
|
|
|
Since :ref:`skiboot-5.7`:
|
|
|
|
- hdata_to_dt: use a realistic PVR and chip revision
|
|
|
|
- nx: PR_INFO that NX RNG and Crypto not yet supported on POWER9
|
|
|
|
- external/pflash: Add tests
|
|
- external/pflash: Reinstate the progress bars
|
|
|
|
Recent work did some optimising which unfortunately removed some of the
|
|
progress bars in pflash.
|
|
|
|
It turns out that there's only one thing people prefer to correctly
|
|
programmed flash chips, it is the ability to watch little equals
|
|
characters go across their screens for potentially minutes.
|
|
- external/pflash: Correct erase alignment checks
|
|
|
|
pflash should check the alignment of addresses and sizes when asked to
|
|
erase. There are two possibilities:
|
|
|
|
1. The user has specified sizes manually in which case pflash should
|
|
be as flexible as possible, blocklevel_smart_erase() permits this. To
|
|
prevent possible mistakes pflash will require --force to perform a
|
|
manual erase of unaligned sizes.
|
|
2. The user used -P to specify a partition, partitions aren't
|
|
necessarily erase granule aligned anymore, blocklevel_smart_erase() can
|
|
handle. In this it doesn't make sense to warn/error about misalignment
|
|
since the misalignment is inherent to the FFS partition and not really
|
|
user input.
|
|
|
|
- external/pflash: Check the result of strtoul
|
|
|
|
Also add 0x in front of --info output to avoid a copy and paste mistake.
|
|
|
|
- libflash/file: Break up MTD erase ioctl() calls
|
|
|
|
Unfortunately not all drivers are created equal and several drivers on
|
|
which pflash relies block in the kernel for quite some time and ignore
|
|
signals.
|
|
|
|
This is really only a problem if pflash is to perform large erases. So
|
|
don't, perform these ops in small chunks.
|
|
|
|
An in kernel fix is possible in most cases but it takes time and systems
|
|
will be running older drivers for quite some time. Since sector erases
|
|
aren't significantly slower than whole chip erases there isn't much of a
|
|
performance penalty to breaking up the erase ioctl()s.
|
|
|
|
General
|
|
-------
|
|
|
|
Since :ref:`skiboot-5.8-rc1`:
|
|
|
|
- gcov: support GCC 7.1+
|
|
- Tests build and pass on Debian
|
|
A few things related to the Debian toolchain.
|
|
|
|
Since :ref:`skiboot-5.7`:
|
|
|
|
- opal-msg: Increase the max-async completion count by max chips possible
|
|
|
|
- occ: Add support for OPAL-OCC command/response interface
|
|
|
|
This patch adds support for a shared memory based command/response
|
|
interface between OCC and OPAL. In HOMER, there is an OPAL command
|
|
buffer and an OCC response buffer which is used to send inband
|
|
commands to OCC.
|
|
|
|
- HDAT/device-tree: only add lid-type on pre-POWER9 systems
|
|
|
|
Largely a relic of back when we had multiple entry points into OPAL depending
|
|
on which mechanism on an FSP we were using to get loaded, this isn't needed
|
|
on modern P9 as we only have one entry point (we don't do the PHYP LID hack).
|
|
|
|
Contributors
|
|
------------
|
|
|
|
- Processed 156 csets from 17 developers
|
|
- 1 employers found
|
|
- A total of 6888 lines added, 1089 removed (delta 5799)
|
|
|
|
Developers with the most changesets
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
========================== === =======
|
|
Developer # %
|
|
========================== === =======
|
|
Cyril Bur 35 (22.4%)
|
|
Stewart Smith 32 (20.5%)
|
|
Michael Neuling 23 (14.7%)
|
|
Sukadev Bhattiprolu 11 (7.1%)
|
|
Reza Arbab 10 (6.4%)
|
|
Russell Currey 9 (5.8%)
|
|
Shilpasri G Bhat 9 (5.8%)
|
|
Oliver O'Halloran 5 (3.2%)
|
|
Haren Myneni 5 (3.2%)
|
|
Alistair Popple 4 (2.6%)
|
|
Vasant Hegde 4 (2.6%)
|
|
Nicholas Piggin 3 (1.9%)
|
|
Andrew Donnellan 2 (1.3%)
|
|
Gautham R. Shenoy 1 (0.6%)
|
|
Mahesh Salgaonkar 1 (0.6%)
|
|
Ananth N Mavinakayanahalli 1 (0.6%)
|
|
Frederic Barrat 1 (0.6%)
|
|
========================== === =======
|
|
|
|
Developers with the most changed lines
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
========================== ==== =======
|
|
Developer # %
|
|
========================== ==== =======
|
|
Shilpasri G Bhat 1935 (27.9%)
|
|
Cyril Bur 1868 (26.9%)
|
|
Stewart Smith 866 (12.5%)
|
|
Sukadev Bhattiprolu 663 (9.5%)
|
|
Haren Myneni 584 (8.4%)
|
|
Michael Neuling 384 (5.5%)
|
|
Frederic Barrat 168 (2.4%)
|
|
Reza Arbab 98 (1.4%)
|
|
Oliver O'Halloran 98 (1.4%)
|
|
Vasant Hegde 93 (1.3%)
|
|
Alistair Popple 77 (1.1%)
|
|
Russell Currey 60 (0.9%)
|
|
Mahesh Salgaonkar 28 (0.4%)
|
|
Andrew Donnellan 11 (0.2%)
|
|
Gautham R. Shenoy 6 (0.1%)
|
|
Nicholas Piggin 4 (0.1%)
|
|
Ananth N Mavinakayanahalli 1 (0.0%)
|
|
========================== ==== =======
|
|
|
|
Developers with the most signoffs
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
========================== === =======
|
|
Developer # %
|
|
========================== === =======
|
|
Stewart Smith 124 (97.6%)
|
|
Benjamin Herrenschmidt 2 (1.6%)
|
|
Vaidyanathan Srinivasan 1 (0.8%)
|
|
Total 127 (100%)
|
|
========================== === =======
|
|
|
|
Developers with the most reviews
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
=========================== == =======
|
|
Developer # %
|
|
=========================== == =======
|
|
Samuel Mendoza-Jonas 19 (52.8%)
|
|
Andrew Donnellan 11 (30.6%)
|
|
Vasant Hegde 2 (5.6%)
|
|
Cédric Le Goater 1 (2.8%)
|
|
Russell Currey 1 (2.8%)
|
|
Reza Arbab 1 (2.8%)
|
|
Cyril Bur 1 (2.8%)
|
|
Total 36 (100%)
|
|
=========================== == =======
|
|
|
|
Developers with the most test credits
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
=========================== == =======
|
|
Developer # %
|
|
=========================== == =======
|
|
Vasant Hegde 1 (50.0%)
|
|
Hari Bathini 1 (50.0%)
|
|
=========================== == =======
|
|
|
|
|
|
Developers who gave the most tested-by credits
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
=========================== == =======
|
|
Developer # %
|
|
=========================== == =======
|
|
Russell Currey 1 (50.0%)
|
|
Mahesh Salgaonkar 1 (50.0%)
|
|
=========================== == =======
|
|
|
|
Developers with the most report credits
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
=========================== == =======
|
|
Developer # %
|
|
=========================== == =======
|
|
Anton Blanchard 1 (16.7%)
|
|
Mark Linimon 1 (16.7%)
|
|
Pavaman Subramaniyam 1 (16.7%)
|
|
Pridhiviraj Paidipeddi 1 (16.7%)
|
|
Rob Lippert 1 (16.7%)
|
|
Michael Neuling 1 (16.7%)
|
|
=========================== == =======
|
|
|
|
Developers who gave the most report credits
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
=========================== == =======
|
|
Developer # %
|
|
=========================== == =======
|
|
Stewart Smith 2 (33.3%)
|
|
Michael Neuling 1 (16.7%)
|
|
Andrew Donnellan 1 (16.7%)
|
|
Cyril Bur 1 (16.7%)
|
|
Gautham R. Shenoy 1 (16.7%)
|
|
=========================== == =======
|