1. 23 Sep, 2010 3 commits
    • Joerg Roedel's avatar
      x86/amd-iommu: Fix rounding-bug in __unmap_single · 04e0463e
      Joerg Roedel authored
      In the __unmap_single function the dma_addr is rounded down
      to a page boundary before the dma pages are unmapped. The
      address is later also used to flush the TLB entries for that
      mapping. But without the offset into the dma page the amount
      of pages to flush might be miscalculated in the TLB flushing
      path. This patch fixes this bug by using the original
      address to flush the TLB.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      04e0463e
    • Joerg Roedel's avatar
      x86/amd-iommu: Work around S3 BIOS bug · 4c894f47
      Joerg Roedel authored
      This patch adds a workaround for an IOMMU BIOS problem to
      the AMD IOMMU driver. The result of the bug is that the
      IOMMU does not execute commands anymore when the system
      comes out of the S3 state resulting in system failure. The
      bug in the BIOS is that is does not restore certain hardware
      specific registers correctly. This workaround reads out the
      contents of these registers at boot time and restores them
      on resume from S3. The workaround is limited to the specific
      IOMMU chipset where this problem occurs.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      4c894f47
    • Joerg Roedel's avatar
      x86/amd-iommu: Set iommu configuration flags in enable-loop · e9bf5197
      Joerg Roedel authored
      This patch moves the setting of the configuration and
      feature flags out out the acpi table parsing path and moves
      it into the iommu-enable path. This is needed to reliably
      fix resume-from-s3.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      e9bf5197
  2. 12 Sep, 2010 1 commit
  3. 11 Sep, 2010 13 commits
  4. 10 Sep, 2010 23 commits