1. 04 3月, 2014 1 次提交
  2. 07 1月, 2014 1 次提交
  3. 15 8月, 2013 1 次提交
  4. 23 6月, 2013 1 次提交
    • A
      iommu/amd: Only unmap large pages from the first pte · 60d0ca3c
      Alex Williamson 提交于
      If we use a large mapping, the expectation is that only unmaps from
      the first pte in the superpage are supported.  Unmaps from offsets
      into the superpage should fail (ie. return zero sized unmap).  In the
      current code, unmapping from an offset clears the size of the full
      mapping starting from an offset.  For instance, if we map a 16k
      physically contiguous range at IOVA 0x0 with a large page, then
      attempt to unmap 4k at offset 12k, 4 ptes are cleared (12k - 28k) and
      the unmap returns 16k unmapped.  This potentially incorrectly clears
      valid mappings and confuses drivers like VFIO that use the unmap size
      to release pinned pages.
      
      Fix by refusing to unmap from offsets into the page.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      60d0ca3c
  5. 21 6月, 2013 1 次提交
  6. 20 6月, 2013 1 次提交
    • A
      iommu/{vt-d,amd}: Remove multifunction assumption around grouping · c14d2690
      Alex Williamson 提交于
      If a device is multifunction and does not have ACS enabled then we
      assume that the entire package lacks ACS and use function 0 as the
      base of the group.  The PCIe spec however states that components are
      permitted to implement ACS on some, none, or all of their applicable
      functions.  It's therefore conceivable that function 0 may be fully
      independent and support ACS while other functions do not.  Instead
      use the lowest function of the slot that does not have ACS enabled
      as the base of the group.  This may be the current device, which is
      intentional.  So long as we use a consistent algorithm, all the
      non-ACS functions will be grouped together and ACS functions will
      get separate groups.
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      c14d2690
  7. 23 4月, 2013 2 次提交
    • V
      iommu: Move swap_pci_ref function to drivers/iommu/pci.h. · 61e015ac
      Varun Sethi 提交于
      The swap_pci_ref function is used by the IOMMU API code for
      swapping pci device pointers, while determining the iommu
      group for the device.
      Currently this function was being implemented for different
      IOMMU drivers.  This patch moves the function to a new file,
      drivers/iommu/pci.h so that the implementation can be
      shared across various IOMMU drivers.
      Signed-off-by: NVarun Sethi <Varun.Sethi@freescale.com>
      Signed-off-by: NJoerg Roedel <joro@8bytes.org>
      61e015ac
    • 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
  8. 20 4月, 2013 1 次提交
  9. 18 4月, 2013 3 次提交
  10. 03 4月, 2013 1 次提交
  11. 02 4月, 2013 1 次提交
  12. 27 3月, 2013 3 次提交
  13. 13 2月, 2013 1 次提交
  14. 28 1月, 2013 1 次提交
  15. 02 12月, 2012 2 次提交
  16. 24 10月, 2012 5 次提交
  17. 02 10月, 2012 2 次提交
  18. 28 9月, 2012 10 次提交
  19. 18 9月, 2012 1 次提交
  20. 07 8月, 2012 1 次提交