02 Jun, 2010

1 commit

  • This extends some of the existing special casing for HAS_IOPORT
    platforms and gets it to the point where platforms can begin to
    conditionally select it.

    The major changes here are that the PIO routines themselves go away
    completely, including all of the machvec port mapping wrappers. With this
    in place it's possible for any non-machvec abusing platform to disable
    PIO completely. At present this is left as an opt-in until the abusers
    are the odd ones out instead of the majority.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

24 Aug, 2009

2 commits

  • Optimise memcpy_to/fromio. This is used extensivly by MTD, so is a
    worthwhile performance gain. The main savings come from not repeatedly
    calling readl/writel, and doing word instead of byte at a time
    transfers. Also using "movca.l" on SH4 gives a small performance win.

    Signed-off-by: Stuart Menefy
    Signed-off-by: Paul Mundt

    Stuart Menefy
     
  • The synopsys PCI cell used in the later STMicro chips requires code to
    be run in order to do IO cycles, rather than just memory mapping the IO
    space. Rather than extending the existing SH infrastructure to allow
    this, use the GENERIC_IOMAP implmentation to save re-inventing the
    wheel.

    This set of changes allows the SH to be built with GENERIC_IOMAP
    enabled, it just ifdef's out the functions provided by the GENERIC_IOMAP
    implementation, and provides a few required missing functions.

    Signed-off-by: David McKay
    Signed-off-by: Paul Mundt

    David McKay
     

20 Apr, 2009

1 commit

  • This consolidates the pci_iomap() definitions and reworks how the I/O
    port base is handled. PCI channels can register their own I/O map base,
    or if none is provided, the system-wide generic I/O base is used instead.

    Functionally nothing changes, while this allows us to kill off lots of
    I/O address special casing and lookups.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

16 Apr, 2009

1 commit

  • Adds a __get_pci_io_base() function which is used to match a port range
    against struct pci_channel. This allows us to detect if a port range is
    assigned to pci or happens to be legacy port io. While at it, remove unused
    cpu-specific cruft.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

04 Oct, 2008

1 commit

  • This tidies up a lot of the PIO/MMIO split. No in-tree platforms were
    making use of the MMIO overloading through the machvec (nor have any of
    them been in some time), so we just kill all of that off. The ISA I/O
    routine wrapping remains unaffected, which remains the only special
    casing outside of the iomap API that boards need to think about.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

14 Feb, 2008

1 commit

  • The idea is that we want to get rid of the in/out/readb/writeb callbacks from
    the machvec and replace that with simple inline read and write operations to
    memory. Fast and simple for most hardware devices (think pci).

    Some devices require special treatment though - like 16-bit only CF devices -
    so we need to have some method to hook in callbacks.

    This patch makes it possible to add a per-device trap generating filter. This
    way we can get maximum performance of sane hardware - which doesn't need this
    filter - and crappy hardware works but gets punished by a performance hit.

    V2 changes things around a bit and replaces io access callbacks with a
    simple minimum_bus_width value. In the future we can add stride as well.

    Signed-off-by: Magnus Damm
    Signed-off-by: Paul Mundt

    Magnus Damm
     

28 Jan, 2008

1 commit


27 Sep, 2006

1 commit


17 Jan, 2006

1 commit

  • This introduces a few changes in the way that the I/O routines are defined on
    SH, specifically so that things like the iomap API properly wrap through the
    machvec for board-specific quirks.

    In addition to this, the old p3_ioremap() work is converted to a more generic
    __ioremap() that will map through the PMB if it's available, or fall back on
    page tables for everything else.

    An alpha-like IO_CONCAT is also added so we can start to clean up the
    board-specific io.h mess, which will be handled in board update patches..

    Signed-off-by: Paul Mundt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Mundt
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds