[PATCH 0/8] MIPS: Use dma-mapping-common.h and use swiotlb for Octeon (v2).

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



v2:
 o Eliminated changes to generic swiotlb code.

 o Indirect calls to phys_to_dma() and dma_to_phys() moved to Octeon
   specific code.

 o Clean up platform hook for swiotlb setup.

from v1:

The Octeon family of SOCs support physical memory outside of the
32-bit addressing range.  To support 32-bit devices, we need to use
the swiotlb bounce buffer mechanism.

There are several parts to the patch set.

1 -     Set the proper dma_masks for the octeon_mgmt platform device so
        that it continues to function with the rewritten dma mapping
        code to follow.

2,3,4 - Establish a properly constrained DMA32 zone for Octeon.

5 -     Make some existing functions static inline.

6 -     Convert MIPS to use dma-mapping-common.h

7 -     Get MIPS ready to use swiotlb.

8 -     Rewrite Octeon dma mapping code.

David Daney (8):
  MIPS: Octeon: Set dma_masks for octeon_mgmt device.
  MIPS: Allow MAX_DMA32_PFN to be overridden.
  MIPS: Octeon: Adjust top of DMA32 zone.
  MIPS: Octeon: Select ZONE_DMA32
  MIPS: ip32, ip27, jazz: Make static functions in dma-coherence.h
    inline.
  MIPS: Convert DMA to use dma-mapping-common.h
  MIPS: Add a platform hook for swiotlb setup.
  MIPS: Octeon: Rewrite DMA mapping functions.

 arch/mips/Kconfig                                  |    3 +
 arch/mips/cavium-octeon/Kconfig                    |   12 +
 arch/mips/cavium-octeon/dma-octeon.c               |  581 ++++++++++----------
 arch/mips/cavium-octeon/octeon-platform.c          |    5 +
 arch/mips/include/asm/bootinfo.h                   |   12 +
 arch/mips/include/asm/device.h                     |   15 +-
 arch/mips/include/asm/dma-mapping.h                |   96 ++--
 arch/mips/include/asm/dma.h                        |    3 +
 .../asm/mach-cavium-octeon/cpu-feature-overrides.h |    6 +
 .../include/asm/mach-cavium-octeon/dma-coherence.h |   28 +-
 arch/mips/include/asm/mach-generic/dma-coherence.h |    6 -
 arch/mips/include/asm/mach-ip27/dma-coherence.h    |    9 +-
 arch/mips/include/asm/mach-ip32/dma-coherence.h    |   14 +-
 arch/mips/include/asm/mach-jazz/dma-coherence.h    |   11 +-
 .../mips/include/asm/mach-loongson/dma-coherence.h |    6 -
 arch/mips/include/asm/mach-powertv/dma-coherence.h |    6 -
 arch/mips/include/asm/octeon/pci-octeon.h          |   10 +
 arch/mips/kernel/setup.c                           |    1 +
 arch/mips/mm/dma-default.c                         |  165 ++----
 arch/mips/pci/pci-octeon.c                         |   60 ++-
 arch/mips/pci/pcie-octeon.c                        |    5 +
 21 files changed, 551 insertions(+), 503 deletions(-)

-- 
1.7.2.2




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux