1. 03 Apr, 2013 2 commits
  2. 01 Apr, 2013 17 commits
    • Jon Hunter's avatar
      ARM: OMAP4+: Fix sparse warning in system timers · 4615943c
      Jon Hunter authored
      Commit 6bb27d73 (ARM: delete struct sys_timer) changed the function
      created by the macro OMAP_SYS_32K_TIMER_INIT from static void to void.
      For OMAP4+ devices this created the following sparse warning ...
      
      arch/arm/mach-omap2/timer.c:585:1: warning: symbol
      	'omap4_sync32k_timer_init' was not declared. Should it be static?
      
      The function omap4_sync32k_timer_init() is not referenced outside of the
      file timer.c and so make this function static.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      4615943c
    • Jon Hunter's avatar
      ARM: OMAP2+: Store ID of system timers in timer structure · 8f6924dc
      Jon Hunter authored
      Currently, the timer ID is being passed to the function
      omap_dm_timer_init_one(). Instead of passing the ID separately, store it
      in the omap_dm_timer structure, that is also passed, and access the ID
      from this structure.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      8f6924dc
    • Jon Hunter's avatar
      ARM: OMAP3: Update clocksource timer selection · 2eb03937
      Jon Hunter authored
      When booting with device-tree for OMAP3 and AM335x devices and a gptimer
      is used as the clocksource (which is always the case for AM335x), a
      gptimer located in a power domain that is not always-on is selected.
      Ideally we should use a gptimer for clocksource that is located in a
      power domain that is always on (such as the wake-up domain) so that time
      can be maintained during a kernel suspend without keeping on additional
      power domains unnecessarily.
      
      In order to fix this so that we can select a gptimer located in a power
      domain that is always-on, the following changes were made ...
      1. Currently, only when selecting a gptimer to use for a clockevent
         timer, do we pass a timer property that can be used to select a
         specific gptimer. Change this so that we can pass a property when
         selecting a gptimer to use for a clocksource timer too.
      2. Currently, when selecting either a gptimer to use for a clockevent
         timer or a clocksource timer and no timer property is passed, then
         the first available timer is selected regardless of the properties
         it has. Change this so that if no properties are passed, then a timer
         that does not have additional features (such as always-on, dsp-irq,
         pwm, and secure) is selected.
      
      For OMAP3 and AM335x devices that use a gptimer for clocksource, change
      the selection of the gptimer so that by default the gptimer located in
      the always-on power domain is used for clocksource instead of
      clockevents.
      
      Please note that using a gptimer for both clocksource and clockevents
      can have a system power impact during idle. The reason being is that
      OMAP and AMxxx devices typically only have one gptimer in a power domain
      that is always-on. Therefore when the kernel is idle both the clocksource
      and clockevent timers will be active and this will keep additional power
      domains on. During kernel suspend, only the clocksource timer is active
      and therefore, it is better to use a gptimer in a power domain that is
      always-on for clocksource.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
      2eb03937
    • Jon Hunter's avatar
      ARM: OMAP2+: Simplify system timers definitions · 00ea4d56
      Jon Hunter authored
      There is a lot of redundancy in the definitions for the various system
      timers for OMAP2+ devices. For example, the omap3_am33xx_gptimer_timer_init()
      function is the same as the omap3_gp_gptimer_timer_init() function and the
      function omap4_sync32k_timer_init() can be re-used for OMAP5 devices.
      Therefore, consolidate the definitions to simplify the code.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Acked-by: default avatarIgor Grinberg <grinberg@compulab.co.il>
      00ea4d56
    • Jon Hunter's avatar
      ARM: OMAP2+: Simplify system timer clock definitions · 7bdc83f7
      Jon Hunter authored
      In commit c59b537d (ARM: OMAP2+: Simplify dmtimer clock aliases), new
      clock aliases for dmtimers were added to simplify the code. These clock
      aliases can also be used when configuring the system timers and allow us
      to remove the current definitions, simplifying the code.
      
      Please note that for OMAP4/5 devices (unlike OMAP2/3 devices), there is
      no clock alias for "timer_sys_ck" with NULL as the device name. Therefore
      we still need to use the alias "sys_clkin_ck" for these devices.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      7bdc83f7
    • Jon Hunter's avatar
      ARM: OMAP2+: Remove hard-coded test on timer ID · a7990a19
      Jon Hunter authored
      Currently, when configuring the clock-events and clock-source timers
      for OMAP2+ devices, we check whether the timer ID is 12 before
      attempting to set the parent clock for the timer.
      
      This test was added for OMAP3 general purpose devices (no security
      features enabled) that a 12th timer available but unlike the other
      timers only has a single functional clock source. Calling
      clk_set_parent() for this 12th timer would always return an error
      because there is only one choice for a parent clock. Therefore,
      this hard-coded timer ID test was added.
      
      To avoid this timer ID test, simply check to see if the timer's current
      parent clock is the desired parent clock and only call clk_set_parent()
      if this is not the case.
      
      Also if clk_get() fails, then use PTR_ERR() to return the error code.
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      a7990a19
    • Jon Hunter's avatar
      ARM: OMAP2+: Display correct system timer name · e95ea43a
      Jon Hunter authored
      Currently on boot, when displaying the name of the gptimer used for
      clockevents and clocksource timers, the timer ID is shown. However,
      when booting with device-tree, the timer ID is not used to select a
      gptimer but a timer property. Hence, it is possible that the timer
      selected when booting with device-tree does not match the ID shown.
      Therefore, instead display the HWMOD name of the gptimer and use
      the HWMOD name as the name of clockevent and clocksource timer (if a
      gptimer is used).
      Signed-off-by: default avatarJon Hunter <jon-hunter@ti.com>
      Acked-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      e95ea43a
    • Jon Hunter's avatar
      2d61aece
    • Tony Lindgren's avatar
      Merge branch 'for_3.10/omap5_generic_updates' of... · 10561248
      Tony Lindgren authored
      Merge branch 'for_3.10/omap5_generic_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux into omap-for-v3.10/fixes-non-critical
      10561248
    • Tony Lindgren's avatar
      Merge tag 'omap-devel-b-for-3.10' of... · d29778a0
      Tony Lindgren authored
      Merge tag 'omap-devel-b-for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.10/fixes-non-critical
      
      Some miscellaneous OMAP hwmod, powerdomain, and clock fixes for 3.10.
      
      Basic test logs are here:
      
      http://www.pwsan.com/omap/testlogs/prcm_fixes_a_3.10/20130331205716/
      d29778a0
    • Paul Bolle's avatar
      ARM: OMAP2+: fix typo "CONFIG_BRIDGE_DVFS" · ce9df0b0
      Paul Bolle authored
      Commit 90173882 ("omap: add dsp platform
      device") used CONFIG_BRIDGE_DVFS were it obviously meant
      CONFIG_TIDSPBRIDGE_DVFS. Fix that.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      ce9df0b0
    • Paul Bolle's avatar
      ARM: OMAP1: remove "config MACH_OMAP_HTCWIZARD" · 842db74a
      Paul Bolle authored
      The Kconfig symbol MACH_OMAP_HTCWIZARD got added in v2.6.30. It has
      never been used. Its entry can safely be removed.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      842db74a
    • Rajendra Nayak's avatar
      ARM: OMAP: dpll: enable bypass clock only when attempting dpll bypass · 469d633d
      Rajendra Nayak authored
      omap3_noncore_dpll_set_rate() attempts an enable of bypass clk as well
      as ref clk for every .set_rate attempt on a noncore DPLL, regardless of
      whether the .set_rate results in the DPLL being locked or put in bypass.
      Early at boot, while some of these DPLLs are programmed and locked
      (using .set_rate for the DPLL), this causes an ordering issue.
      
      For instance, on OMAP5, the USB DPLL derives its bypass clk from ABE DPLL.
      If a .set_rate of USB DPLL which programmes the M,N and locks it is called
      before the one for ABE, the enable of USB bypass clk (derived from ABE DPLL)
      then attempts to lock the ABE DPLL and fails as the M,N values for ABE
      are yet to be programmed.
      
      To get rid of this ordering needs, enable bypass clk for a DPLL as part
      of its .set_rate only when its being put in bypass, and only enable the
      ref clk when its locked.
      Reported-by: default avatarRoger Quadros <rogerq@ti.com>
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      469d633d
    • Paul Walmsley's avatar
      ARM: OMAP2+: powerdomain: avoid testing whether an unsigned char is less than 0 · bd70f6eb
      Paul Walmsley authored
      _pwrdm_save_clkdm_state_and_activate() tried to test one of its
      unsigned arguments to determine whether it was less than zero.  Fix by
      moving the error test to the caller.
      Reported-by: default avatarChen Gang <gang.chen@asianux.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      bd70f6eb
    • Rajendra Nayak's avatar
      ARM: OMAP2+: hwmod: Remove unused _HWMOD_WAKEUP_ENABLED flag · 4280943b
      Rajendra Nayak authored
      _HWMOD_WAKEUP_ENABLED is currently unused across the hwmod
      framework. Just get rid of it, so we have one less flag to
      worry about.
      Tested-by: default avatarVaibhav Bedia <vaibhav.bedia@ti.com>
      Signed-off-by: default avatarRajendra Nayak <rnayak@ti.com>
      Signed-off-by: default avatarSantosh Shilimkar <santosh.shilimkar@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      4280943b
    • Vaibhav Hiremath's avatar
      ARM: OMAP2+: am335x: Change the wdt1 func clk src to per_32k clk · da91b89e
      Vaibhav Hiremath authored
      WDT1 module can take one of the below clocks as input functional
      clock -
           - On-Chip 32K RC Osc [default/reset]
           - 32K from PRCM
      
      The On-Chip 32K RC Osc clock is not an accurate clock-source as per
      the design/spec, so as a result, for example, timer which supposed
      to get expired @60Sec, but will expire somewhere ~@40Sec, which is
      not expected by any use-case.
      
      The solution here is to switch the input clock-source to PRCM
      generated 32K clock-source during boot-time itself.
      Signed-off-by: default avatarVaibhav Hiremath <hvaibhav@ti.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Benoit Cousson <benoit.cousson@linaro.org>
      Cc: Paul Walmsley <paul@pwsan.com>
      da91b89e
    • Vaibhav Hiremath's avatar
      ARM: OMAP2+: AM33xx: hwmod: Add missing sysc definition to wdt1 entry · 05cf03b6
      Vaibhav Hiremath authored
      This patch adds sysc definitions to the wdt1 hwmod entry, which in-turn
      makes sure that sysc idle bit-fields are configured to valid state on
      enable/disable callbacks.
      
      With the recent submitted patch from Santosh Shilimkar,
      "ARM: OMAP2+: hwmod: Don't call _init_mpu_rt_base if no sysc"
      (commit: 4a98c2d89), it is required to add sysconf
      information to each valid hwmod entry, else device will not be
      come out from idle state properly and leads to below kernel
      crash  -
      
      [2.190237] Unhandled fault: external abort on non-linefetch (0x1028) at
      0xf9e35034
      [2.198325] Internal error: : 1028 [#1] SMP ARM
      [2.203101] Modules linked in:
      [2.206334] CPU: 0    Not tainted  (3.9.0-rc3-00059-gd114294#1)
      [2.212679] PC is at omap_wdt_disable.clone.5+0xc/0x60
      [2.218090] LR is at omap_wdt_probe+0x184/0x1fc
      Signed-off-by: default avatarVaibhav Hiremath <hvaibhav@ti.com>
      Cc: Santosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Benoit Cousson <benoit.cousson@linaro.org>
      Cc: Paul Walmsley <paul@pwsan.com>
      05cf03b6
  3. 31 Mar, 2013 5 commits
    • Linus Torvalds's avatar
      Linux 3.9-rc5 · 07961ac7
      Linus Torvalds authored
      07961ac7
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 0bb44280
      Linus Torvalds authored
      Pull slave-dmaengine fixes from Vinod Koul:
       "Two fixes for slave-dmaengine.
      
        The first one is for making slave_id value correct for dw_dmac and
        the other one fixes the endieness in DT parsing"
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        dw_dmac: adjust slave_id accordingly to request line base
        dmaengine: dw_dma: fix endianess for DT xlate function
      0bb44280
    • Linus Torvalds's avatar
      Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · a7b436d3
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "For a some fixes for Kernel 3.9:
         - subsystem build fix when VIDEO_DEV=y, VIDEO_V4L2=m and I2C=m
         - compilation fix for arm multiarch preventing IR_RX51 to be selected
         - regression fix at bttv crop logic
         - s5p-mfc/m5mols/exynos: a few fixes for cameras on exynos hardware"
      
      * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        [media] [REGRESSION] bt8xx: Fix too large height in cropcap
        [media] fix compilation with both V4L2 and I2C as 'm'
        [media] m5mols: Fix bug in stream on handler
        [media] s5p-fimc: Do not attempt to disable not enabled media pipeline
        [media] s5p-mfc: Fix encoder control 15 issue
        [media] s5p-mfc: Fix frame skip bug
        [media] s5p-fimc: send valid m2m ctx to fimc_m2m_job_finish
        [media] exynos-gsc: send valid m2m ctx to gsc_m2m_job_finish
        [media] fimc-lite: Fix the variable type to avoid possible crash
        [media] fimc-lite: Initialize 'step' field in fimc_lite_ctrl structure
        [media] ir: IR_RX51 only works on OMAP2
      a7b436d3
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20130331' of git://git.kernel.dk/linux-block · d299c290
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Alright, this time from 10K up in the air.
      
        Collection of fixes that have been queued up since the merge window
        opened, hence postponed until later in the cycle.  The pull request
        contains:
      
         - A bunch of fixes for the xen blk front/back driver.
      
         - A round of fixes for the new IBM RamSan driver, fixing various
           nasty issues.
      
         - Fixes for multiple drives from Wei Yongjun, bad handling of return
           values and wrong pointer math.
      
         - A fix for loop properly killing partitions when being detached."
      
      * tag 'for-linus-20130331' of git://git.kernel.dk/linux-block: (25 commits)
        mg_disk: fix error return code in mg_probe()
        rsxx: remove unused variable
        rsxx: enable error return of rsxx_eeh_save_issued_dmas()
        block: removes dynamic allocation on stack
        Block: blk-flush: Fixed indent code style
        cciss: fix invalid use of sizeof in cciss_find_cfgtables()
        loop: cleanup partitions when detaching loop device
        loop: fix error return code in loop_add()
        mtip32xx: fix error return code in mtip_pci_probe()
        xen-blkfront: remove frame list from blk_shadow
        xen-blkfront: pre-allocate pages for requests
        xen-blkback: don't store dev_bus_addr
        xen-blkfront: switch from llist to list
        xen-blkback: fix foreach_grant_safe to handle empty lists
        xen-blkfront: replace kmalloc and then memcpy with kmemdup
        xen-blkback: fix dispatch_rw_block_io() error path
        rsxx: fix missing unlock on error return in rsxx_eeh_remap_dmas()
        Adding in EEH support to the IBM FlashSystem 70/80 device driver
        block: IBM RamSan 70/80 error message bug fix.
        block: IBM RamSan 70/80 branding changes.
        ...
      d299c290
    • Paul Walmsley's avatar
      Revert "lockdep: check that no locks held at freeze time" · dbf520a9
      Paul Walmsley authored
      This reverts commit 6aa97070.
      
      Commit 6aa97070 ("lockdep: check that no locks held at freeze time")
      causes problems with NFS root filesystems.  The failures were noticed on
      OMAP2 and 3 boards during kernel init:
      
        [ BUG: swapper/0/1 still has locks held! ]
        3.9.0-rc3-00344-ga937536b #1 Not tainted
        -------------------------------------
        1 lock held by swapper/0/1:
         #0:  (&type->s_umount_key#13/1){+.+.+.}, at: [<c011e84c>] sget+0x248/0x574
      
        stack backtrace:
          rpc_wait_bit_killable
          __wait_on_bit
          out_of_line_wait_on_bit
          __rpc_execute
          rpc_run_task
          rpc_call_sync
          nfs_proc_get_root
          nfs_get_root
          nfs_fs_mount_common
          nfs_try_mount
          nfs_fs_mount
          mount_fs
          vfs_kern_mount
          do_mount
          sys_mount
          do_mount_root
          mount_root
          prepare_namespace
          kernel_init_freeable
          kernel_init
      
      Although the rootfs mounts, the system is unstable.  Here's a transcript
      from a PM test:
      
        http://www.pwsan.com/omap/testlogs/test_v3.9-rc3/20130317194234/pm/37xxevm/37xxevm_log.txt
      
      Here's what the test log should look like:
      
        http://www.pwsan.com/omap/testlogs/test_v3.8/20130218214403/pm/37xxevm/37xxevm_log.txt
      
      Mailing list discussion is here:
      
        http://lkml.org/lkml/2013/3/4/221
      
      Deal with this for v3.9 by reverting the problem commit, until folks can
      figure out the right long-term course of action.
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      Cc: Mandeep Singh Baines <msb@chromium.org>
      Cc: Jeff Layton <jlayton@redhat.com>
      Cc: Shawn Guo <shawn.guo@linaro.org>
      Cc: <maciej.rutecki@gmail.com>
      Cc: Fengguang Wu <fengguang.wu@intel.com>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Ben Chan <benchan@chromium.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dbf520a9
  4. 30 Mar, 2013 1 commit
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 13d2080d
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "This includes the bug-fix for a >= v3.8-rc1 regression specific to
        iscsi-target persistent reservation conflict handling (CC'ed to
        stable), and a tcm_vhost patch to drop VIRTIO_RING_F_EVENT_IDX usage
        so that in-flight qemu vhost-scsi-pci device code can detect the
        proper vhost feature bits.
      
        Also, there are two more tcm_vhost patches still being discussed by
        MST and Asias for v3.9 that will be required for the in-flight qemu
        vhost-scsi-pci device patch to function properly, and that should
        (hopefully) be the last target fixes for this round."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Fix RESERVATION_CONFLICT status regression for iscsi-target special case
        tcm_vhost: Avoid VIRTIO_RING_F_EVENT_IDX feature bit
      13d2080d
  5. 29 Mar, 2013 12 commits
  6. 28 Mar, 2013 3 commits