07 Apr, 2012

6 commits

  • Pull arch/tile bug fixes from Chris Metcalf:
    "This includes Paul Gortmaker's change to fix the
    disintegration issues on tile, a fix to unbreak the tilepro ethernet
    driver, and a backlog of bugfix-only changes from internal Tilera
    development over the last few months.

    They have all been to LKML and on linux-next for the last few days.
    The EDAC change to MAINTAINERS is an oddity but discussion on the
    linux-edac list suggested I ask you to pull that change through my
    tree since they don't have a tree to pull edac changes from at the
    moment."

    * 'stable' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (39 commits)
    drivers/net/ethernet/tile: fix netdev_alloc_skb() bombing
    MAINTAINERS: update EDAC information
    tilepro ethernet driver: fix a few minor issues
    tile-srom.c driver: minor code cleanup
    edac: say "TILEGx" not "TILEPro" for the tilegx edac driver
    arch/tile: avoid accidentally unmasking NMI-type interrupt accidentally
    arch/tile: remove bogus performance optimization
    arch/tile: return SIGBUS for addresses that are unaligned AND invalid
    arch/tile: fix finv_buffer_remote() for tilegx
    arch/tile: use atomic exchange in arch_write_unlock()
    arch/tile: stop mentioning the "kvm" subdirectory
    arch/tile: export the page_home() function.
    arch/tile: fix pointer cast in cacheflush.c
    arch/tile: fix single-stepping over swint1 instructions on tilegx
    arch/tile: implement panic_smp_self_stop()
    arch/tile: add "nop" after "nap" to help GX idle power draw
    arch/tile: use proper memparse() for "maxmem" options
    arch/tile: fix up locking in pgtable.c slightly
    arch/tile: don't leak kernel memory when we unload modules
    arch/tile: fix bug in delay_backoff()
    ...

    Linus Torvalds
     
  • Pull xen fixes from Konrad Rzeszutek Wilk:
    "Two fixes for regressions:
    * one is a workaround that will be removed in v3.5 with proper fix in
    the tip/x86 tree,
    * the other is to fix drivers to load on PV (a previous patch made
    them only load in PVonHVM mode).

    The rest are just minor fixes in the various drivers and some cleanup
    in the core code."

    * tag 'stable/for-linus-3.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen/pcifront: avoid pci_frontend_enable_msix() falsely returning success
    xen/pciback: fix XEN_PCI_OP_enable_msix result
    xen/smp: Remove unnecessary call to smp_processor_id()
    xen/x86: Workaround 'x86/ioapic: Add register level checks to detect bogus io-apic entries'
    xen: only check xen_platform_pci_unplug if hvm

    Linus Torvalds
     
  • I have a new optimized x86 "strncpy_from_user()" that will use these
    same helper functions for all the same reasons the name lookup code uses
    them. This is preparation for that.

    This moves them into an architecture-specific header file. It's
    architecture-specific for two reasons:

    - some of the functions are likely to want architecture-specific
    implementations. Even if the current code happens to be "generic" in
    the sense that it should work on any little-endian machine, it's
    likely that the "multiply by a big constant and shift" implementation
    is less than optimal for an architecture that has a guaranteed fast
    bit count instruction, for example.

    - I expect that if architectures like sparc want to start playing
    around with this, we'll need to abstract out a few more details (in
    particular the actual unaligned accesses). So we're likely to have
    more architecture-specific stuff if non-x86 architectures start using
    this.

    (and if it turns out that non-x86 architectures don't start using
    this, then having it in an architecture-specific header is still the
    right thing to do, of course)

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull networking updates from David Miller:

    1) Fix inaccuracies in network driver interface documentation, from Ben
    Hutchings.

    2) Fix handling of negative offsets in BPF JITs, from Jan Seiffert.

    3) Compile warning, locking, and refcounting fixes in netfilter's
    xt_CT, from Pablo Neira Ayuso.

    4) phonet sendmsg needs to validate user length just like any other
    datagram protocol, fix from Sasha Levin.

    5) Ipv6 multicast code uses wrong loop index, from RongQing Li.

    6) Link handling and firmware fixes in bnx2x driver from Yaniv Rosner
    and Yuval Mintz.

    7) mlx4 erroneously allocates 4 pages at a time, regardless of page
    size, fix from Thadeu Lima de Souza Cascardo.

    8) SCTP socket option wasn't extended in a backwards compatible way,
    fix from Thomas Graf.

    9) Add missing address change event emissions to bonding, from Shlomo
    Pongratz.

    10) /proc/net/dev regressed because it uses a private offset to track
    where we are in the hash table, but this doesn't track the offset
    pullback that the seq_file code does resulting in some entries being
    missed in large dumps.

    Fix from Eric Dumazet.

    11) do_tcp_sendpage() unloads the send queue way too fast, because it
    invokes tcp_push() when it shouldn't. Let the natural sequence
    generated by the splice paths, and the assosciated MSG_MORE
    settings, guide the tcp_push() calls.

    Otherwise what goes out of TCP is spaghetti and doesn't batch
    effectively into GSO/TSO clusters.

    From Eric Dumazet.

    12) Once we put a SKB into either the netlink receiver's queue or a
    socket error queue, it can be consumed and freed up, therefore we
    cannot touch it after queueing it like that.

    Fixes from Eric Dumazet.

    13) PPP has this annoying behavior in that for every transmit call it
    immediately stops the TX queue, then calls down into the next layer
    to transmit the PPP frame.

    But if that next layer can take it immediately, it just un-stops the
    TX queue right before returning from the transmit method.

    Besides being useless work, it makes several facilities unusable, in
    particular things like the equalizers. Well behaved devices should
    only stop the TX queue when they really are full, and in PPP's case
    when it gets backlogged to the downstream device.

    David Woodhouse therefore fixed PPP to not stop the TX queue until
    it's downstream can't take data any more.

    14) IFF_UNICAST_FLT got accidently lost in some recent stmmac driver
    changes, re-add. From Marc Kleine-Budde.

    15) Fix link flaps in ixgbe, from Eric W. Multanen.

    16) Descriptor writeback fixes in e1000e from Matthew Vick.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
    net: fix a race in sock_queue_err_skb()
    netlink: fix races after skb queueing
    doc, net: Update ndo_start_xmit return type and values
    doc, net: Remove instruction to set net_device::trans_start
    doc, net: Update netdev operation names
    doc, net: Update documentation of synchronisation for TX multiqueue
    doc, net: Remove obsolete reference to dev->poll
    ethtool: Remove exception to the requirement of holding RTNL lock
    MAINTAINERS: update for Marvell Ethernet drivers
    bonding: properly unset current_arp_slave on slave link up
    phonet: Check input from user before allocating
    tcp: tcp_sendpages() should call tcp_push() once
    ipv6: fix array index in ip6_mc_add_src()
    mlx4: allocate just enough pages instead of always 4 pages
    stmmac: re-add IFF_UNICAST_FLT for dwmac1000
    bnx2x: Clear MDC/MDIO warning message
    bnx2x: Fix BCM57711+BCM84823 link issue
    bnx2x: Clear BCM84833 LED after fan failure
    bnx2x: Fix BCM84833 PHY FW version presentation
    bnx2x: Fix link issue for BCM8727 boards.
    ...

    Linus Torvalds
     
  • There is an extra and unnecessary call to smp_processor_id()
    in cpu_bringup(). Remove it.

    Signed-off-by: Srivatsa S. Bhat
    Signed-off-by: Konrad Rzeszutek Wilk

    Srivatsa S. Bhat
     
  • The above mentioned patch checks the IOAPIC and if it contains
    -1, then it unmaps said IOAPIC. But under Xen we get this:

    BUG: unable to handle kernel NULL pointer dereference at 0000000000000040
    IP: [] xen_irq_init+0x1f/0xb0
    PGD 0
    Oops: 0002 [#1] SMP
    CPU 0
    Modules linked in:

    Pid: 1, comm: swapper/0 Not tainted 3.2.10-3.fc16.x86_64 #1 Dell Inc. Inspiron
    1525 /0U990C
    RIP: e030:[] [] xen_irq_init+0x1f/0xb0
    RSP: e02b: ffff8800d42cbb70 EFLAGS: 00010202
    RAX: 0000000000000000 RBX: 00000000ffffffef RCX: 0000000000000001
    RDX: 0000000000000040 RSI: 00000000ffffffef RDI: 0000000000000001
    RBP: ffff8800d42cbb80 R08: ffff8800d6400000 R09: 0000000000000000
    R10: 0000000000000000 R11: 0000000000000000 R12: 00000000ffffffef
    R13: 0000000000000001 R14: 0000000000000001 R15: 0000000000000010
    FS: 0000000000000000(0000) GS:ffff8800df5fe000(0000) knlGS:0000000000000000
    CS: e033 DS: 0000 ES: 0000 CR0:000000008005003b
    CR2: 0000000000000040 CR3: 0000000001a05000 CR4: 0000000000002660
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process swapper/0 (pid: 1, threadinfo ffff8800d42ca000, task ffff8800d42d0000)
    Stack:
    00000000ffffffef 0000000000000010 ffff8800d42cbbe0 ffffffff8134f157
    ffffffff8100a9b2 ffffffff8182ffd1 00000000000000a0 00000000829e7384
    0000000000000002 0000000000000010 00000000ffffffff 0000000000000000
    Call Trace:
    [] xen_bind_pirq_gsi_to_irq+0x87/0x230
    [] ? check_events+0x12+0x20
    [] xen_register_pirq+0x82/0xe0
    [] xen_register_gsi.part.2+0x4a/0xd0
    [] acpi_register_gsi_xen+0x20/0x30
    [] acpi_register_gsi+0xf/0x20
    [] acpi_pci_irq_enable+0x12e/0x202
    [] pcibios_enable_device+0x39/0x40
    [] do_pci_enable_device+0x4b/0x70
    [] __pci_enable_device_flags+0xa8/0xf0
    [] pci_enable_device+0x13/0x20

    The reason we are dying is b/c the call acpi_get_override_irq() is used,
    which returns the polarity and trigger for the IRQs. That function calls
    mp_find_ioapics to get the 'struct ioapic' structure - which along with the
    mp_irq[x] is used to figure out the default values and the polarity/trigger
    overrides. Since the mp_find_ioapics now returns -1 [b/c the IOAPIC is filled
    with 0xffffffff], the acpi_get_override_irq() stops trying to lookup in the
    mp_irq[x] the proper INT_SRV_OVR and we can't install the SCI interrupt.

    The proper fix for this is going in v3.5 and adds an x86_io_apic_ops
    struct so that platforms can override it. But for v3.4 lets carry this
    work-around. This patch does that by providing a slightly different variant
    of the fake IOAPIC entries.

    Signed-off-by: Konrad Rzeszutek Wilk

    Konrad Rzeszutek Wilk
     

06 Apr, 2012

13 commits

  • Pull "ARM: SoC fixes: from Olof Johansson:
    "A bunch of fixes for regressions (and a few other problems) in
    3.4-rc1:

    - Fix for regression of mach/io.h cleanup on platforms with PCI or
    PCMCIA (adding back the include file on those for now)
    - AT91 fixes for usb and spi
    - smsc911x ethernet fixes for i.MX
    - smsc911x fixes for OMAP
    - gpio fixes for Tegra
    - A handful of build error and warning fixes for various platforms
    - cpufreq kconfig dependencies, build and lowlevel debug fixes for
    Samsung platforms

    In other words, more or less the regular collection of -rc1/2 type
    material. A few of them, in particular the smsc911x for OMAP series,
    aren't technically regressions for 3.4, but they're valid fixes and
    we're still relatively early in the rc cycle so it seems appropriate
    to include them."

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
    ARM: fix __io macro for PCMCIA
    ARM: EXYNOS: Fix compiler warning in dma.c file
    ARM: EXYNOS: fix ISO C90 warning
    ARM: OMAP2+: hwmod: Fix wrong SYSC_TYPE1_XXX_MASK bit definitions
    ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
    ARM: OMAP2+: hwmod: Restore sysc after a reset
    ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules
    ARM: OMAP3: clock data: fill in some missing clockdomains
    ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock
    ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL
    ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()
    gpio: tegra: Iterate over the correct number of banks
    gpio: tegra: fix register address calculations for Tegra30
    EXYNOS: fix dependency for EXYNOS_CPUFREQ
    ARM: at91: dt: remove unit-address part for memory nodes
    ARM: at91: fix check of valid GPIO for SPI and USB
    USB: ehci-atmel: add needed of.h header file
    ARM: at91/NAND DT bindings: add comments
    ARM: at91/at91sam9x5.dtsi: fix NAND ale/cle in DT file
    USB: ohci-at91: trivial return code name change
    ...

    Linus Torvalds
     
  • To fix compile error:
    drivers/usb/musb/blackfin.h:51:3: error: #error "Please use PIO mode in MUSB
    driver on bf52x chip v0.0 and v0.1"
    make[4]: *** [drivers/usb/musb/blackfin.o] Error 1

    Signed-off-by: Bob Liu

    Bob Liu
     
  • Add __gpio_get_value()/__gpio_set_value() to fix compile error if
    CONFIG_GPIOLIB = n.

    Signed-off-by: Bob Liu

    Bob Liu
     
  • This patch fix below compile error:
    "bfin-uclinux-ld: L1 data A overflow!"

    It is due to the recent lib/gen_crc32table.c change:
    46c5801eaf86e83cb3a4142ad35188db5011fff0
    crc32: bolt on crc32c

    it added 8KiB more data to __cacheline_aligned which cause blackfin L1 data
    cache overflow.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Bob Liu

    Mike Frysinger
     
  • …/git/pjw/omap-pending into fixes

    From Paul Walmsley:

    OMAP clock, powerdomain, clockdomain, and hwmod fixes intended for the
    early v3.4-rc series. Also contains an HSMMC integration refinement
    of an earlier hardware bug workaround.

    * tag 'omap-fixes-a2-for-3.4rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
    ARM: OMAP2+: hwmod: Fix wrong SYSC_TYPE1_XXX_MASK bit definitions
    ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
    ARM: OMAP2+: hwmod: Restore sysc after a reset
    ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules
    ARM: OMAP3: clock data: fill in some missing clockdomains
    ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock
    ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL
    ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()
    ARM: OMAP AM3517/3505: clock data: change EMAC clocks aliases
    ARM: OMAP: clock: fix race in disable all clocks
    ARM: OMAP4: hwmod data: Add aliases for McBSP fclk clocks
    ARM: OMAP3xxx: clock data: fix DPLL4 CLKSEL masks
    ARM: OMAP3xxx: HSMMC: avoid erratum workaround when transceiver is attached
    ARM: OMAP44xx: clockdomain data: correct the emu_sys_clkdm CLKTRCTRL data

    Olof Johansson
     
  • Merge batch of fixes from Andrew Morton:
    "The simple_open() cleanup was held back while I wanted for laggards to
    merge things.

    I still need to send a few checkpoint/restore patches. I've been
    wobbly about merging them because I'm wobbly about the overall
    prospects for success of the project. But after speaking with Pavel
    at the LSF conference, it sounds like they're further toward
    completion than I feared - apparently davem is at the "has stopped
    complaining" stage regarding the net changes. So I need to go back
    and re-review those patchs and their (lengthy) discussion."

    * emailed from Andrew Morton : (16 patches)
    memcg swap: use mem_cgroup_uncharge_swap fix
    backlight: add driver for DA9052/53 PMIC v1
    C6X: use set_current_blocked() and block_sigmask()
    MAINTAINERS: add entry for sparse checker
    MAINTAINERS: fix REMOTEPROC F: typo
    alpha: use set_current_blocked() and block_sigmask()
    simple_open: automatically convert to simple_open()
    scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
    libfs: add simple_open()
    hugetlbfs: remove unregister_filesystem() when initializing module
    drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback
    fs/xattr.c:setxattr(): improve handling of allocation failures
    fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed
    fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()
    sysrq: use SEND_SIG_FORCED instead of force_sig()
    proc: fix mount -t proc -o AAA

    Linus Torvalds
     
  • As described in e6fa16ab9c1e ("signal: sigprocmask() should do
    retarget_shared_pending()") the modification of current->blocked is
    incorrect as we need to check whether the signal we're about to block is
    pending in the shared queue.

    Also, use the new helper function introduced in commit 5e6292c0f28f
    ("signal: add block_sigmask() for adding sigmask to current->blocked")
    which centralises the code for updating current->blocked after
    successfully delivering a signal and reduces the amount of duplicate
    code across architectures. In the past some architectures got this code
    wrong, so using this helper function should stop that from happening
    again.

    Acked-by: Mark Salter
    Cc: Aurelien Jacquiot
    Acked-by: Oleg Nesterov
    Signed-off-by: Matt Fleming
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Fleming
     
  • As described in e6fa16ab9c1e ("signal: sigprocmask() should do
    retarget_shared_pending()") the modification of current->blocked is
    incorrect as we need to check for shared signals we're about to block.

    Also, use the new helper function introduced in commit 5e6292c0f28f
    ("signal: add block_sigmask() for adding sigmask to current->blocked")
    which centralises the code for updating current->blocked after
    successfully delivering a signal and reduces the amount of duplicate
    code across architectures. In the past some architectures got this code
    wrong, so using this helper function should stop that from happening
    again.

    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Matt Turner
    Cc: Al Viro
    Acked-by: Oleg Nesterov
    Signed-off-by: Matt Fleming
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Fleming
     
  • Many users of debugfs copy the implementation of default_open() when
    they want to support a custom read/write function op. This leads to a
    proliferation of the default_open() implementation across the entire
    tree.

    Now that the common implementation has been consolidated into libfs we
    can replace all the users of this function with simple_open().

    This replacement was done with the following semantic patch:

    @ open @
    identifier open_f != simple_open;
    identifier i, f;
    @@
    -int open_f(struct inode *i, struct file *f)
    -{
    (
    -if (i->i_private)
    -f->private_data = i->i_private;
    |
    -f->private_data = i->i_private;
    )
    -return 0;
    -}

    @ has_open depends on open @
    identifier fops;
    identifier open.open_f;
    @@
    struct file_operations fops = {
    ...
    -.open = open_f,
    +.open = simple_open,
    ...
    };

    [akpm@linux-foundation.org: checkpatch fixes]
    Signed-off-by: Stephen Boyd
    Cc: Greg Kroah-Hartman
    Cc: Al Viro
    Cc: Julia Lawall
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Boyd
     
  • With commit c334bc1 (ARM: make mach/io.h include optional), PCMCIA was
    broken. PCMCIA depends on __io() returning a valid i/o address, and most
    ARM platforms require IO_SPACE_LIMIT be set to 0xffffffff for PCMCIA. This
    needs a better fix with a fixed i/o address mapping, but for now we just
    restore things to the previous behavior.

    This fixes at91, omap1, pxa and sa11xx. pxa needs io.h if PCI is enabled,
    but PCMCIA is not. sa11xx already has IO_SPACE_LIMIT set to 0xffffffff,
    so it doesn't need an io.h.

    Signed-off-by: Rob Herring
    Cc: Joachim Eastwood
    Cc: Russell King
    Cc: Andrew Victor
    Cc: Nicolas Ferre
    Cc: Jean-Christophe Plagniol-Villard
    Tested-by: Paul Parsons (pxa270)
    Acked-by: Tony Lindgren
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • …/git/kgene/linux-samsung into fixes

    * 'v3.4-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: Fix compiler warning in dma.c file
    ARM: EXYNOS: fix ISO C90 warning
    ARM: EXYNOS: use chip_id reg in uncompress to select uart base phys
    ARM: EXYNOS: fix CONFIG_DEBUG_LL
    ARM: S3C24XX: fix missing common.h in mach-s3c24xx/

    Olof Johansson
     
  • From Tony Lindgren:

    Note that this also contains a set of fixes that are not regressions
    or oopses to properly deal with the smsc911x regulator issue.

    Basically the regulators must be per board file as the regulators
    can also come from drivers, such as twl4030. So it's best to dumb
    down gpmc-smsc911x.c to not even care about the regulators.

    * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP: fix section mismatches in usb-host.c
    ARM: OMAP2+: Fix omap2+ build error
    ARM: OMAP2+: smsc911x: Add fixed board regulators
    ARM: OMAP2+: smsc911x: Remove regulator support from gmpc-smsc911x
    ARM: OMAP2+: smsc911x: Remove unused rate calculation
    ARM: OMAP2+ smsc911x: Fix possible stale smsc911x flags
    ARM: OMAP2+: smsc911x: Remove odd gpmc_cfg/board_data redirection
    ARM: OMAP3+: fix oops triggered in omap_prcm_register_chain_handler(v1)
    ARM: OMAP2+: OPP: allow OPP enumeration to continue if device is not present
    arm: omap3: pm34xx.c: Replace printk() with appropriate pr_*()
    arm: omap3: pm34xx.c: Fix omap3_pm_init() error out paths
    ARM: OMAP4: Workaround the OCP synchronisation issue with 32K synctimer.
    ARM: OMAP4: prm: fix interrupt register offsets
    ARM: OMAP: hwmod: Use sysc_fields->srst_shift and get rid of hardcoded SYSC_TYPE2_SOFTRESET_MASK

    Olof Johansson
     
  • * 'at91-fixes' of git://github.com/at91linux/linux-at91:
    ARM: at91: dt: remove unit-address part for memory nodes
    ARM: at91: fix check of valid GPIO for SPI and USB
    USB: ehci-atmel: add needed of.h header file
    ARM: at91/NAND DT bindings: add comments
    ARM: at91/at91sam9x5.dtsi: fix NAND ale/cle in DT file
    USB: ohci-at91: trivial return code name change
    USB: ohci-at91: change maximum number of ports
    USB: ohci-at91: rework and fix initialization
    ARM: at91/dts: USB host vbus is active low
    ARM: at91/USB host: specify and handle properly vbus_pin_active_low
    USB: ohci-at91: fix vbus_pin_active_low handling
    ARM: at91/at91sam9x5: add clkdev entries for DMA controllers

    Olof Johansson
     

05 Apr, 2012

21 commits

  • Fixes the following warning:
    warning: 'dma_dmamask' defined but not used [-Wunused-variable]

    Signed-off-by: Sachin Kamat
    Signed-off-by: Kukjin Kim

    Sachin Kamat
     
  • ISO C90 forbids mixed declarations and code.
    Fix it.

    Signed-off-by: Il Han
    Signed-off-by: Kukjin Kim

    Il Han
     
  • …1_1_128_refine_3.4rc1', 'hwmod_data_fixes_a_3.4rc', 'hwmod_fixes_a2_3.4rc' and 'powerdomain_fixes_a_3.4rc' into omap-fixes-a2-for-3.4rc-branch

    Paul Walmsley
     
  • In the SYSC_TYPE1_XXX_MASK configuration, SYSC_XXX_SHIFT macro
    is used which is not defined anywhere in the kernel.
    Until now the build was going through successfully, since it
    is not being used anywhere in kernel.

    This bug got introduced by the commit
    358f0e630d5409ab3837b86db3595560eae773b6 ("OMAP3: hwmod: support
    to specify the offset position of various SYSCONFIG register bits.")

    Signed-off-by: Vaibhav Hiremath
    Acked-by: Benoit Cousson
    Signed-off-by: Paul Walmsley

    Vaibhav Hiremath
     
  • omap_hwmod_softreset() does not seem to wait for reset status
    after doing a softreset. Make it use _ocp_softreset() instead
    which does this correctly.

    Signed-off-by: Rajendra Nayak
    Cc: Benoit Cousson
    Cc: Paul Walmsley
    Cc: Anand Gadiyar
    Cc: Shubhrajyoti D
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     
  • After a softreset, make sure the sysc settings are correctly
    restored.

    Reported-by: Anand Gadiyar
    Signed-off-by: Rajendra Nayak
    Cc: Benoit Cousson
    Cc: Paul Walmsley
    Cc: Shubhrajyoti D
    [paul@pwsan.com: combined post-reset SYSCONFIG reload code into the
    _reset() function to avoid duplication and future mistakes]
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     
  • Some modules doesn't have SYSC_HAS_ENAWAKEUP bit available (ex: usb
    host uhh module) in absence of this flag
    omap_hwmod_enable/disable_wakeup avoids configuring pad mux wakeup
    capability.

    Configure sysc if SYSC_HAS_ENAWAKEUP is available and for other cases
    try enabling/disabling wakeup from mux_pad pins.

    Cc: Paul Walmsley
    Cc: Kevin Hilman
    Cc: Rajendra Nayak
    Signed-off-by: Govindraj.R
    [paul@pwsan.com: updated function kerneldoc documentation]
    Signed-off-by: Paul Walmsley

    Govindraj.R
     
  • Pull KGDB/KDB regression fixes from Jason Wessel:
    - Fix a Smatch warning that appeared in the 3.4 merge window
    - Fix kgdb test suite with SMP for all archs without HW single stepping
    - Fix kgdb sw breakpoints with CONFIG_DEBUG_RODATA=y limitations on x86
    - Fix oops on kgdb test suite with CONFIG_DEBUG_RODATA
    - Fix kgdb test suite with SMP for all archs with HW single stepping

    * tag 'for_linus-3.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/kgdb:
    x86,kgdb: Fix DEBUG_RODATA limitation using text_poke()
    kgdb,debug_core: pass the breakpoint struct instead of address and memory
    kgdbts: (2 of 2) fix single step awareness to work correctly with SMP
    kgdbts: (1 of 2) fix single step awareness to work correctly with SMP
    kgdbts: Fix kernel oops with CONFIG_DEBUG_RODATA
    kdb: Fix smatch warning on dbg_io_ops->is_console

    Linus Torvalds
     
  • Pull DMA mapping branch from Marek Szyprowski:
    "Short summary for the whole series:

    A few limitations have been identified in the current dma-mapping
    design and its implementations for various architectures. There exist
    more than one function for allocating and freeing the buffers:
    currently these 3 are used dma_{alloc, free}_coherent,
    dma_{alloc,free}_writecombine, dma_{alloc,free}_noncoherent.

    For most of the systems these calls are almost equivalent and can be
    interchanged. For others, especially the truly non-coherent ones
    (like ARM), the difference can be easily noticed in overall driver
    performance. Sadly not all architectures provide implementations for
    all of them, so the drivers might need to be adapted and cannot be
    easily shared between different architectures. The provided patches
    unify all these functions and hide the differences under the already
    existing dma attributes concept. The thread with more references is
    available here:

    http://www.spinics.net/lists/linux-sh/msg09777.html

    These patches are also a prerequisite for unifying DMA-mapping
    implementation on ARM architecture with the common one provided by
    dma_map_ops structure and extending it with IOMMU support. More
    information is available in the following thread:

    http://thread.gmane.org/gmane.linux.kernel.cross-arch/12819

    More works on dma-mapping framework are planned, especially in the
    area of buffer sharing and managing the shared mappings (together with
    the recently introduced dma_buf interface: commit d15bd7ee445d
    "dma-buf: Introduce dma buffer sharing mechanism").

    The patches in the current set introduce a new alloc/free methods
    (with support for memory attributes) in dma_map_ops structure, which
    will later replace dma_alloc_coherent and dma_alloc_writecombine
    functions."

    People finally started piping up with support for merging this, so I'm
    merging it as the last of the pending stuff from the merge window.
    Looks like pohmelfs is going to wait for 3.5 and more external support
    for merging.

    * 'for-linus' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    common: DMA-mapping: add NON-CONSISTENT attribute
    common: DMA-mapping: add WRITE_COMBINE attribute
    common: dma-mapping: introduce mmap method
    common: dma-mapping: remove old alloc_coherent and free_coherent methods
    Hexagon: adapt for dma_map_ops changes
    Unicore32: adapt for dma_map_ops changes
    Microblaze: adapt for dma_map_ops changes
    SH: adapt for dma_map_ops changes
    Alpha: adapt for dma_map_ops changes
    SPARC: adapt for dma_map_ops changes
    PowerPC: adapt for dma_map_ops changes
    MIPS: adapt for dma_map_ops changes
    X86 & IA64: adapt for dma_map_ops changes
    common: dma-mapping: introduce generic alloc() and free() methods

    Linus Torvalds
     
  • Several clocks are missing clockdomains. This can cause problems with
    the hwmod and power management code. Fill these in.

    Signed-off-by: Paul Walmsley
    Cc: Matt Porter
    Cc: Vaibhav Hiremath

    Paul Walmsley
     
  • All DPLLs except USB are in ALWON powerdomain. Make sure the
    clkdm/pwrdm for USB DPLL (l3init) is turned on before attempting
    a DPLL relock. So, mark the database accordingly.

    Without this fix, it was seen that DPLL relock fails while testing
    relock in a loop of USB DPLL.

    Cc: Nishanth Menon
    Tested-by: Ameya Palande
    Signed-off-by: Rajendra Nayak
    Signed-off-by: Paul Walmsley

    Rajendra Nayak
     
  • According to OMAP4 TRM Table 3-1183, CM_CLKSEL_DPLL_USB register defines
    following fields for multiplication and division factors:

    DPLL_MULT (bits 19:8) DPLL multiplier factor (2 to 4095)
    DPLL_DIV (bits 7:0) DPLL divider factor (0 to 255)

    Acked-by: Benoit Cousson
    Signed-off-by: Ameya Palande
    Signed-off-by: Paul Walmsley

    Ameya Palande
     
  • Commit b1cbdb00d ("OMAP: clockdomain: Wait for powerdomain to be ON
    when using clockdomain force wakeup") was assuming that
    pwrdm_state_switch() does wait for the powerdomain transition which is
    not the case. The missing wait for the powerdomain transition
    violates the sequence which the hardware expects, which causes power
    management failures on some devices.

    Fix this API by adding the pwrdm_wait_transition().

    Signed-off-by: Santosh Shilimkar
    Cc: Rajendra Nayak
    Cc: Paul Walmsley
    [paul@pwsan.com: added some more details in the commit log]
    Signed-off-by: Paul Walmsley

    Santosh Shilimkar
     
  • Pull perf fixes from Ingo Molnar.

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86/p4: Add format attributes
    tracing, sched, vfs: Fix 'old_pid' usage in trace_sched_process_exec()

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, kvm: Call restore_sched_clock_state() only after %gs is initialized
    x86: Use -mno-avx when available
    x86: Remove the ancient and deprecated disable_hlt() and enable_hlt() facility
    x86: Preserve lazy irq disable semantics in fixup_irqs()

    Linus Torvalds
     
  • Because of the inclusion of skeleton.dtsi, the memory node is
    named "memory" we where not modifying the already included one
    but creating a new one. It caused bad memory node detection during
    early_init_dt_scan_memory() so we modify them.

    Signed-off-by: Ludovic Desroches
    Signed-off-by: Nicolas Ferre
    Acked-by: Grant Likely
    Cc: Jean-Christophe PLAGNIOL-VILLARD
    Cc: devicetree-discuss@lists.ozlabs.org

    Ludovic Desroches
     
  • SPI chip select pins have to be checked by gpio_is_valid().
    The USB host overcurrent_pin checking was missing.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD

    Nicolas Ferre
     
  • Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD

    Nicolas Ferre
     
  • Change number of ports to 3 for newer SoCs. Modify pdata structure
    and ohci-at91 code that was dealing with ports information and check
    of port indexes.
    Several coding style errors have been addresses as the patch was touching
    affected lines of code and was producing errors while run through
    checkpatch.pl.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Acked-by: Alan Stern

    Nicolas Ferre
     
  • Change vbus gpio configuration in .dts files to switch to
    active low configuration.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Cc: stable

    Nicolas Ferre
     
  • Due to an error while handling vbus_pin_active_low in ohci-at91 driver,
    the specification of this property was not good in devices/board files.

    Signed-off-by: Nicolas Ferre
    Acked-by: Jean-Christophe PLAGNIOL-VILLARD
    Cc: stable [3.2+]

    Nicolas Ferre