1. 02 12月, 2014 1 次提交
  2. 18 11月, 2014 4 次提交
  3. 06 11月, 2014 1 次提交
    • L
      x86/vt-d: Fix incorrect bit operations in setting values · 1a2262f9
      Li, Zhen-Hua 提交于
      The function context_set_address_root() and set_root_value are setting new
      address in a wrong way, and this patch is trying to fix this problem.
      
      According to Intel Vt-d specs(Feb 2011, Revision 1.3), Chapter 9.1 and 9.2,
      field ctp in root entry is using bits 12:63, field asr in context entry is
      using bits 12:63.
      
      To set these fields, the following functions are used:
      static inline void context_set_address_root(struct context_entry *context,
              unsigned long value);
      and
      static inline void set_root_value(struct root_entry *root, unsigned long value)
      
      But they are using an invalid method to set these fields, in current code, only
      a '|' operator is used to set it. This will not set the asr to the expected
      value if it has an old value.
      
      For example:
      Before calling this function,
      	context->lo = 0x3456789012111;
      	value = 0x123456789abcef12;
      
      After we call context_set_address_root(context, value), expected result is
      	context->lo == 0x123456789abce111;
      
      But the actual result is:
      	context->lo == 0x1237577f9bbde111;
      
      So we need to clear bits 12:63 before setting the new value, this will fix
      this problem.
      Signed-off-by: NLi, Zhen-Hua <zhen-hual@hp.com>
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      1a2262f9
  4. 04 11月, 2014 1 次提交
    • O
      iommu: Add iommu_map_sg() function · 315786eb
      Olav Haugan 提交于
      Mapping and unmapping are more often than not in the critical path.
      map_sg allows IOMMU driver implementations to optimize the process
      of mapping buffers into the IOMMU page tables.
      
      Instead of mapping a buffer one page at a time and requiring potentially
      expensive TLB operations for each page, this function allows the driver
      to map all pages in one go and defer TLB maintenance until after all
      pages have been mapped.
      
      Additionally, the mapping operation would be faster in general since
      clients does not have to keep calling map API over and over again for
      each physically contiguous chunk of memory that needs to be mapped to a
      virtually contiguous region.
      Signed-off-by: NOlav Haugan <ohaugan@codeaurora.org>
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      315786eb
  5. 02 10月, 2014 1 次提交
  6. 25 9月, 2014 1 次提交
  7. 18 8月, 2014 1 次提交
    • J
      iommu/vt-d: Defer domain removal if device is assigned to a driver · e7f9fa54
      Joerg Roedel 提交于
      When the BUS_NOTIFY_DEL_DEVICE event is received the device
      might still be attached to a driver. In this case the domain
      can't be released as the mappings might still be in use.
      
      Defer the domain removal in this case until we receivce the
      BUS_NOTIFY_UNBOUND_DRIVER event.
      
      Cc: Jiang Liu <jiang.liu@linux.intel.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: stable@vger.kernel.org   # v3.15, v3.16
      Signed-off-by: NJoerg Roedel <jroedel@suse.de>
      e7f9fa54
  8. 29 7月, 2014 1 次提交
  9. 23 7月, 2014 12 次提交
  10. 07 7月, 2014 1 次提交
  11. 04 7月, 2014 10 次提交
  12. 20 6月, 2014 1 次提交
  13. 05 6月, 2014 1 次提交
    • A
      intel-iommu: integrate DMA CMA · 36746436
      Akinobu Mita 提交于
      This adds support for the DMA Contiguous Memory Allocator for
      intel-iommu.  This change enables dma_alloc_coherent() to allocate big
      contiguous memory.
      
      It is achieved in the same way as nommu_dma_ops currently does, i.e.
      trying to allocate memory by dma_alloc_from_contiguous() and
      alloc_pages() is used as a fallback.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Marek Szyprowski <m.szyprowski@samsung.com>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Don Dutile <ddutile@redhat.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      36746436
  14. 15 4月, 2014 1 次提交
  15. 13 4月, 2014 1 次提交
  16. 28 3月, 2014 1 次提交
  17. 24 3月, 2014 1 次提交