1. 28 4月, 2014 5 次提交
    • G
      powerpc/eeh: Allow to disable EEH · 7f52a526
      Gavin Shan 提交于
      The patch introduces bootarg "eeh=off" to disable EEH functinality.
      Also, it creates /sys/kerenl/debug/powerpc/eeh_enable to disable
      or enable EEH functionality. By default, we have the functionality
      enabled.
      
      For PowerNV platform, we will restore to have the conventional
      mechanism of clearing frozen PE during PCI config access if we're
      going to disable EEH functionality. Conversely, we will rely on
      EEH for error recovery.
      
      The patch also fixes the issue that we missed to cover the case
      of disabled EEH functionality in function ioda_eeh_event(). Those
      events driven by interrupt should be cleared to avoid endless
      reporting.
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7f52a526
    • G
      powerpc/eeh: Avoid I/O access during PE reset · 78954700
      Gavin Shan 提交于
      We have suffered recrusive frozen PE a lot, which was caused
      by IO accesses during the PE reset. Ben came up with the good
      idea to keep frozen PE until recovery (BAR restore) gets done.
      With that, IO accesses during PE reset are dropped by hardware
      and wouldn't incur the recrusive frozen PE any more.
      
      The patch implements the idea. We don't clear the frozen state
      until PE reset is done completely. During the period, the EEH
      core expects unfrozen state from backend to keep going. So we
      have to reuse EEH_PE_RESET flag, which has been set during PE
      reset, to return normal state from backend. The side effect is
      we have to clear frozen state for towice (PE reset and clear it
      explicitly), but that's harmless.
      
      We have some limitations on pHyp. pHyp doesn't allow to enable
      IO or DMA for unfrozen PE. So we don't enable them on unfrozen PE
      in eeh_pci_enable(). We have to enable IO before grabbing logs on
      pHyp. Otherwise, 0xFF's is always returned from PCI config space.
      Also, we had wrong return value from eeh_pci_enable() for
      EEH_OPT_THAW_DMA case. The patch fixes it too.
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      78954700
    • G
      powerpc/powernv: Use EEH PCI config accessors · 1d9a5446
      Gavin Shan 提交于
      For EEH PowerNV backends, they need use their own PCI config
      accesors as the normal one could be blocked during PE reset.
      The patch also removes necessary parameter "hose" for the
      function ioda_eeh_bridge_reset().
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      1d9a5446
    • G
      powerpc/powernv: Move PNV_EEH_STATE_ENABLED around · f5bc6b70
      Gavin Shan 提交于
      The flag PNV_EEH_STATE_ENABLED is put into pnv_phb::eeh_state,
      which is protected by CONFIG_EEH. We needn't that. Instead, we
      can have pnv_phb::flags and maintain all flags there, which is
      the purpose of the patch. The patch also renames PNV_EEH_STATE_ENABLED
      to PNV_PHB_FLAG_EEH.
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f5bc6b70
    • G
      powerpc/powernv: Remove PNV_EEH_STATE_REMOVED · 467f79a9
      Gavin Shan 提交于
      The PHB state PNV_EEH_STATE_REMOVED maintained in pnv_phb isn't
      so useful any more and it's duplicated to EEH_PE_ISOLATED. The
      patch replaces PNV_EEH_STATE_REMOVED with EEH_PE_ISOLATED.
      Signed-off-by: NGavin Shan <gwshan@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      467f79a9
  2. 28 2月, 2014 1 次提交
  3. 17 2月, 2014 2 次提交
  4. 15 1月, 2014 3 次提交
  5. 30 12月, 2013 2 次提交
  6. 05 12月, 2013 2 次提交
  7. 11 10月, 2013 4 次提交
  8. 14 8月, 2013 1 次提交
  9. 01 7月, 2013 2 次提交
  10. 21 6月, 2013 2 次提交
  11. 20 6月, 2013 7 次提交