18 Sep, 2009

40 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (66 commits)
    be2net: fix some cmds to use mccq instead of mbox
    atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA
    pkt_sched: Fix qstats.qlen updating in dump_stats
    ipv6: Log the affected address when DAD failure occurs
    wl12xx: Fix print_mac() conversion.
    af_iucv: fix race when queueing skbs on the backlog queue
    af_iucv: do not call iucv_sock_kill() twice
    af_iucv: handle non-accepted sockets after resuming from suspend
    af_iucv: fix race in __iucv_sock_wait()
    iucv: use correct output register in iucv_query_maxconn()
    iucv: fix iucv_buffer_cpumask check when calling IUCV functions
    iucv: suspend/resume error msg for left over pathes
    wl12xx: switch to %pM to print the mac address
    b44: the poll handler b44_poll must not enable IRQ unconditionally
    ipv6: Ignore route option with ROUTER_PREF_INVALID
    bonding: make ab_arp select active slaves as other modes
    cfg80211: fix SME connect
    rc80211_minstrel: fix contention window calculation
    ssb/sdio: fix printk format warnings
    p54usb: add Zcomax XG-705A usbid
    ...

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (51 commits)
    MIPS: BCM63xx: Add integrated ethernet mac support.
    MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.
    MIPS: BCM63xx: Add Broadcom 63xx CPU definitions.
    MIPS: Octeon: Move some platform device registration to its own file.
    MIPS: Don't corrupt page tables on vmalloc fault.
    MIPS: Shrink the size of tlb handler
    MIPS: Alchemy: override loops_per_jiffy detection
    MIPS: hw_random: Add hardware RNG for Octeon SOCs.
    MIPS: Octeon: Add hardware RNG platform device.
    MIPS: Remove useless zero initializations.
    MIPS: Alchemy: get rid of allow_au1k_wait
    MIPS: Octeon: Set kernel_uses_llsc to false on non-SMP builds.
    MIPS: Allow kernel use of LL/SC to be separate from the presence of LL/SC.
    MIPS: Get rid of CONFIG_CPU_HAS_LLSC
    MIPS: Malta: Remove pointless use use of CONFIG_CPU_HAS_LLSC
    MIPS: Rewrite clearing of ll_bit on context switch in C
    MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler
    MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file.
    MIPS: Clean up linker script using new linker script macros.
    MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Fix MSI GX620 mixer
    ASoC: remove unused #include
    ASoC: S3C lrsync function made to work with IRQs disabled.
    ALSA: hda - Fix Dell S14 pin setup
    ALSA: hda - Fix IDT92HD83* codec setup
    ASoC: Fix display of stream name in DAPM debugfs
    ALSA: hda - Add support for HP dv6
    ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs
    ALSA: hda - Set default GPIO for IDT92HD71bxx
    ALSA: hda - Set default GPIO for STAC/IDT codecs
    ASoC: Clean up error handling in MPC5200 DMA setup
    ALSA: hda - Add missing model=auto entry for ALC269

    Linus Torvalds
     
  • * fix/hda:
    ALSA: hda - Fix MSI GX620 mixer
    ALSA: hda - Fix Dell S14 pin setup
    ALSA: hda - Fix IDT92HD83* codec setup
    ALSA: hda - Add support for HP dv6
    ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs
    ALSA: hda - Set default GPIO for IDT92HD71bxx
    ALSA: hda - Set default GPIO for STAC/IDT codecs
    ALSA: hda - Add missing model=auto entry for ALC269

    Takashi Iwai
     
  • * fix/asoc:
    ASoC: remove unused #include
    ASoC: S3C lrsync function made to work with IRQs disabled.
    ASoC: Fix display of stream name in DAPM debugfs
    ASoC: Clean up error handling in MPC5200 DMA setup

    Takashi Iwai
     
  • Signed-off-by: Maxime Bizon
    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller
    Signed-off-by: Ralf Baechle

    Maxime Bizon
     
  • Signed-off-by: Maxime Bizon
    Signed-off-by: Florian Fainelli
    Signed-off-by: Ralf Baechle

    Maxime Bizon
     
  • Todo: Nothing ever detects CPU_BCM6338 but the code tests for it anyway.

    Signed-off-by: Maxime Bizon
    Signed-off-by: Ralf Baechle

    Maxime Bizon
     
  • There is a bunch of platform device registration in
    arch/mips/cavium-octeon/setup.c. We move it to its own file in
    preparation for adding more platform devices.

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

    David Daney
     
  • The code after the vmalloc_fault: label in do_page_fault() modifies
    user page tables, this is not correct for 64-bit kernels.

    For 64-bit kernels we should go straight to the no_context handler
    skipping vmalloc_fault.

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

    David Daney
     
  • By combining swapper_pg_dir and module_pg_dir, several if conditions
    can be eliminated from the tlb exception handler. The reason they
    can be combined is that, the effective virtual address of vmalloc
    returned is at the bottom, and of module_alloc returned is at the
    top. It also fixes the bug in vmalloc(), which happens when its
    return address is not covered by the first pgd.

    Signed-off-by: Wu Fei
    Signed-off-by: Ralf Baechle

    Wu Fei
     
  • loops_per_jiffy depends on coreclk speed; preset it instead of
    letting the kernel waste precious microseconds trying to approximate it.

    Signed-off-by: Manuel Lauss
    Signed-off-by: Ralf Baechle

    Manuel Lauss
     
  • Signed-off-by: David Daney
    Acked-by: Herbert Xu
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Add a platform device for the Octeon Random Number Generator (RNG).

    Signed-off-by: David Daney
    Acked-by: Herbert Xu
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Eliminate the 'allow_au1k_wait' variable. MIPS kernel installs the
    Alchemy-specific wait code before timer initialization; if the C0
    timer must be used for timekeeping the wait function is set to NULL
    which means no wait implementation is available.

    As a sideeffect, the 'wait instruction available' output in
    /proc/cpuinfo now correctly indicates whether 'wait' is usable.

    Run-tested on DB1200.

    Signed-off-by: Manuel Lauss
    Signed-off-by: Ralf Baechle

    Manuel Lauss
     
  • Signed-off-by: David Daney
    Signed-off-by: Ralf Baechle

    David Daney
     
  • On some CPUs, it is more efficient to disable and enable interrupts in the
    kernel rather than use ll/sc for atomic operations. But if we were to set
    cpu_has_llsc to false, we would break the userspace futex interface (in
    asm/futex.h).

    We separate the two concepts, with a new predicate kernel_uses_llsc, that
    lets us disable the kernel's use of ll/sc while still allowing the futex
    code to use it.

    Also there were a couple of cases in bitops.h where we were using ll/sc
    unconditionally even if cpu_has_llsc were false.

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

    David Daney
     
  • CONFIG_CPU_HAS_LLSC duplicated the function of cpu_has_llsc for no good
    reason and and the results if the one was enabled and the other disabled
    was very unobvious. Remove it now that there are no more remaining users.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • All CPUs for Malta support LL/SC.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • This also means there is now only one implementation not 3 left.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • This way it doesn't have to use CONFIG_CPU_HAS_LLSC anymore.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • This patch results in fewer output sections and in some data being
    reordered, but should have no functional impact.

    Signed-off-by: Nelson Elhage
    Signed-off-by: Tim Abbott
    Signed-off-by: Ralf Baechle

    Nelson Elhage
     
  • Now that PAGE_SIZE is available to assembly directly, there is no need
    to separately expose it as _PAGE_SIZE through asm-offsets.

    In addition, remove _PAGE_SHIFT from asm-offsets, since it was never
    needed, and is not used anywhere.

    Signed-off-by: Nelson Elhage
    Signed-off-by: Tim Abbott
    Signed-off-by: Ralf Baechle

    Nelson Elhage
     
  • Signed-off-by: Christoph Hellwig
    Signed-off-by: Ralf Baechle

    Christoph Hellwig
     
  • This patch makes the board code register the ar7_wdt driver as a platform
    device. We move the dynamic resource calculation here since the driver
    should not be aware of the AR7 SoC version it is running on.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     
  • Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Because only gcc >=4.4 have loongson-specific support, we need to choose
    the suitable -march argument for gcc = 4.4, and here, we
    use -march=loongson2e for loongson2e.

    Thanks goes to Arnaud Patard for suggestion of
    using cc-options(Documentation/kbuild/makefiles.txt). and thanks Zhang
    Le for introducing the new CPU_LOONGSON2E kernel option.

    NOTE: -mtune option is not need if -march and -mtune use the same value.

    Signed-off-by: Zhang Le
    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • The difference between some loongson-based machines is very small, so, if
    there is no necessary to add new kernel config options to cope with this
    difference, it will be better to share the same kernel image file between
    them, benefit from this, the linux distribution developers only have a need
    to compile the kernel one time.

    This machtype kernel command line argument will be used later to share the
    same kernel image file between two different machines(menglong & yeeloong)
    made by lemote.

    Thanks very much to Zhang Le for cleaning up the machtype implementation.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • To share common loongson source code between all of the loongson-based
    machines. there is a need to split it out of the fuloong-2e/ directory.
    at the same time, other according tuning is needed. the machine-specific
    parts are defined as macros in relative header file, pci.h, mem.h,
    machine.h.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • To make source code of loongson sharable to the machines(such as gdium)
    made by the other companies, we rename arch/mips/lemote to
    arch/mips/loongson, asm/mach-lemote to asm/mach-loongson, and rename lm2e
    to the name of the machine: fuloong-2e. accordingly, FULONG are renamed to
    FULOONG2E to make it distinguishable to the future FULOONG2F. and also,
    some other relative tuning is needed.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • This kernel support is needed by the user-space tool:oprofile to profile
    linux kernel or applications via loongson2 performance counters. you can
    enable this driver via CONFIG_OPROFILE = y or m.

    On Loongson2 there are two performance counters, each one can count 16
    events respectively. when anyone of the performance counter overflows, an
    interrupt will be generated and is routed to the IRQ MIPS_CPU_IRQ_BASE + 6.

    Signed-off-by: Yanhua
    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • RTC_LIB is selected by MIPS by default, and therefore, the legacy RTC
    driver is disabled. but fortunately, RTC_LIB not works on fulong, so,
    enabling the legcy RTC driver is needed, otherwise, the tools like
    hwclock will not work.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Fixup the wrong original comment of pcimap, and make the source code more
    understandable. and also, some new extra consideration is added in.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • With the help of script/checkpatch.pl, i have cleaned up the coding
    style.

    1. remove un-needed header files and tune some comments.
    2. remove some un-needed { }

    add a new header file loongson.h:

    3. move some common header files to loongson.h
    4. move some common extern declartions to loongson.h

    and this new header file is needed for future loongson2f support.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • This patch split the old initilization and setup implementation to
    several file, one file one logic function.

    the other main changes include:

    1. as the script/checkpatch.pl suggests, use strict_strtol instead
    of simple_strtol in arch/mips/lemote/lm2e/cmdline.c

    2. use the existed macros in asm/mips-boards/bonito64.h as the
    arguments of set_io_port_base() and remove the un-needed ones in
    asm/mach-lemote/pci.h

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • mips_io_port_base is initialized via set_io_port_base() in
    arch/mips/lemote/lm2e/setup.c, we can use it directly here.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Several magic numbers have been replaced by relative macros, which will be
    more readable and understandable.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • The implmentation of loongson2e_power_off and loongson2e_halt is almostly
    the same, just preserve one of them.

    Signed-off-by: Wu Zhangjin
    Signed-off-by: Ralf Baechle

    Wu Zhangjin