tree a88b1d8dd8d00365097f42a037f5d1f93b54b7d4
parent b9d78611ca4ea77c67f7c2ecae44d58fab26e118
author Stewart Smith <stewart@linux.vnet.ibm.com> 1501569098 +1000
committer Stewart Smith <stewart@linux.vnet.ibm.com> 1502335585 +1000

skiboot v5.7-76-g830fc9a0ed0a (also bump libflash)

On top of bumping skiboot to the latest, libflash (used by petitboot)
is also bumped to the latest.

Alistair Popple (2):
      xscom: Add xscom_write_mask() function
      hw/npu2.c: Add temporary scominits to enable NVLink mode on DD2

Cyril Bur (19):
      Makefile.check: Fix `make check`
      libflash: Adding debugging output
      libflash/file: Fix bad subtraction in file erase path
      libflash/file: Break up MTD erase ioctl() calls
      external/ffspart: Add .gitignore
      libflash/libffs: Don't require 'part' size to be known by callers
      external/pflash: Add description of flags
      external/pflash: Check the result of strtoul
      external/pflash: Stop using exit() in the main
      external/pflash: Correct erase alignment checks
      external/pflash: Remove global flash details
      external/pflash: Update the code pathes for "--tune"
      external/pflash: Move write and read size calculation together
      external/pflash: Remove use of exit() and fix memory leaks
      external/pflash: Make the progress bar safe for big numbers
      external/pflash: Reinstate the progress bars
      external: Consolidate Makefile.check for external tools
      external/pflash: Add tests
      external/pflash: tests: Move the test-miscprint to pflash tests

Frederic Barrat (1):
      phb4: Enable PCI peer-to-peer
Haren Myneni (5):
      NX: Add P9 NX register defines for 842 / gzip engines
      NX: Organize NX compression code to include 842 and gzip support
      NX: Add P9 NX support for 842 compression engine
      NX: Add P9 NX support for gzip compression engine
      NX: Describe device-tree changes for P9 NX compression engines

Reza Arbab (10):
      npu2: Add a function to detect POWER9 DD1
      npu2: Fix indirect SCOM addresses
      npu2: Fix NPU/PHY0/PHY1 stack order
      npu2: Rename variable in npu2_assign_gmb()
      npu2: Use read-modify-write in npu2_assign_gmb()
      npu2: Add NPU2_GPU1_MEM_BAR
      npu2: Adjust content of the GENID BAR
      npu2: Adjust content of the NTL BAR
      npu2: Set the XTS config2 register
      npu2: Allow POWER9 DD2 in ec level check

Stewart Smith (5):
      nx: PR_INFO that NX RNG and Crypto not yet supported on POWER9
      hw/npu2: fix typo in comment
      doc: update copyright notices
      doc: RST syntax fixes
      doc/console-log: minor updates
      hdata/spira: POWER9 NX isn't software compatible with P7/P8 NX, don't claim so

Sukadev Bhattiprolu (9):
      Define helpers to extract P9 node/chip ids
      vas: Create xscom DT node in hdata
      vas: Define macros of constants and register fields
      vas: Initialize VAS registers
      vas: Define helpers to compute window paste address
      vas: Create MMIO device tree node
      vas: Define vas_get_hvwc_mmio_bar interface
      vas: Define vas_get_wcbs_bar interface
      nx: Add device tree node for Power9

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