[RFC PATCH 0/3] MIPS: Alchemy: single kernel for all devboards

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

 



This patchset removes the last hurdles to supporting all DB/PB Develoboards
in a single kernel image.   The main issue is that on earlier chips
(Au1000, Au1500, Au1100) some peripherals, notably the USB blocks, aren't
fully dma coherent and need manual cache massaging to work properly.
For these parts DMA_NONCOHERENT is used.
Newer variants starting with the Au1550 work fine without any additional
software intervention and use DMA_COHERENT by default.

The first patch extends the already existing DMA_MAYBE_COHERENT logic to
also cover the parts which are already compiled when DMA_NONCOHERENT is
enabled.  The second patch then uses the "coherentio" variable which
DMA_MAYBE_COHERENT exports and sets it based on CPU subtype.
The third patch finally unifies support for all Alchemy devboards.

I'm not really sure if patch #1 is even the correct way to do it; however
based on my understanding of what DMA_MAYBE_COHERENT is supposed to do I
actually thought that it's a logical extension.  But I'm not sure and
don't have a MALTA board to test it on.  Hence the RFC.

Thanks,
        Manuel Lauss

Manuel Lauss (3):
  MIPS: extend DMA_MAYBE_COHERENT logic to DMA_NONCOHERENT use
  MIPS: Alchemy: determine cohereny at runtime based on cpu type
  MIPS: Alchemy: unify Devboard support.

 arch/mips/Kconfig                    |   1 +
 arch/mips/alchemy/Kconfig            |  22 ++-----
 arch/mips/alchemy/Platform           |  16 ++---
 arch/mips/alchemy/common/setup.c     |  10 +++
 arch/mips/alchemy/devboards/Makefile |   4 +-
 arch/mips/alchemy/devboards/db1000.c |  47 ++++----------
 arch/mips/alchemy/devboards/db1200.c |   9 +++
 arch/mips/alchemy/devboards/db1235.c |  94 ---------------------------
 arch/mips/alchemy/devboards/db1300.c |   6 +-
 arch/mips/alchemy/devboards/db1550.c |  10 ++-
 arch/mips/alchemy/devboards/db1xxx.c | 121 +++++++++++++++++++++++++++++++++++
 arch/mips/include/asm/io.h           |   4 +-
 arch/mips/mm/c-r4k.c                 |   6 +-
 arch/mips/mm/cache.c                 |   4 +-
 arch/mips/pci/pci-alchemy.c          |   5 +-
 drivers/spi/spi-au1550.c             |   9 +++
 16 files changed, 197 insertions(+), 171 deletions(-)
 delete mode 100644 arch/mips/alchemy/devboards/db1235.c
 create mode 100644 arch/mips/alchemy/devboards/db1xxx.c

-- 
1.8.5.5



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

  Powered by Linux