29 Jan, 2013

14 commits

  • Add function to read chip id from APB MISC registers. This function
    will also get called from clock driver to flush write operations on
    apb bus.

    Signed-off-by: Prashant Gaikwad
    Signed-off-by: Stephen Warren

    Prashant Gaikwad
     
  • The "sleep.S" file has many functions that be shared by different module
    currently. Not just for CPU idle driver. Make it build as default now.

    Reported-by: Rhyland Klein
    Signed-off-by: Joseph Lo
    [swarren: add sleep.o to separate line so each line only contains 1 file]
    Signed-off-by: Stephen Warren

    Joseph Lo
     
  • It would rather to use the API of time_to_jiffies than a constant number
    of jiffies for the wait time of CPU power up.

    Based on the work by:
    Sang-Hun Lee

    Signed-off-by: Joseph Lo
    Signed-off-by: Stephen Warren

    Joseph Lo
     
  • The reset handler code is used for either UP or SMP. To make Tegra device
    can compile for UP. It needs to be moved to another file that is not SMP
    only. This is because the reset handler also be needed by CPU idle
    "powered-down" mode. So we also need to put the reset handler init function
    in non-SMP only and init them always.

    And currently the implementation of the reset handler to know which CPU is
    OK to bring up was identital with "cpu_present_mask". But the
    "cpu_present_mask" did not initialize yet when the reset handler init
    function was moved to init early function. We use the "cpu_possible_mask"
    to replace "cpu_present_mask". Then it can work on both UP and SMP case.

    Signed-off-by: Joseph Lo
    [swarren: dropped the move of v7_invalidate_l1() from one file to another,
    to avoid conflicts with Pavel's cleanup of this function, adjust Makefile
    so each line only contains 1 file.]
    Signed-off-by: Stephen Warren

    Joseph Lo
     
  • There are some redundant codes in the CPUINIT section that was caused by
    some codes not be organized well in "headsmp.S". Currently all the codes
    in "headsmp.S" were put into CPUINIT section. But actually it doesn't
    need to be loacted in CPUINIT section. There is no fuction access them
    in CPUINIT section and we will relocate them to IRAM.

    These codes also caused some unnecessary functions that access these
    codes been put into CPUINIT section too. This patch clean it up and put
    them into normal text section.

    Signed-off-by: Joseph Lo
    Signed-off-by: Stephen Warren

    Joseph Lo
     
  • The tegra_cpu_die was be executed by the CPU itslf. So the clock gating
    procedure won't be executed after the CPU hardware shutdown code. Moving
    the clock gating procedure to tegra_cpu_kill that will be run by another
    CPU after the CPU died.

    Signed-off-by: Joseph Lo
    Acked-by: Peter De Schrijver
    Signed-off-by: Stephen Warren

    Joseph Lo
     
  • Updating the cache maintenance order before CPU shutdown when doing CPU
    hotplug.
    The old order:
    * clean L1 by flush_cache_all
    * exit SMP
    * CPU shutdown
    Adapt to:
    * disable L1 data cache by clear C bit
    * clean L1 by v7_flush_dcache_louis
    * exit SMP
    * CPU shutdown

    For CPU hotplug case, it's no need to do "flush_cache_all". And we should
    disable L1 data cache before clean L1 data cache. Then leaving the SMP
    coherency.

    Signed-off-by: Joseph Lo
    Acked-by: Peter De Schrijver
    Signed-off-by: Stephen Warren

    Joseph Lo
     
  • The power up sequence is different on the cold boot CPU and the CPU
    that resumed from the hotplug. For the cold boot CPU, it was been power
    gated as default. To power up the cold boot CPU, the power should be
    un-gated by un toggling the power gate register manually.

    For the CPU that resumed from the hotplug, after un-halted the CPU. The
    flow controller will un-gate the power of the CPU. No need to manually
    control, just wait the power be resumed and continue the power up
    sequence after the CPU power is ready.

    Based on the work by:
    Varun Wadekar

    Signed-off-by: Joseph Lo
    Acked-by: Peter De Schrijver
    Signed-off-by: Stephen Warren

    Joseph Lo
     
  • tegra_cpu_init/exit will be called every time one cpu core is online or
    offline. And all cpu cores share same clocks, redundant clk_get/put
    wast time, so I move them out.

    Signed-off-by: Richard Zhao
    Signed-off-by: Stephen Warren

    Richard Zhao
     
  • Fix:

    warning: (ARCH_TEGRA_2x_SOC) selects ARM_ERRATA_754327 which has unmet direct dependencies (CPU_V7 && SMP)
    warning: (ARCH_TEGRA_2x_SOC) selects ARM_ERRATA_742230 which has unmet direct dependencies (CPU_V7 && SMP)

    by selecting options only if SMP.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • No need to be public. Checked with:
    $ touch arch/arm/mach-tegra/*[ch] && make C=1

    Signed-off-by: Hiroshi Doyu
    Signed-off-by: Stephen Warren

    Hiroshi Doyu
     
  • Add missing \n.

    Signed-off-by: Hiroshi Doyu
    Signed-off-by: Stephen Warren

    Hiroshi Doyu
     
  • Move arch/arm/mach-tegra/timer.c to drivers/clocksource/tegra20_timer.c
    so that the code is co-located with other clocksource drivers, and to
    reduce the size of the mach-tegra directory.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • Stephen Warren
     

15 Jan, 2013

1 commit

  • After "ARM: delete struct sys_timer" board-rm9200-dt
    fails compilation with the following error:

    CC arch/arm/mach-at91/board-rm9200-dt.o
    arch/arm/mach-at91/board-rm9200-dt.c:50:2: error: unknown field 'timer' specified in initializer
    arch/arm/mach-at91/board-rm9200-dt.c:50:13: error: 'at91rm9200_timer' undeclared here (not in a function)
    make[1]: *** [arch/arm/mach-at91/board-rm9200-dt.o] Error 1
    make: *** [arch/arm/mach-at91] Error 2

    This is a fall out from the timer conversion. Fix it by
    converting board-rm9200-dt to use new timer init
    function as well.

    Signed-off-by: Joachim Eastwood
    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Joachim Eastwood
     

10 Jan, 2013

5 commits

  • Linus Torvalds
     
  • Pull ARM fixes from Russell King.

    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
    ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writel
    ARM: 7615/1: cache-l2x0: aurora: Invalidate during clean operation with WT enable
    ARM: 7614/1: mm: fix wrong branch from Cortex-A9 to PJ4b
    ARM: 7612/1: imx: Do not select some errata that depends on !ARCH_MULTIPLATFORM
    ARM: 7611/1: VIC: fix bug in VIC irqdomain code
    ARM: 7610/1: versatile: bump IRQ numbers
    ARM: 7609/1: disable errata work-arounds which access secure registers
    ARM: 7608/1: l2x0: Only set .set_debug on PL310 r3p0 and earlier

    Linus Torvalds
     
  • Pull EDAC fixes from Borislav Petkov:
    "Two error path fixes causing a crash and a Kconfig fix for an issue
    which spilled all EDAC suboptions into the 'Device Drivers' menu."

    * tag 'edac_fixes_for_3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    EDAC: Cleanup device deregistering path
    EDAC: Fix EDAC Kconfig menu
    EDAC: Fix kernel panic on module unloading

    Linus Torvalds
     
  • The check for a pmd being in the process of being split was dropped by
    mistake by commit d10e63f29488 ("mm: numa: Create basic numa page
    hinting infrastructure"). Put it back.

    Reported-by: Dave Jones
    Debugged-by: Hillf Danton
    Acked-by: Andrea Arcangeli
    Acked-by: Mel Gorman
    Cc: Kirill Shutemov
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Commit 3a50597de863 ("KEYS: Make the session and process keyrings
    per-thread") removed the definition of the thread_group_cred structure,
    but left a now unused pointer in struct cred.

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

    Marc Dionne
     

09 Jan, 2013

7 commits

  • Pull ARM SoC fixes from Olof Johansson:
    "People are back from the holiday breaks, and it shows. Here are a
    bunch of fixes for a number of platforms:
    - A couple of small fixes for Nomadik
    - A larger set of changes for kirkwood/mvebu
    - uart driver selection, dt clocks, gpio-poweroff fixups, a few
    __init annotation fixes and some error handling improvement in
    their xor dma driver.
    - i.MX had a couple of minor fixes (and a critical one for flexcan2
    clock setup)
    - MXS has a small board fix and a framebuffer bugfix
    - A set of fixes for Samsung Exynos, fixing default bootargs and some
    Exynos5440 clock issues
    - A set of OMAP changes including PM fixes and a few sparse warning
    fixups

    All in all a bit more positive code delta than we'd ideally want to
    see here, mostly from the OMAP PM changes, but nothing overly crazy."

    * tag 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
    ARM: clps711x: Fix bad merge of clockevents setup
    ARM: highbank: save and restore L2 cache and GIC on suspend
    ARM: highbank: add a power request clear
    ARM: highbank: fix secondary boot and hotplug
    ARM: highbank: fix typos with hignbank in power request functions
    ARM: dts: fix highbank cpu mpidr values
    ARM: dts: add device_type prop to cpu nodes on Calxeda platforms
    ARM: mx5: Fix MX53 flexcan2 clock
    ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
    pinctrl: mvebu: make pdma clock on dove mandatory
    ARM: Dove: Add pinctrl clock to DT
    dma: mv_xor: fix error handling for clocks
    dma: mv_xor: fix error handling of mv_xor_channel_add()
    arm: mvebu: Add missing ; for cpu node.
    arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
    arm: mvebu: Armada XP MV78230 has two cores, not one
    clk: mvebu: Remove inappropriate __init tagging
    ARM: Kirkwood: Use fixed-regulator instead of board gpio call
    ARM: Kirkwood: Fix missing sdio clock
    ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
    ...

    Linus Torvalds
     
  • Pull drm update from Dave Airlie:
    "Exynos and Radeon mostly, with a dma-buf and ttm fix thrown in.

    It's a bit big but its mostly exynos license fix ups and I'd rather
    not hold those up since its legally stuff.

    Radeon has a couple of fixes from dma engine work, TTM is just a
    locking fix, and dma-buf fix has been hanging around and I finally got
    a chance to review it."

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (30 commits)
    drm/ttm: fix fence locking in ttm_buffer_object_transfer
    drm/prime: drop reference on imported dma-buf come from gem
    drm/radeon: add quirk for d3 delay during switcheroo poweron for apple macbooks
    drm/exynos: move finish page flip to a common place
    drm/exynos: fimd: modify condition in fimd resume
    drm/radeon: fix DMA CS parser for r6xx linear copy packet
    drm/radeon: split r6xx and r7xx copy_dma functions
    drm/exynos: Use devm_clk_get in exynos_drm_gsc.c
    drm/exynos: Remove redundant NULL check in exynos_drm_gsc.c
    drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_gsc.c
    drm/exynos: Use devm_clk_get in exynos_drm_rotator.c
    drm/exynos: Remove redundant NULL check in exynos_drm_rotator.c
    drm/exynos: Remove unnecessary devm_* freeing APIs in exynos_drm_rotator.c
    drm/exynos: Use devm_clk_get in exynos_drm_fimc.c
    drm/exynos: Remove redundant NULL check
    drm/exynos: Remove explicit freeing using devm_* APIs in exynos_drm_fimc.c
    drm/exynos: Use devm_kzalloc in exynos_drm_ipp.c
    drm/exynos: fix gem buffer allocation type checking
    drm/exynos: remove needless parenthesis.
    drm/exynos: fix incorrect interrupt induced by m2m operation.
    ...

    Linus Torvalds
     
  • Commit 6bb27d7 "ARM: delete struct sys_timer" removed struct sys_timer,
    but didn't update mach-sunxi/sunxi.c for this change, even though the
    sunxi timer implementation itself was updated. This caused a build break:

    arch/arm/mach-sunxi/sunxi.c:94:2: error: unknown field 'timer' specified in initializer
    arch/arm/mach-sunxi/sunxi.c:94:12: error: 'sunxi_timer' undeclared here (not in a function)

    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Stephen Warren
     
  • …nux/kernel/git/tmlind/linux-omap into fixes

    From Tony Lindgren:
    The biggest change is a fix to deal with different power state
    on omap2 registers that causes issues trying to use common PM code.
    Also fix few incorrect registers, and an issue for omap1 USB, and
    few sparse fixes for issues that sneaked in with all the clean-up.

    * tag 'omap-for-v3.8-rc2/fixes-signed-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP2+: am33xx-hwmod: Fix wrongly terminated am33xx_usbss_mpu_irqs array
    ARM: OMAP1: fix USB configuration use-after-release
    ARM: OMAP2/3: PRM: fix bogus OMAP2xxx powerstate return values
    ARM: OMAP3: clock data: Add missing enable/disable for EMU clock
    ARM: OMAP4: PRM: Correct wrong instance usage for reading reset sources
    ARM: OMAP4: PRM: fix RSTTIME and RSTST offsets
    ARM: OMAP4: PRM: Correct reset source map
    ARM: OMAP: SRAM: resolve sparse warnings
    ARM: OMAP AM33xx: hwmod data: resolve sparse warnings
    ARM: OMAP: 32k counter: resolve sparse warnings

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • …/git/kgene/linux-samsung into fixes

    From Kukjin Kim:
    Most of them are EXYNOS5440 fixes which are for changing uart console,
    cpu id (typo) and silent complaining gpio error in kernel boot.

    * 'v3.8-samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: EXYNOS: skip the clock initialization for exynos5440
    ARM: EXYNOS: enable PINCTRL for EXYNOS5440
    ARM: dts: use uart port1 for console on exynos4210-smdkv310
    ARM: dts: use uart port0 for console on exynos5440-ssdk5440
    ARM: SAMSUNG: fix the cpu id for EXYNOS5440
    ARM: EXYNOS: Revise HDMI resource size

    Olof Johansson
     
  • From Shawn Guo:
    I have to send one critical mxsfb fix through arm-soc, as FB maintainer
    is unresponsive for quite a while. People start complaining the missing
    of such an important fix.

    * tag 'mxs-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
    video: mxsfb: fix crash when unblanking the display
    ARM: dts: imx23-olinuxino: Fix IOMUX settings

    Olof Johansson
     
  • From Shawn Guo:

    It includes one critical fix - wrong flexcan2 clock will hang system
    when the port gets brought up. The other two are non-critical fixes,
    which are sent together here, since it's still early -rc stage.

    * tag 'imx-fixes-3.8' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: mx5: Fix MX53 flexcan2 clock
    ARM: dts: imx31-bug: Fix manufacturer compatible string
    clk: imx: Remove 'clock-output-names' from the examples

    Olof Johansson
     

08 Jan, 2013

13 commits

  • Pull sound fixes from Takashi Iwai:
    "Nothing too exciting here, just a few regression and trivial fixes,
    and new quirks for HD-audio and USB-audio.

    - HD-audio mute LED mode enum fix
    - Fix kernel panic of Digidesign Mbox2 usb-audio quirk (which was new
    in 3.8-rc1)
    - Creative BT-D1 usb-audio quirk
    - mute LED fixup for HP Pavillion 17 laptop"

    * tag 'sound-3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - add mute LED for HP Pavilion 17 (Realtek codec)
    ALSA: au88x0: fix incorrect left shift
    sound: oss/pas2: Fix possible access out of array
    ALSA: usb-audio: Fix kernel panic of Digidesign Mbox2 quirk
    ALSA: usb-audio: Add support for Creative BT-D1 via usb sound quirks
    ALSA: hda - Switch "On" and "Off" for "Mute-LED Mode" kcontrol

    Linus Torvalds
     
  • Pull networking fixes from David Miller:

    1) New sysctl ndisc_notify needs some documentation, from Hanns
    Frederic Sowa.

    2) Netfilter REJECT target doesn't set transport header of SKB
    correctly, from Mukund Jampala.

    3) Forcedeth driver needs to check for DMA mapping failures, from Larry
    Finger.

    4) brcmsmac driver can't use usleep_range while holding locks, use
    udelay instead. From Niels Ole Salscheider.

    5) Fix unregister of netlink bridge multicast database handlers, from
    Vlad Yasevich and Rami Rosen.

    6) Fix checksum calculations in netfilter's ipv6 network prefix
    translation module.

    7) Fix high order page allocation failures in netfilter xt_recent, from
    Eric Dumazet.

    8) mac802154 needs to use netif_rx_ni() instead of netif_rx() because
    mac802154_process_data() can execute in process rather than
    interrupt context. From Alexander Aring.

    9) Fix splice handling of MSG_SENDPAGE_NOTLAST, otherwise we elide one
    tcp_push() too many. From Eric Dumazet and Willy Tarreau.

    10) Fix skb->truesize tracking in XEN netfront driver, from Ian
    Campbell.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)
    xen/netfront: improve truesize tracking
    ipv4: fix NULL checking in devinet_ioctl()
    tcp: fix MSG_SENDPAGE_NOTLAST logic
    net/ipv4/ipconfig: really display the BOOTP/DHCP server's address.
    ip-sysctl: fix spelling errors
    mac802154: fix NOHZ local_softirq_pending 08 warning
    ipv6: document ndisc_notify in networking/ip-sysctl.txt
    ath9k: Fix Kconfig for ATH9K_HTC
    netfilter: xt_recent: avoid high order page allocations
    netfilter: fix missing dependencies for the NOTRACK target
    netfilter: ip6t_NPT: fix IPv6 NTP checksum calculation
    bridge: add empty br_mdb_init() and br_mdb_uninit() definitions.
    vxlan: allow live mac address change
    bridge: Correctly unregister MDB rtnetlink handlers
    brcmfmac: fix parsing rsn ie for ap mode.
    brcmsmac: add copyright information for Canonical
    rtlwifi: rtl8723ae: Fix warning for unchecked pci_map_single() call
    rtlwifi: rtl8192se: Fix warning for unchecked pci_map_single() call
    rtlwifi: rtl8192de: Fix warning for unchecked pci_map_single() call
    rtlwifi: rtl8192ce: Fix warning for unchecked pci_map_single() call
    ...

    Linus Torvalds
     
  • Noticed while reviewing the fence locking in the radeon pageflip
    handler.

    v2: Instead of grabbing the bdev->fence_lock in object_transfer just
    move the single callsite of that function a few lines, so that it is
    protected by the fence_lock. Suggested by Jerome Glisse.

    v3: Fix typo in commit message.

    Reviewed-by: Jerome Glisse
    Signed-off-by: Daniel Vetter
    Signed-off-by: Dave Airlie

    Daniel Vetter
     
  • From Jason Cooper:

    fixes for mvebu/kirkwood v3.8
    - use correct uart driver for mvebu boards
    - add a missing DT clocks
    - gpio-poweroff level vs. edge triggering, use gpio_is_valid()
    - remove an inappropriate __init, modules need to access function.
    - various DT fixes
    - error handling in mv_xor

    * tag 'mvebu_fixes_for_v3.8' of git://git.infradead.org/users/jcooper/linux:
    pinctrl: mvebu: make pdma clock on dove mandatory
    ARM: Dove: Add pinctrl clock to DT
    dma: mv_xor: fix error handling for clocks
    dma: mv_xor: fix error handling of mv_xor_channel_add()
    arm: mvebu: Add missing ; for cpu node.
    arm: mvebu: Armada XP MV78230 has only three Ethernet interfaces
    arm: mvebu: Armada XP MV78230 has two cores, not one
    clk: mvebu: Remove inappropriate __init tagging
    ARM: Kirkwood: Use fixed-regulator instead of board gpio call
    ARM: Kirkwood: Fix missing sdio clock
    ARM: Kirkwood: Switch TWSI1 of 88f6282 to DT clock providers
    Power: gpio-poweroff: Fix documentation and gpio_is_valid
    ARM: Kirkwood: Fix missing clk for USB device.
    arm: mvebu: Use dw-apb-uart instead of ns16650 as UART driver

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • I mismerged a previous branch from Alexander, and accidentally left
    in ARCH_USES_GETTIMEOFFSET. Remove it.

    Signed-off-by: Olof Johansson
    Cc: Alexander Shiyan

    Olof Johansson
     
  • …el/git/linusw/linux-nomadik into fixes

    From Linus Walleij:
    Two fixes to the Nomadik:
    - Delete a dangling include
    - Bump IRQ numbers to offset at 32

    * tag 'nomadik-fixes-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
    ARM: nomadik: bump the IRQ numbers again
    ARM: nomadik: delete dangling include

    Olof Johansson
     
  • This fixes suspend to RAM adding necessary save and restore of L2 and GIC.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • When we fail to power down, we need to clear out the power request.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • With commit 384a290 (ARM: gic: use a private mapping for CPU target
    interfaces), wake-up IPIs now go to all cores as the gic cpu interface
    numbering may not follow core numbering. This broke secondary boot on
    highbank since the boot address was already set for all secondary cores,
    this caused all cores to boot before the kernel was ready.

    Fix this by moving the setting of the jump address to
    highbank_boot_secondary instead of highbank_smp_prepare_cpus and
    highbank_cpu_die. Also, clear the address when we boot. This prevents
    cores from booting before they are actually triggered and is also necessary
    to get suspend/resume to work.

    Signed-off-by: Rob Herring
    Cc: Nicolas Pitre
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • s/hignbank/highbank/

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • With the addition of commit a0ae0240 (ARM: kernel: add device tree init
    map function), the cpu reg values must match the cpu mpidr register or we'll
    get warnings. For some reason, the CLUSTERID on highbank is 9, so the reg
    value needs to be 0x90n to quiet the warnings.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • While device_type is considered deprecated, it is still needed for tools
    like lshw to identify cpu nodes.

    Signed-off-by: Rob Herring
    Signed-off-by: Olof Johansson

    Rob Herring
     
  • Alex writes:
    A few more fixes for DMA and a mac quirk.

    * 'drm-fixes-3.8' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: add quirk for d3 delay during switcheroo poweron for apple macbooks
    drm/radeon: fix DMA CS parser for r6xx linear copy packet
    drm/radeon: split r6xx and r7xx copy_dma functions

    Dave Airlie