1. 30 10月, 2012 3 次提交
    • A
      swiotlb: Use physical addresses instead of virtual in swiotlb_tbl_sync_single · fbfda893
      Alexander Duyck 提交于
      This change makes it so that the sync functionality also uses physical
      addresses.  This helps to further reduce the use of virt_to_phys and
      phys_to_virt functions.
      
      In order to clarify things since we now have 2 physical addresses in use
      inside of swiotlb_tbl_sync_single I am renaming phys to orig_addr, and
      dma_addr to tlb_addr.  This way is should be clear that orig_addr is
      contained within io_orig_addr and tlb_addr is an address within the
      io_tlb_addr buffer.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      fbfda893
    • A
      swiotlb: Use physical addresses for swiotlb_tbl_unmap_single · 61ca08c3
      Alexander Duyck 提交于
      This change makes it so that the unmap functionality also uses physical
      addresses.  This helps to further reduce the use of virt_to_phys and
      phys_to_virt functions.
      
      In order to clarify things since we now have 2 physical addresses in use
      inside of swiotlb_tbl_unmap_single I am renaming phys to orig_addr, and
      dma_addr to tlb_addr.  This way is should be clear that orig_addr is
      contained within io_orig_addr and tlb_addr is an address within the
      io_tlb_addr buffer.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      61ca08c3
    • A
      swiotlb: Return physical addresses when calling swiotlb_tbl_map_single · e05ed4d1
      Alexander Duyck 提交于
      This change makes it so that swiotlb_tbl_map_single will return a physical
      address instead of a virtual address when called.  The advantage to this once
      again is that we are avoiding a number of virt_to_phys and phys_to_virt
      translations by working with everything as a physical address.
      
      One change I had to make in order to support using physical addresses is that
      I could no longer trust 0 to be a invalid physical address on all platforms.
      So instead I made it so that ~0 is returned on error.  This should never be a
      valid return value as it implies that only one byte would be available for
      use.
      
      In order to clarify things since we now have 2 physical addresses in use
      inside of swiotlb_tbl_map_single I am renaming phys to orig_addr, and
      dma_addr to tlb_addr.  This way is should be clear that orig_addr is
      contained within io_orig_addr and tlb_addr is an address within the
      io_tlb_addr buffer.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      e05ed4d1
  2. 26 10月, 2012 37 次提交