26 Jan, 2011

7 commits

  • Claiming the IRQ each time a playback or capture interface is opened
    is wasteful; the second copy of the registered handler is identical to
    the first and just wastes resources. Track the number of opens and
    only register the handler when necessary.

    Signed-off-by: Russell King

    Russell King
     
  • Relying on the access time of peripherals is unreliable - it depends
    on the speed of the CPU and the bus. On Versatile Express, these
    timeouts were expiring, causing the driver to fail.

    Add udelay(1) to ensure that they don't expire early, and adjust
    timeouts to give a reasonable margin over the response times.

    Signed-off-by: Russell King

    Russell King
     
  • Ensure that a timeout coincident with the condition being waited for
    results in success rather than failure. This helps avoid timeout
    conditions being inappropriately flagged.

    Signed-off-by: Russell King

    Russell King
     
  • The EP93xx C and D GPIO ports are multiplexed with the Keypad Interface
    peripheral.  At power-up they default into non-GPIO mode with the Key
    Matrix controller enabled so these ports are unusable for GPIO.  Note
    that the Keypad Interface peripheral is only available in the EP9307,
    EP9312, and EP9315 processor variants.

    The keypad support will clear the DeviceConfig bits appropriately to
    enable the Keypad Interface when the driver is loaded.  And, when the
    driver is unloaded it will set the bits to return the ports to GPIO mode.

    To make these ports available for GPIO after power-up on all EP93xx
    processor variants, set the KEYS and GONK bits in the DeviceConfig
    register.

    Similarly, the E, G, and H ports are multiplexed with the IDE Interface
    peripheral.  At power-up these also default into non-GPIO mode.  Note
    that the IDE peripheral is only available in the EP9312 and EP9315
    processor variants.

    Since an IDE driver is not even available in mainline, set the EONIDE,
    GONIDE, and HONIDE bits in the DeviceConfig register so that these
    ports will be available for GPIO use after power-up.

    Signed-off-by: H Hartley Sweeten
    Acked-by: Ryan Mallon
    Signed-off-by: Russell King

    Hartley Sweeten
     
  • Changing the virt_to_phys() argument to "const volatile void *" avoids
    compiler warnings in some situations where this function is used.

    Signed-off-by: Catalin Marinas
    Acked-by: Stephen Boyd
    Acked-by: Arnd Bergmann
    Signed-off-by: Russell King

    Catalin Marinas
     
  • Ensure that the twd timer reload value is reprogrammed each time we
    enter periodic mode. This ensures that the reload value is always
    reset correctly.

    Tested-by: Santosh Shilimkar
    Acked-by: Colin Cross
    Signed-off-by: Russell King

    Russell King
     
  • Timers on Versatile Express mainboard are used as system clock/event
    sources. Driver assumes that they are clocked with 1MHz signal.
    Old V2M firmware apparently configured it by default, but on newer
    boards one can observe that "sleep 1" command takes over 30 seconds
    to finish, as the timers are fed with 32kHz instead...

    This patch performs required magic and also removes code clearing
    timer's control registers, as exactly the same operations are
    performed by the timer driver few jiffies later.

    Signed-off-by: Pawel Moll
    Tested-by: Will Deacon
    Signed-off-by: Russell King

    Pawel Moll
     

25 Jan, 2011

3 commits

  • Update the option text to those which appear on the front of the
    appropriate board user guides. This gives consistent board naming, and
    makes it obvious which option is for which platform.

    Acked-by: Catalin Marinas
    Signed-off-by: Russell King

    Russell King
     
  • As no one seems to really know which configuration options tie up with
    which boards, I thought I'd do some investigation and try to work it
    out. After discussion with some folk in linaro, I think I have this
    nailed.

    The names are updated to use the name on the front of the appropriate
    board user guide for the various baseboards, which I've taken to be
    the official name for each board.

    I haven't significantly updated the descriptions for the tiles as that
    is even less clear - as far as I can see on ARMs website, there is no
    Cortex-A9 tile for Realview EB - only ARM11MPCore, ARM1156T2F-S,
    ARM1176TZF-S and Cortex-R4F. So exactly what this 'Multicore Cortex-A9
    Tile' is...

    Acked-by: Catalin Marinas
    Signed-off-by: Russell King

    Russell King
     
  • Fix two section mismatch warnings in the platform SMP bringup code for
    Realview and Versatile Express:

    WARNING: arch/arm/mach-realview/built-in.o(.text+0x8ac): Section mismatch in reference from the function write_pen_release() to the variable .cpuinit.data:pen_release
    The function write_pen_release() references
    the variable __cpuinitdata pen_release.
    This is often because write_pen_release lacks a __cpuinitdata
    annotation or the annotation of pen_release is wrong.

    WARNING: arch/arm/mach-vexpress/built-in.o(.text+0x7b4): Section mismatch in reference from the function write_pen_release() to the variable .cpuinit.data:pen_release
    The function write_pen_release() references
    the variable __cpuinitdata pen_release.
    This is often because write_pen_release lacks a __cpuinitdata
    annotation or the annotation of pen_release is wrong.

    Signed-off-by: Russell King

    Russell King
     

22 Jan, 2011

16 commits

  • Linus Torvalds
     
  • * 'media_fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (101 commits)
    [media] staging/lirc: fix mem leaks and ptr err usage
    [media] hdpvr: reduce latency of i2c read/write w/recycled buffer
    [media] hdpvr: enable IR part
    [media] rc/mceusb: timeout should be in ns, not us
    [media] v4l2-device: fix 'use-after-freed' oops
    [media] v4l2-dev: don't memset video_device.dev
    [media] zoran: use video_device_alloc instead of kmalloc
    [media] w9966: zero device state after a detach
    [media] v4l: Fix a use-before-set in the control framework
    [media] v4l: Include linux/videodev2.h in media/v4l2-ctrls.h
    [media] DocBook/v4l: update V4L2 revision and update copyright years
    [media] DocBook/v4l: fix validation error in dev-rds.xml
    [media] v4l2-ctrls: queryctrl shouldn't attempt to replace V4L2_CID_PRIVATE_BASE IDs
    [media] v4l2-ctrls: fix missing 'read-only' check
    [media] pvrusb2: Provide more information about IR units to lirc_zilog and ir-kbd-i2c
    [media] ir-kbd-i2c: Add back defaults setting for Zilog Z8's at addr 0x71
    [media] lirc_zilog: Update TODO.lirc_zilog
    [media] lirc_zilog: Add Andy Walls to copyright notice and authors list
    [media] lirc_zilog: Remove useless struct i2c_driver.command function
    [media] lirc_zilog: Remove unneeded tests for existence of the IR Tx function
    ...

    Linus Torvalds
     
  • Fix up comments in the key management code. No functional changes.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Do a bit of a style clean up in the key management code. No functional
    changes.

    Done using:

    perl -p -i -e 's!^/[*]*/\n!!' security/keys/*.c
    perl -p -i -e 's!} /[*] end [a-z0-9_]*[(][)] [*]/\n!}\n!' security/keys/*.c
    sed -i -s -e ": next" -e N -e 's/^\n[}]$/}/' -e t -e P -e 's/^.*\n//' -e "b next" security/keys/*.c

    To remove /*****/ lines, remove comments on the closing brace of a
    function to name the function and remove blank lines before the closing
    brace of a function.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    cifs: fix up CIFSSMBEcho for unaligned access
    cifs: fix unaligned accesses in cifsConvertToUCS
    cifs: clean up unaligned accesses in cifs_unicode.c
    cifs: fix unaligned access in check2ndT2 and coalesce_t2
    cifs: clean up unaligned accesses in validate_t2
    cifs: use get/put_unaligned functions to access ByteCount
    cifs: move time field in cifsInodeInfo
    cifs: TCP_Server_Info diet
    CIFS: Implement cifs_strict_readv (try #4)
    CIFS: Implement cifs_file_strict_mmap (try #2)
    CIFS: Implement cifs_strict_fsync
    CIFS: Make cifsFileInfo_put work with strict cache mode

    Linus Torvalds
     
  • * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
    x86,percpu: Move out of place 64 bit ops into X86_64 section

    Linus Torvalds
     
  • * 'fixes-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
    workqueue: note the nested NOT_RUNNING test in worker_clr_flags() isn't a noop
    workqueue: relax lockdep annotation on flush_work()

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits)
    um: Use generic irq Kconfig
    tile: Use generic irq Kconfig
    sparc: Use generic irq Kconfig
    score: Use generic irq Kconfig
    powerpc: Use generic irq Kconfig
    parisc: Use generic irq Kconfig
    mn10300: Use generic irq Kconfig
    microblaze: Use generic irq Kconfig
    m68knommu: Use generic irq Kconfig
    ia64: Use generic irq Kconfig
    frv: Use generic irq Kconfig
    blackfin: Use generic irq Kconfig
    alpha: Use generic irq Kconfig
    genirq: Remove __do_IRQ
    m32r: Convert to generic irq Kconfig
    m32r: Convert usrv platform irq handling
    m32r: Convert opsput_lcdpld irq chip
    m32r: Convert opsput lanpld irq chip
    m32r: Convert opsput pld irq chip
    m32r: Convert opsput irq chip
    ...

    Linus Torvalds
     
  • * 'stable/bug-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: p2m: correctly initialize partial p2m leaf
    xen: fix non-ANSI function warning in irq.c

    Linus Torvalds
     
  • …git/ieee1394/linux1394-2.6

    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    firewire: core: fix unstable I/O with Canon camcorder

    * 'fwnet' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    firewire: net: is not experimental anymore
    firewire: net: invalidate ARP entries of removed nodes

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
    ALSA: hda - Fix EAPD to low on CZC P10T tablet computer with ALC662
    ALSA: HDA: Add SKU ignore for another Thinkpad Edge 14
    ALSA: hda - Fix "unused variable" compile warning
    ALSA: hda - Add quirk for HP Z-series workstation
    Revert "ALSA: HDA: Create mixers on ALC887"
    ASoC: PXA: Fix codec address on Zipit Z2
    ASoC: PXA: Fix jack detection on Zipit Z2
    ASoC: Blackfin: fix DAI/SPORT config dependency issues
    ASoC: Blackfin TDM: use external frame syncs
    ASoC: Blackfin AC97: fix build error after multi-component update
    ASoC: Blackfin TDM: fix missed snd_soc_dai_get_drvdata update
    ASoC: documentation updates
    ALSA: ice1712 delta - initialize SPI clock

    Linus Torvalds
     
  • * 'devicetree/merge' of git://git.secretlab.ca/git/linux-2.6:
    powerpc/83xx: fix build failures on dt compatible list.

    Linus Torvalds
     
  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (34 commits)
    powerpc/mpic: Fix mask/unmask timeout message
    powerpc/pseries: Add BNX2=m to defconfig
    powerpc: Enable 64kB pages and 1024 threads in pseries config
    powerpc: Disable mcount tracers in pseries defconfig
    powerpc/boot/dts: Install dts from the right directory
    powerpc: machine_check_generic is wrong on 64bit
    powerpc: Check RTAS extended log flag before checking length
    powerpc: Fix corruption when grabbing FWNMI data
    powerpc: Rework pseries machine check handler
    powerpc: Don't silently handle machine checks from userspace
    powerpc: Remove duplicate debugger hook in machine_check_exception
    powerpc: Never halt RTAS error logging after receiving an unrecoverable machine check
    powerpc: Don't force MSR_RI in machine_check_exception
    powerpc: Print 32 bits of DSISR in show_regs
    powerpc/kdump: Disable ftrace during kexec
    powerpc/kdump: Move crash_kexec_stop_spus to kdump crash handler
    powerpc/kexec: Remove empty ppc_md.machine_kexec_prepare
    powerpc/kexec: Don't initialise kexec hooks to default handlers
    powerpc/kdump: Remove ppc_md.machine_crash_shutdown
    powerpc/kexec: Remove ppc_md.machine_kexec
    ...

    Linus Torvalds
     
  • The patch "thp: export maybe_mkwrite" (commit 14fd403f2146) breaks
    systems without MMU.

    Error log:

    CC arch/microblaze/mm/init.o
    In file included from include/linux/mman.h:14,
    from arch/microblaze/mm/consistent.c:24:
    include/linux/mm.h: In function 'maybe_mkwrite':
    include/linux/mm.h:482: error: implicit declaration of function 'pte_mkwrite'
    include/linux/mm.h:482: error: incompatible types in assignment

    Signed-off-by: Michal Simek
    CC: Andrea Arcangeli
    Reviewed-by: Rik van Riel
    CC: Andrew Morton
    CC: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Michal Simek
     
  • The cisco.com address will stop working soon, and besides no one can
    remember the second "d" in "rolandd" or how to spell "rdreier."

    Signed-off-by: Roland Dreier
    Signed-off-by: Linus Torvalds

    Roland Dreier
     
  • After changing the p2m mapping to a tree by

    commit 58e05027b530ff081ecea68e38de8d59db8f87e0
    xen: convert p2m to a 3 level tree

    and trying to boot a DomU with 615MB of memory, the following crash was
    observed in the dump:

    kernel direct mapping tables up to 26f00000 @ 1ec4000-1fff000
    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [] xen_set_pte+0x27/0x60
    *pdpt = 0000000000000000 *pde = 0000000000000000

    Adding further debug statements showed that when trying to set up
    pfn=0x26700 the returned mapping was invalid.

    pfn=0x266ff calling set_pte(0xc1fe77f8, 0x6b3003)
    pfn=0x26700 calling set_pte(0xc1fe7800, 0x3)

    Although the last_pfn obtained from the startup info is 0x26700, which
    should in turn not be hit, the additional 8MB which are added as extra
    memory normally seem to be ok. This lead to looking into the initial
    p2m tree construction, which uses the smaller value and assuming that
    there is other code handling the extra memory.

    When the p2m tree is set up, the leaves are directly pointed to the
    array which the domain builder set up. But if the mapping is not on a
    boundary that fits into one p2m page, this will result in the last leaf
    being only partially valid. And as the invalid entries are not
    initialized in that case, things go badly wrong.

    I am trying to fix that by checking whether the current leaf is a
    complete map and if not, allocate a completely new page and copy only
    the valid pointers there. This may not be the most efficient or elegant
    solution, but at least it seems to allow me booting DomUs with memory
    assignments all over the range.

    BugLink: http://bugs.launchpad.net/bugs/686692
    [v2: Redid a bit of commit wording and fixed a compile warning]

    Signed-off-by: Stefan Bader
    Signed-off-by: Konrad Rzeszutek Wilk

    Stefan Bader
     

21 Jan, 2011

14 commits