31 Jul, 2010

1 commit


27 Jul, 2010

1 commit


22 Jul, 2010

1 commit


30 Apr, 2010

1 commit


16 Feb, 2010

1 commit

  • This allows the procfs vmallocinfo file to show who created the ioremap
    regions. Note: __builtin_return_address(0) doesn't do what's expected
    if its used in an inline function, so we leave __arm_ioremap callers
    in such places alone.

    Signed-off-by: Russell King

    Russell King
     

30 Oct, 2009

4 commits

  • This adds a better sched_clock() to the IOP platform,
    implemented using its new clocksource support.

    Tested on n2100, compile-tested for all plat-iop machines.

    [dan.j.williams@intel.com: allow early cp6 access]
    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     
  • This updates the IOP platform to use the kernel's generic time
    framework. With clockevent support in place, this reduces to
    selecting GENERIC_TIME and removing the platform's private timer
    ->offset() operation (iop_gettimeoffset).

    Tested on n2100, compile-tested for all plat-iop machines.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     
  • This updates the IOP platform to expose the interrupting
    timer 0 as a clockevent object. The timer interrupt handler
    is changed to call the clockevent ->event_handler() instead
    of timer_tick(), and ->set_next_event() and ->set_mode()
    operations are added to allow the mode of the timer to be
    updated (required for ONESHOT/NOHZ mode).

    Timer 0 must now be properly initialised, which requires
    a new write_tcr0() function from the mach-specific code.

    The mode of timer 0 must be read at the start of ->set_mode(),
    which requires a new read_tmr0() function from the mach-
    specific code.

    Initial setup of timer 0 is also rewritten to be more robust.

    Tested on n2100, compile-tested for all plat-iop machines.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     
  • This updates the IOP platform to expose the free-running
    timer 1 as a clocksource object. This timer is now also
    properly initialised, which requires a new write_tcr1()
    function from the mach-specific code. Apart from the
    explicit initialisation, there is no functional change
    in how timer 1 is programmed.

    Tested on n2100, compile-tested for all plat-iop machines.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: Dan Williams

    Mikael Pettersson
     

03 Oct, 2009

1 commit


23 Sep, 2009

1 commit


16 Sep, 2009

1 commit


09 Sep, 2009

2 commits


19 Aug, 2009

2 commits

  • The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d
    but is perhaps more readable.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @haskernel@
    @@

    #include

    @depends on haskernel@
    expression x,__divisor;
    @@

    - (((x) + ((__divisor) / 2)) / (__divisor))
    + DIV_ROUND_CLOSEST(x,__divisor)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Dan Williams

    Julia Lawall
     
  • There are two 64 MB outbound memory windows at bus addresses
    0x80000000..0x83ffffff and 0x84000000..0x87ffffff for PCI
    memory. Currently, on iop32x, only the lower window is available for
    allocations, limiting the available space to 64 MB. On iop33x the full
    128 MB can be allocated, but the translation value is wrong for the
    upper window.

    The patch enables the full 128 MB space on iop32x and corrects the
    initialization of OMWTVR1. Redundant definitions are deleted. Tested
    using a Thecus N2100 board with a graphics adapter in the expansion
    slot. Both windows are in use:

    00:05.0 VGA compatible controller: XGI Technology Inc. (eXtreme Graphics
    Innovation) Volari Z7 (prog-if 00 [VGA controller])
    [...]
    Region 0: Memory at 80000000 (32-bit, prefetchable) [size=64M]
    Region 1: Memory at 84080000 (32-bit, non-prefetchable) [size=256K]

    Signed-off-by: Aaro Koskinen
    Cc: Lennert Buytenhek
    Signed-off-by: Dan Williams

    Aaro Koskinen
     

09 Apr, 2009

1 commit

  • 'zero_sum' does not properly describe the operation of generating parity
    and checking that it validates against an existing buffer. Change the
    name of the operation to 'val' (for 'validate'). This is in
    anticipation of the p+q case where it is a requirement to identify the
    target parity buffers separately from the source buffers, because the
    target parity buffers will not have corresponding pq coefficients.

    Reviewed-by: Andre Noll
    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams

    Dan Williams
     

07 Apr, 2009

2 commits


09 Nov, 2008

1 commit

  • Mikael Pettersson reported:

    The 2.6.28-rc kernels fail to detect PCI device 0000:00:01.0
    (the first ethernet port) on my Thecus n2100 XScale box.

    There is however still a strange "ghost" device that gets partially
    detected in 2.6.28-rc2 vanilla.

    The IOP321 manual says:

    The user designates the memory region containing the OCCDR as
    non-cacheable and non-bufferable from the IntelR XScaleTM core.
    This guarantees that all load/stores to the OCCDR are only of
    DWORD quantities.

    Ensure that the OCCDR is so mapped.

    Signed-off-by: Russell King

    Russell King
     

06 Sep, 2008

1 commit


07 Aug, 2008

3 commits


10 Jul, 2008

1 commit


27 Mar, 2008

4 commits


06 Mar, 2008

1 commit


04 Feb, 2008

1 commit


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