1. 14 6月, 2016 2 次提交
  2. 08 6月, 2016 1 次提交
  3. 06 6月, 2016 1 次提交
  4. 02 6月, 2016 1 次提交
  5. 30 5月, 2016 2 次提交
  6. 13 5月, 2016 1 次提交
  7. 12 5月, 2016 4 次提交
    • A
      powerpc/powernv/npu: Add PE to PHB's list · 1d4e89cf
      Alexey Kardashevskiy 提交于
      Before commit 3e68dc57 "powerpc/powernv: Remove DMA32 PE list", NPU PEs
      were linked to the NPU PHB via phb->ioda.pe_dma_list; after that fix,
      the phb->ioda.pe_list is used.
      
      During the pe_dma_list removal, list_add_tail(&phb->ioda.pe_dma_list)
      was removed, however no list_add() was added so does this patch.
      
      Fixes: 3e68dc57219a ("powerpc/powernv: Remove DMA32 PE list")
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Reviewed-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      1d4e89cf
    • A
      powerpc/powernv: Fix insufficient memory allocation · 92a86756
      Alexey Kardashevskiy 提交于
      The pnv_pci_init_ioda_phb() helper allocates a blob to store auxilary
      data such PE and M32/M64 segment allocation maps; this single blob has
      few partitions, size of each is derived from the PE number -
      phb->ioda.total_pe_num.
      
      It was assumed that the minimum PE number is 8, however it is 4 for NPU
      so the pe_alloc part was missing in the allocated blob. It was invisible
      till recently as we were not tracking used M64 segments and NPUs do not
      use M32 segments so the phb->ioda.m32_segmap (which was pointing to the
      same address as phb->ioda.pe_alloc) has never been written to leaving
      the pe_alloc memory intact.
      
      After commit 401203ac2d "powerpc/powernv: Track M64 segment consumption"
      the pe_alloc gets corrupted and PE allocation cannot work. This fixes
      the issue by enforcing the minimum PE number to 8.
      
      Fixes: 401203ac2d15 ("powerpc/powernv: Track M64 segment consumption")
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Reviewed-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      92a86756
    • G
      powerpc/iommu: Remove the dependency on EEH struct in DDW mechanism · 8445a87f
      Guilherme G. Piccoli 提交于
      Commit 39baadbf ("powerpc/eeh: Remove eeh information from pci_dn")
      changed the pci_dn struct by removing its EEH-related members.
      As part of this clean-up, DDW mechanism was modified to read the device
      configuration address from eeh_dev struct.
      
      As a consequence, now if we disable EEH mechanism on kernel command-line
      for example, the DDW mechanism will fail, generating a kernel oops by
      dereferencing a NULL pointer (which turns to be the eeh_dev pointer).
      
      This patch just changes the configuration address calculation on DDW
      functions to a manual calculation based on pci_dn members instead of
      using eeh_dev-based address.
      
      No functional changes were made. This was tested on pSeries, both
      in PHyp and qemu guest.
      
      Fixes: 39baadbf ("powerpc/eeh: Remove eeh information from pci_dn")
      Cc: stable@vger.kernel.org # v3.4+
      Reviewed-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      8445a87f
    • M
      Revert "powerpc/powernv: Exclude root bus in pnv_pci_reset_secondary_bus()" · 848912e5
      Michael Ellerman 提交于
      This reverts commit c8ceacc2.
      
      Gavin says: I missed the fact that it affects the PCI passthrou path as
      reported by Alexey: When passing GPU (0003:01:00.0) which seats behind
      the root port, the reset request is routed to skiboot in original code.
      In skiboot, the link bouncing events are masked during the reset. So we
      don't see EEH (freeze all) error even link bouncing happens. With the
      changes included, the reset is done by kernel and the link bouncing
      events aren't masked by altering content of PHB3 (or P7IOC) specific
      hardware registers which are invisible to kernel (skiboot hides the
      hardware specific). It means the link bouncing is seen by the root port
      and it causes a EEH (freeze all) error. The PCI passthrough on GPU
      device cannot work.
      Requested-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Requested-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      848912e5
  8. 11 5月, 2016 28 次提交