tree bf00356b646fa8b20144d02df14bbc3d338f697b
parent ec8c550d551d497423b44b5363d3b46abc5f41fe
author Stewart Smith <stewart@linux.vnet.ibm.com> 1512107984 +1100
committer Stewart Smith <stewart@linux.vnet.ibm.com> 1512107984 +1100

skiboot v5.9-89-gac685bccd889

Andrew Donnellan (1):
      npu2: Remove unused npu2_dev struct members

Benjamin Herrenschmidt (12):
      phb4: Fix lost bit in PE number on config accesses
      phb4: Fix PE mapping of M32 BAR
      xive: Define API for single-escalation VP mode
      xive: When disabling an EQ, wipe all of its settings
      xive: Improve cleaning up of EQs
      xive: When disabling a VP, wipe all of its settings
      xive: Implement "single escalation" feature
      xive: Quieten debug messages in standard builds
      xive: Properly reserve built-in VPs in non-group mode
      xive: Warn on valid VPs found in abnormal cases
      xive: Don't bother cleaning up disabled EQs in reset
      xive: Remove obsolete comment

Cyril Bur (2):
      libpore: Fix incorrect mtspr instruction generation
      external/pflash: Fix erasing within a single erase block

Michael Neuling (10):
      npu2: Create npu2_write_mcd()
      npu2: Refactor BAR setting code
      npu2: MCD refactor
      phys-map: Rename GPU_MEM to GPU_MEM_4T_DOWN
      npu2: Move to new GPU memory map
      hdata: Fix copying GEN4 lane equalisation settings
      phb4: Fix lane equalisation setting
      fsp-elog: Reduce verbosity of elog messages
      phb4: Init changes
      phb4: Change default GEN3 lane equalisation setting to 0x54

Nicholas Piggin (2):
      core/bitmap: fix bitmap iteration limit corruption
      external/mambo: Switch qtrace command to use plugins

Oliver O'Halloran (18):
      gard: show: Remove "Res Recovery" field
      gard: Update chip unit data
      gard: Add P9 support
      gard: Replace is_valid_id with is_valid_record()
      gard: Add iterators
      gard: Use iterators for count_record()
      gard: {list, show}: Fix the Type field in the output
      gard: list: Improve output
      gard: Add path parsing support
      gard: create: Allow creating arbitrary GARD records
      libflash: Fix parity calculation on ARM
      gard: Always use MTD to access flash
      gard: Add OpenBMC vPNOR support
      p8-i2c: Limit number of retry attempts
      lpc: Clear pending IRQs at boot
      occ-sensors: Fix up quad/gpu location mixup
      external/test: Display test dir on failure
      hw/nx: Fix NX BAR assignments

Prem Shanker Jha (2):
      p9_stop_api: EQ SCOM Restore: Introduced version control in SCOM restore entry.
      p9_stop_api: PM: Added support for version control in SCOM restore entries.

Reza Arbab (6):
      Revert "npu2: hw-procedures: Enable low power mode"
      npu2: Print bdfn in NPU2DEV* logging macros
      npu2: hw-procedures: Add check_credits procedure
      npu2: hw-procedures: Add obus_brick_index()
      npu2: hw-procedures: Manipulate IOVALID during training
      npu2: hw-procedures: Change phy_rx_clock_sel values

Robert Lippert (4):
      hdata/vpd: add support for parsing CPU VRML records
      core/direct-controls: wait for core special wkup bit cleared
      core/direct-controls: add function to read core gated state
      hw/dts: retry special wakeup operation if core still gated

Russell Currey (2):
      pci: Track peers of slots
      pci: Shared slot state synchronisation for hot reset

Shilpasri G Bhat (1):
      sensors: dts: Assert special wakeup on idle cores while reading temperature

Stewart Smith (7):
      skiboot 5.9.2 release notes
      OCC: Increase max pstate check on P9 to 255
      skiboot 5.9.3 release notes
      travis: Add Fedora 27
      core/bitmap: Test bitmap foreach functions
      skiboot 5.9.4 release notes
      mambo: split qtrace macros out into qtrace_utils.tcl

Vaibhav Jain (1):
      make_version: Fix check for '.version' file

Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
