08 Dec, 2011

1 commit


01 Nov, 2011

1 commit


30 Oct, 2010

1 commit

  • All Octeon chips can support more than 4GB of RAM. Also due to how Octeon
    PCI is setup, even some configurations with less than 4GB of RAM will have
    portions that are not accessible from 32-bit devices.

    Enable the swiotlb code to handle the cases where a device cannot directly
    do DMA. This is a complete rewrite of the Octeon DMA mapping code.

    Signed-off-by: David Daney
    Patchwork: http://patchwork.linux-mips.org/patch/1639/
    Signed-off-by: Ralf Baechle

    David Daney
     

05 Aug, 2010

1 commit

  • We reserve the 3.75GB - 4GB region of PCIe address space for device to
    device transfers, making the corresponding physical memory under
    direct mapping unavailable for DMA.

    To allow for PCIe DMA to all physical memory we map this chunk of
    physical memory with BAR1. Because of the resulting discontinuity in
    the mapping function, we remove a page of memory at each end of the
    range so multi-page DMA buffers can never be allocated that span the
    range.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/1535/
    Signed-off-by: Ralf Baechle

    David Daney
     

27 Feb, 2010

1 commit


03 Jul, 2009

1 commit


17 Jun, 2009

1 commit


11 Jan, 2009

1 commit

  • These are the rest of the new files needed to add OCTEON processor
    support to the Linux kernel. Other than Makefile and Kconfig which
    should be obvious, we have:

    csrc-octeon.c -- Clock source driver for OCTEON.
    dma-octeon.c -- Helper functions for mapping DMA memory.
    flash_setup.c -- Register on-board flash with the MTD subsystem.
    octeon-irq.c -- OCTEON interrupt controller managment.
    octeon-memcpy.S -- Optimized memcpy() implementation.
    serial.c -- Register 8250 platform driver and early console.
    setup.c -- Early architecture initialization.
    smp.c -- OCTEON SMP support.
    octeon_switch.S -- Scheduler context switch for OCTEON.
    c-octeon.c -- OCTEON cache controller support.
    cex-oct.S -- OCTEON cache exception handler.

    asm/mach-cavium-octeon/*.h -- Architecture include files.

    Signed-off-by: Tomaso Paoletti
    Signed-off-by: David Daney
    Signed-off-by: Ralf Baechle

    create mode 100644 arch/mips/cavium-octeon/Kconfig
    create mode 100644 arch/mips/cavium-octeon/Makefile
    create mode 100644 arch/mips/cavium-octeon/csrc-octeon.c
    create mode 100644 arch/mips/cavium-octeon/dma-octeon.c
    create mode 100644 arch/mips/cavium-octeon/flash_setup.c
    create mode 100644 arch/mips/cavium-octeon/octeon-irq.c
    create mode 100644 arch/mips/cavium-octeon/octeon-memcpy.S
    create mode 100644 arch/mips/cavium-octeon/serial.c
    create mode 100644 arch/mips/cavium-octeon/setup.c
    create mode 100644 arch/mips/cavium-octeon/smp.c
    create mode 100644 arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
    create mode 100644 arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h
    create mode 100644 arch/mips/include/asm/mach-cavium-octeon/irq.h
    create mode 100644 arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
    create mode 100644 arch/mips/include/asm/mach-cavium-octeon/war.h
    create mode 100644 arch/mips/include/asm/octeon/octeon.h
    create mode 100644 arch/mips/kernel/octeon_switch.S
    create mode 100644 arch/mips/mm/c-octeon.c
    create mode 100644 arch/mips/mm/cex-oct.S

    David Daney