1. 19 6月, 2013 1 次提交
  2. 23 4月, 2013 2 次提交
    • W
      iommu/amd: fix error return code in early_amd_iommu_init() · 83ed9c13
      Wei Yongjun 提交于
      Fix to return -ENOMEM int the memory alloc error handling
      case instead of 0, as done elsewhere in this function.
      Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      83ed9c13
    • S
      iommu/AMD: Per-thread IOMMU Interrupt Handling · 3f398bc7
      Suravee Suthikulpanit 提交于
      In the current interrupt handling scheme, there are as many threads as
      the number of IOMMUs. Each thread is created and assigned to an IOMMU at
      the time of registering interrupt handlers (request_threaded_irq).
      When an IOMMU HW generates an interrupt, the irq handler (top half) wakes up
      the corresponding thread to process event and PPR logs of all IOMMUs
      starting from the 1st IOMMU.
      
      In the system with multiple IOMMU,this handling scheme complicates the
      synchronization of the IOMMU data structures and status registers as
      there could be multiple threads competing for the same IOMMU while
      the other IOMMU could be left unhandled.
      
      To simplify, this patch is proposing a different interrupt handling scheme
      by having each thread only managing interrupts of the corresponding IOMMU.
      This can be achieved by passing the struct amd_iommu when registering the
      interrupt handlers. This structure is unique for each IOMMU and can be used
      by the bottom half thread to identify the IOMMU to be handled instead
      of calling for_each_iommu.  Besides this also eliminate the needs to lock
      the IOMMU for processing event and PPR logs.
      Signed-off-by: NSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      3f398bc7
  3. 20 4月, 2013 5 次提交
  4. 27 3月, 2013 2 次提交
  5. 10 3月, 2013 1 次提交
    • N
      amd_iommu_init: remove __init from amd_iommu_erratum_746_workaround · e2f1a3bd
      Nikola Pajkovsky 提交于
      commit 318fe782 ("IOMMU, AMD Family15h Model10-1Fh erratum 746 Workaround")
      added amd_iommu_erratum_746_workaround and it's marked as __init, which is wrong
      
      WARNING: drivers/iommu/built-in.o(.text+0x639c): Section mismatch in reference from the function iommu_init_pci() to the function .init.text:amd_iommu_erratum_746_workaround()
      The function iommu_init_pci() references
      the function __init amd_iommu_erratum_746_workaround().
      This is often because iommu_init_pci lacks a __init
      annotation or the annotation of amd_iommu_erratum_746_workaround is wrong.
      Signed-off-by: NNikola Pajkovsky <npajkovs@redhat.com>
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      e2f1a3bd
  6. 08 2月, 2013 1 次提交
    • J
      iommu/amd: Initialize device table after dma_ops · f528d980
      Joerg Roedel 提交于
      When dma_ops are initialized the unity mappings are
      created. The init_device_table_dma() function makes sure DMA
      from all devices is blocked by default. This opens a short
      window in time where DMA to unity mapped regions is blocked
      by the IOMMU. Make sure this does not happen by initializing
      the device table after dma_ops.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      f528d980
  7. 28 1月, 2013 1 次提交
  8. 16 10月, 2012 1 次提交
  9. 28 9月, 2012 10 次提交
  10. 18 9月, 2012 2 次提交
  11. 10 8月, 2012 1 次提交
  12. 07 8月, 2012 1 次提交
  13. 17 7月, 2012 9 次提交
  14. 02 7月, 2012 1 次提交
  15. 07 6月, 2012 1 次提交
  16. 04 6月, 2012 1 次提交
    • J
      iommu/amd: Cache pdev pointer to root-bridge · c1bf94ec
      Joerg Roedel 提交于
      At some point pci_get_bus_and_slot started to enable
      interrupts. Since this function is used in the
      amd_iommu_resume path it will enable interrupts on resume
      which causes a warning. The fix will use a cached pointer
      to the root-bridge to re-enable the IOMMU in case the BIOS
      is broken.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NJoerg Roedel <joerg.roedel@amd.com>
      c1bf94ec