20 Jul, 2007

1 commit

  • In order for this driver to be shared across the iop architectures the
    iop3xx and iop13xx header files are modified to present a common interface
    for the iop_wdt driver.

    Details:
    * iop13xx supports disabling the timer while iop3xx does not. This requires
    a few 'compatibility' definitions in include/asm-arm/hardware/iop3xx.h to
    preclude adding #ifdef CONFIG_ARCH_IOP13XX blocks to the driver code.
    * The heartbeat interval is derived from the internal bus clock rate, so this
    this patch also exports the tick rate to the iop_wdt driver.

    Cc: Curt Bruns
    Cc: Peter Milne
    Signed-off-by: Dan Williams
    Acked-by: Wim Van Sebroeck
    Signed-off-by: Russell King

    Dan Williams
     

13 Jul, 2007

1 commit

  • Adds the platform device definitions and the architecture specific support
    routines (i.e. register initialization and descriptor formats) for the
    iop-adma driver.

    Changelog:
    * add support for > 1k zero sum buffer sizes
    * added dma/aau platform devices to iq80321 and iq80332 setup
    * fixed the calculation in iop_desc_is_aligned
    * support xor buffer sizes larger than 16MB
    * fix places where software descriptors are assumed to be contiguous, only
    hardware descriptors are contiguous for up to a PAGE_SIZE buffer size
    * convert to async_tx
    * add interrupt support
    * add platform devices for 80219 boards
    * do not call platform register macros in driver code
    * remove switch() statements for compatible register offsets/layouts
    * change over to bitmap based capabilities
    * remove unnecessary ARM assembly statement
    * checkpatch.pl fixes
    * gpl v2 only correction
    * phys move to dma_async_tx_descriptor

    Cc: Russell King
    Signed-off-by: Dan Williams

    Dan Williams
     

22 May, 2007

2 commits

  • * master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits)
    [ARM] spelling fixes
    [ARM] at91_adc parenthesis balance
    [ARM] 4400/1: S3C24XX: Add high-speed MMC device definition
    [ARM] 4399/2: S3C2443: Fix SMDK2443 nand timings
    [ARM] 4398/1: S3C2443: Fix watchdog IRQ number
    [ARM] 4397/1: S3C2443: remove SDI0/1 IRQ ambiguity
    [ARM] 4396/1: S3C2443: Add missing HCLK clocks
    [ARM] 4395/1: S3C24XX: add include of to relevant machines
    [ARM] 4388/1: no need for arm/mm mmap range checks for non-mmu
    [ARM] 4387/1: fix /proc/cpuinfo formatting for pre-ARM7 parts
    [ARM] ARMv6: add CPU_HAS_ASID configuration
    [ARM] integrator: fix pci_v3 compile error with DEBUG_LL
    [ARM] gic: Fix gic cascade irq handling
    [ARM] Silence OMAP kernel configuration warning
    [ARM] Update ARM syscalls
    [ARM] 4384/1: S3C2412/13 SPI registers offset correction
    [ARM] 4383/1: iop: fix usage of '__init' and 'inline' in iop files
    [ARM] 4382/1: iop13xx: fix msi support
    [ARM] Remove Integrator/CP SMP platform support
    [ARM] 4378/1: KS8695: Serial driver fix
    ...

    Linus Torvalds
     
  • First thing mm.h does is including sched.h solely for can_do_mlock() inline
    function which has "current" dereference inside. By dealing with can_do_mlock()
    mm.h can be detached from sched.h which is good. See below, why.

    This patch
    a) removes unconditional inclusion of sched.h from mm.h
    b) makes can_do_mlock() normal function in mm/mlock.c
    c) exports can_do_mlock() to not break compilation
    d) adds sched.h inclusions back to files that were getting it indirectly.
    e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
    getting them indirectly

    Net result is:
    a) mm.h users would get less code to open, read, preprocess, parse, ... if
    they don't need sched.h
    b) sched.h stops being dependency for significant number of files:
    on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
    after patch it's only 3744 (-8.3%).

    Cross-compile tested on

    all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
    alpha alpha-up
    arm
    i386 i386-up i386-defconfig i386-allnoconfig
    ia64 ia64-up
    m68k
    mips
    parisc parisc-up
    powerpc powerpc-up
    s390 s390-up
    sparc sparc-up
    sparc64 sparc64-up
    um-x86_64
    x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig

    as well as my two usual configs.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

21 May, 2007

1 commit


16 May, 2007

1 commit

  • WARNING: arch/arm/mach-iop13xx/built-in.o - Section mismatch: reference to
    .init.text:iop13xx_pcie_map_irq from .text between 'iop13xx_pci_setup' (at
    offset 0x7fc) and 'iop13xx_map_pci_memory'

    While fixing this warning I also recalled Adrian Bunk's recommendation to
    not use inline in .c files, as 'iop13xx_map_pci_memory' is needlessly
    inlined.

    Removing 'inline' uncovered some dead code so that is cleaned up as well.

    Signed-off-by: Dan Williams
    Signed-off-by: Russell King

    Dan Williams
     

09 May, 2007

1 commit


07 May, 2007

1 commit


06 May, 2007

1 commit

  • __ioremap() took a set of page table flags (specifically the cacheable
    and bufferable bits) to control the mapping type. However, with
    the advent of ARMv6, this is far too limited.

    Replace the page table flags with a memory type index, so that the
    desired attributes can be selected from the mem_type table.

    Finally, to prevent silent miscompilation due to the differing
    arguments, rename the __ioremap() and __ioremap_pfn() functions.

    Signed-off-by: Russell King

    Russell King
     

03 May, 2007

1 commit

  • Currently the iop3xx platform support code assumes that RedBoot is the
    bootloader and has already initialized the ATU. Linux should handle this
    initialization for three reasons:

    1/ The memory map that RedBoot sets up is not optimal (page_to_dma and
    virt_to_phys return different addresses). The effect of this is that using
    the dma mapping API for the internal bus dma units generates pci bus
    addresses that are incorrect for the internal bus.

    2/ Not all iop platforms use RedBoot

    3/ If the ATU is already initialized it indicates that the iop is an add-in
    card in another host, it does not own the PCI bus, and should not be
    re-initialized.

    Changelog:
    * rather than change nr_controllers to zero, simply do not call
    pci_common_init

    Cc: Lennert Buytenhek
    Signed-off-by: Dan Williams
    Signed-off-by: Russell King

    Dan Williams
     

30 Apr, 2007

1 commit


17 Feb, 2007

2 commits


14 Feb, 2007

2 commits

  • Enable svc access to cp6 via an undefined instruction hook. Do not enable
    access for usr code.

    This patch also makes iop13xx select PLAT_IOP, this requires a small change
    to drivers/i2c/busses/i2c-iop3xx.c.

    Per Lennert Buytenhek's note, the cp6 trap routine is moved to arch/arm/plat-iop
    Per Nicolas Pitre's note, the cp_wait is skipped since the latency to
    return to the faulting function is longer than cp_wait.

    Signed-off-by: Dan Williams
    Signed-off-by: Russell King

    Dan Williams
     
  • Implement a custom ioremap implementation for iop3xx. This saves
    establishing new mappings. It also cleans up the PCI IO resource to be a
    physical address rather than a virtual address as Russell pointed out on
    the original iop13xx port.

    Signed-off-by: Dan Williams
    Signed-off-by: Russell King

    Dan Williams
     

07 Oct, 2006

1 commit


25 Sep, 2006

7 commits