1. 10 Dec, 2013 2 commits
  2. 09 Dec, 2013 5 commits
    • Kevin Hilman's avatar
      Merge tag 'omap-for-v3.13/yet-more-dt-regressions-take2' of... · ed16c8c5
      Kevin Hilman authored
      Merge tag 'omap-for-v3.13/yet-more-dt-regressions-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      A rather big fix for a regression where we have dropped omap4 hwmod
      data earlier but are not initializing it from device tree. In addition
      to this fix we eventually also be fix the issues in the .dts files
      and drivers, but that's too intrusive for the -rc cycle and must be
      done later on.
      
      Also a fix for a regression where we now are wrongly trying to initialize
      devices on secure omaps like n900 and n9* when booted using device tree.
      We need to set aes, sham and timer12 to disabled mode for secure
      devices as they are claimed by the firmware running in the secure mode.
      
      And two more legacy booting vs device tree based booting fixes for
      am3517 that I did not notice earlier until Nishant Menon reported
      these to me few days ago. With these we're good to go having v3.13
      working both for legacy booting and device tree based booting, and we
      can then go ahed and drop the legacy booting for mach-omap2 for v3.14.
      
      * tag 'omap-for-v3.13/yet-more-dt-regressions-take2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (494 commits)
        ARM: dts: Fix booting for secure omaps
        ARM: OMAP2+: Fix the machine entry for am3517
        ARM: dts: Fix missing entries for am3517
        ARM: OMAP2+: Fix overwriting hwmod data with data from device tree
        +Linux 3.13-rc3
      ed16c8c5
    • Nishanth Menon's avatar
      ARM: OMAP2+: hwmod: Fix usage of invalid iclk / oclk when clock node is not present · 0e7dc862
      Nishanth Menon authored
      commit dc75925d(OMAP: hwmod: Fix the missing braces) introduced
      missing braces, however, we just set return result if clk_get fail
      and we populate the error pointer in clk pointer and pass it along to
      clk_prepare. This is wrong. The intent seems to be retry remaining
      clocks if they are available and warn the ones we cant find clks for.
      
      With the current logic, we see the following crash:
      omap_hwmod: l3_main: cannot clk_get interface_clk emac_ick
      Unable to handle kernel NULL pointer dereference at virtual address 00000032
      pgd = c0004000
      [00000032] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.13.0-rc1-00044-gcc9fd5a-dirty #19
      task: ce0c3440 ti: ce0c4000 task.ti: ce0c4000
      PC is at __clk_prepare+0x10/0x74
      LR is at clk_prepare+0x14/0x24
        <snip>
      [<c044d59c>] (__clk_prepare+0x10/0x74) from [<c044d9b0>] (clk_prepare+0x14/0x24)
      [<c044d9b0>] (clk_prepare+0x14/0x24) from [<c077d8c4>] (_init+0x24c/0x3bc)
      [<c077d8c4>] (_init+0x24c/0x3bc) from [<c0027328>] (omap_hwmod_for_each+0x34/0x5c)
      [<c0027328>] (omap_hwmod_for_each+0x34/0x5c) from [<c077dfa0>] (__omap_hwmod_setup_all+0x24/0x40)
      [<c077dfa0>] (__omap_hwmod_setup_all+0x24/0x40) from [<c0008928>] (do_one_initcall+0x38/0x168)
      [<c0008928>] (do_one_initcall+0x38/0x168) from [<c0771be8>] (kernel_init_freeable+0xfc/0x1cc)
      [<c0771be8>] (kernel_init_freeable+0xfc/0x1cc) from [<c0521064>] (kernel_init+0x8/0x110)
      [<c0521064>] (kernel_init+0x8/0x110) from [<c000e568>] (ret_from_fork+0x14/0x2c)
      Code: e92d4038 e2504000 01a05004 0a000005 (e5943034)
      
      So, just warn and continue instead of proceeding and crashing, with
      missing clock nodes/bad data, we will eventually fail, however we
      should now have enough information to identify the culprit.
      Signed-off-by: default avatarNishanth Menon <nm@ti.com>
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      0e7dc862
    • Roger Quadros's avatar
      ARM: OMAP3: hwmod data: Don't prevent RESET of USB Host module · 7f4d3641
      Roger Quadros authored
      Unlike what the comment states, errata i660 does not state that we
      can't RESET the USB host module. Instead it states that RESET is the
      only way to recover from a deadlock situation.
      
      RESET ensures that the module is in a known good state irrespective
      of what bootloader does with the module, so it must be done at boot.
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Tested-by: Tomi Valkeinen <tomi.valkeinen@ti.com> # Panda, BeagleXM
      Fixes: de231388 ("ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP3")
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      7f4d3641
    • Roger Quadros's avatar
      ARM: OMAP2+: hwmod: Fix SOFTRESET logic · 313a76ee
      Roger Quadros authored
      In _ocp_softreset(), after _set_softreset() + write_sysconfig(),
      the hwmod's sysc_cache will always contain SOFTRESET bit set
      so all further writes to sysconfig using this cache will initiate
      a repeated SOFTRESET e.g. enable_sysc(). This is true for OMAP3 like
      platforms that have RESET_DONE status in the SYSSTATUS register and
      so the the SOFTRESET bit in SYSCONFIG is not automatically cleared.
      It is not a problem for OMAP4 like platforms that indicate RESET
      completion by clearing the SOFTRESET bit in the SYSCONFIG register.
      
      This repeated SOFTRESET is undesired and was the root cause of
      USB host issues on OMAP3 platforms when hwmod was allowed to do the
      SOFTRESET for the USB Host module.
      
      To fix this we clear the SOFTRESET bit and update the sysconfig
      register + sysc_cache using write_sysconfig().
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Tested-by: Tomi Valkeinen <tomi.valkeinen@ti.com> # Panda, BeagleXM
      [paul@pwsan.com: renamed _clr_softreset() to _clear_softreset()]
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      313a76ee
    • Roger Quadros's avatar
      ARM: OMAP4+: hwmod data: Don't prevent RESET of USB Host module · b483a4a5
      Roger Quadros authored
      Without this, the USB devices are sometimes not detected on OMAP4 Panda
      with u-boot v2013.10.
      
      Unlike what the comment states, errata i660 does not state that we
      can't RESET the USB host module. Instead it states that RESET is the
      only way to recover from a deadlock situation.
      
      RESET ensures that the module is in a known good state irrespective
      of what bootloader does with the module, so it must be done at boot.
      Reported-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
      Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
      Tested-by: Tomi Valkeinen <tomi.valkeinen@ti.com> # Panda, BeagleXM
      Acked-by: default avatarBenoît Cousson <bcousson@baylibre.com>
      Fixes: af88fa9a ("ARM: OMAP: USB: EHCI and OHCI hwmod structures for OMAP4")
      Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
      b483a4a5
  3. 06 Dec, 2013 15 commits
    • Tony Lindgren's avatar
      ARM: dts: Fix booting for secure omaps · f2e2c9d9
      Tony Lindgren authored
      Commit 7ce93f31 (ARM: OMAP2+: Fix more missing data for omap3.dtsi file)
      fixed missing device tree data for omaps, but did not account for some of the
      hardware modules being inaccessible for secure omaps. This causes the
      following error on secure omaps:
      
      Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa0c5048
      SMP ARM
      Modules linked in:
      CPU: 0 PID: 1 Comm: swapper/0 Tainted: G        W    3.13.0-rc2+ #446
      task: ce057b40 ti: ce058000 task.ti: ce058000
      PC is at omap_aes_dma_stop+0x24/0x3c
      LR is at omap_aes_probe+0x1cc/0x584
         psr: 60000113
      sp : ce059e20  ip : ce0b4ee0  fp : 00000000
      r10: c0573ae8  r9 : c0749508  r8 : 00000000
      r7 : ce0b4e00  r6 : 00000000  r5 : ce0b4e10  r4 : ce274890
      r3 : fa0c5048  r2 : 00000048  r1 : 0000002c  r0 : ce274890
      Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 80004019  DAC: 00000015
      Process swapper/0 (pid: 1, stack limit = 0xce058248)
      Stack: (0xce059e20 to 0xce05a000)
      9e20: c0749508 0000a1ff 00000000 c016cd8c c06b5a06 ce2a45f0 ce2a4570 ce0b5fb0
      9e40: 00000000 480c5000 480c504f c0abe4e4 00000200 00000000 00000000 00000000
      9e60: ce0b4e10 ce0b4e10 c082da3c c082da3c c02b8c70 c077c610 c0749508 00000000
      9e80: 00000000 c02b9e7c c02b9e64 ce0b4e10 00000000 c02b8b20 ce0b4e10 ce0b4e44
      9ea0: c082da3c c02b8cd8 00000000 ce059eb8 c082da3c c02b7408 ce079edc ce0b1a34
      9ec0: c082da3c c082da3c ce2a0280 00000000 c08158d8 c02b8358 c0663405 c0663405
      9ee0: 00000073 c082da3c c079e4e8 c07ab3bc c0844340 c02b9334 00000000 00000006
      9f00: c079e4e8 c0008920 c067f6bf c0ac7c6b 00000000 c0712e28 00000000 00000000
      9f20: c0712e38 ce059f38 00000093 c0ac7c82 00000000 c0058994 00000000 c07130e8
      9f40: c07127b8 00000093 00000006 00000006 00000001 00000006 00000006 c079e4e8
      9f60: c07ab3bc c0844340 00000093 c0749508 c079e4f4 c0749c64 00000006 00000006
      9f80: c0749508 00000000 00000000 c0517e2c 00000000 00000000 00000000 00000000
      9fa0: 00000000 c0517e34 00000000 c000dfb8 00000000 00000000 00000000 00000000
      9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 ffffffff ffffffff
      (omap_aes_probe+0x1cc/0x584)
      (platform_drv_probe+0x18/0x48)
      (driver_probe_device+0xb0/0x200)
      (__driver_attach+0x68/0x8c)
      (bus_for_each_dev+0x50/0x88)
      (bus_add_driver+0xcc/0x1c8)
      (driver_register+0x9c/0xe0)
      (do_one_initcall+0x98/0x140)
      (kernel_init_freeable+0x16c/0x23c)
      (kernel_init+0x8/0x100)
      (ret_from_fork+0x14/0x3c)
      Code: e1811002 e5932020 e590300c e0833002 (e593c000)
      
      Let's fix the issue by adding omap34xx-hs.dtsi and omap36xx-hs.dtsi and make
      n900, n9 and n950 to use them. This way we have the aes, sham and timer12
      disabled for secure devices the same way legacy booting does based on the
      omap34xx_gp_hwmod_ocp_ifs and omap36xx_gp_hwmod_ocp_ifs arrays in
      omap_hwmod_3xxx_data.c.
      Reported-by: default avatarSebastian Reichel <sre@debian.org>
      Acked-By: default avatarSebastian Reichel <sre@debian.org>
      Tested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      f2e2c9d9
    • Nishanth Menon's avatar
      ARM: OMAP2+: Fix the machine entry for am3517 · caef4ee8
      Nishanth Menon authored
      The am3517 is wrongly booting as omap3 which means that the am3517
      specific devices like Ethernet won't work when booted with device
      tree. Now with the new devices defined in am3517.dtsi, let's use
      that instead of the omap3.dtsi, and add a separate machine entry
      for am3517 so am3517-evm can use it.
      Signed-off-by: default avatarNishanth Menon <nm@ti.com>
      [tony@atomide.com: updated comments and fixed build without omap3]
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      caef4ee8
    • Tony Lindgren's avatar
      ARM: dts: Fix missing entries for am3517 · a0158185
      Tony Lindgren authored
      On am3517 there are some extra devices compared to omap3.dtsi that
      we currently have not defined. Let's fix that by adding am3517.dtsi
      file.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a0158185
    • Tony Lindgren's avatar
      ARM: OMAP2+: Fix overwriting hwmod data with data from device tree · 5e863c56
      Tony Lindgren authored
      We have some device tree properties where the ti,hwmod have multiple
      values:
      
      am33xx.dtsi:	ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
      am4372.dtsi:	ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
      dra7.dtsi:	ti,hwmods = "l3_main_1", "l3_main_2";
      omap3.dtsi:	ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
      omap3.dtsi:	ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
      omap4.dtsi:	ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
      omap5.dtsi:	ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
      
      That's not correct way of doing things in this case because these are
      separate devices with their own address space, interrupts, SYSCONFIG
      registers and can set their PM states independently.
      
      So they should all be fixed up to be separate devices in the .dts files.
      
      We also have the related data removed for at least omap4 in commit
      3b9b1015 (ARM: OMAP4: hwmod data: Clean up the data file), so
      that data is wrongly initialized as null data.
      
      So we need to fix two bugs:
      
      1. We are only checking the first entry of the ti,hwmods property
      
         This means that we're only initializing the first hwmods entry
         instead of the ones listed in the ti,hwmods property.
      
      2. We are only checking the child nodes, not the nodes themselves
      
         This means that anything listed at OCP level is currently just
         ignored and unitialized and at least the omap4 case, with the
         legacy data missing from the hwmod.
      
      Fix both of the issues by using an index to the ti,hwmods property
      and changing the hwmod lookup function to also check the current node
      for ti,hwmods property instead of just the children.
      
      While at it, let's also add some warnings for the bad data so it's
      easier to fix.
      
      Cc: "Benoît Cousson" <bcousson@baylibre.com>
      Acked-by: default avatarPaul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      5e863c56
    • Linus Torvalds's avatar
      Linux 3.13-rc3 · 374b1057
      Linus Torvalds authored
      374b1057
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-3.13-rc2' of... · 843f4f4b
      Linus Torvalds authored
      Merge tag 'trace-fixes-3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull tracing fix from Steven Rostedt:
       "A regression showed up that there's a large delay when enabling all
        events.  This was prevalent when FTRACE_SELFTEST was enabled which
        enables all events several times, and caused the system bootup to
        pause for over a minute.
      
        This was tracked down to an addition of a synchronize_sched()
        performed when system call tracepoints are unregistered.
      
        The synchronize_sched() is needed between the unregistering of the
        system call tracepoint and a deletion of a tracing instance buffer.
        But placing the synchronize_sched() in the unreg of *every* system
        call tracepoint is a bit overboard.  A single synchronize_sched()
        before the deletion of the instance is sufficient"
      
      * tag 'trace-fixes-3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Only run synchronize_sched() at instance deletion time
      843f4f4b
    • Linus Torvalds's avatar
      Merge git://git.kvack.org/~bcrl/aio-next · c537aba0
      Linus Torvalds authored
      Pull aio fix from Benjamin LaHaise:
       "AIO fix from Gu Zheng that fixes a GPF that Dave Jones uncovered with
        trinity"
      
      * git://git.kvack.org/~bcrl/aio-next:
        aio: clean up aio ring in the fail path
      c537aba0
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 7adfff58
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of nine fixes (and one author update).
      
        The libsas one should fix discovery in eSATA devices, the WRITE_SAME
        one is the largest, but it should fix a lot of problems we've been
        getting with the emulated RAID devices (they've been effectively lying
        about support and then firmware has been choking on the commands).
      
        The rest are various crash, hang or warn driver fixes"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] bfa: Fix crash when symb name set for offline vport
        [SCSI] enclosure: fix WARN_ON in dual path device removing
        [SCSI] pm80xx: Tasklets synchronization fix.
        [SCSI] pm80xx: Resetting the phy state.
        [SCSI] pm80xx: Fix for direct attached device.
        [SCSI] pm80xx: Module author addition
        [SCSI] hpsa: return 0 from driver probe function on success, not 1
        [SCSI] hpsa: do not discard scsi status on aborted commands
        [SCSI] Disable WRITE SAME for RAID and virtual host adapter drivers
        [SCSI] libsas: fix usage of ata_tf_to_fis
      7adfff58
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 470abdcf
      Linus Torvalds authored
      Pull IMA fixes from James Morris:
       "Here are two more fixes for IMA"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        ima: properly free ima_template_entry structures
        ima: Do not free 'entry' before it is initialized
      470abdcf
    • Linus Torvalds's avatar
      Merge tag 'dt-fixes-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 24cb4120
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
       - Various DT binding documentation updates
       - Add Kumar Gala and remove Stephen Warren as DT binding maintainers
      
      * tag 'dt-fixes-for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        dt: binding: reword PowerPC 8xxx GPIO documentation
        ARM: tegra: delete nvidia,tegra20-spi.txt binding
        hwmon: ntc_thermistor: Fix typo (pullup-uV -> pullup-uv)
        of: add vendor prefix for GMT
        clk: exynos: Fix typos in DT bindings documentation
        of: Add vendor prefix for LG Corporation
        Documentation: net: fsl-fec.txt: Add phy-supply entry
        ARM: dts: doc: Document missing binding for omap5-mpu
        dt-bindings: add ARMv8 PMU binding
        MAINTAINERS: remove swarren from DT bindings
        MAINTAINERS: Add Kumar to Device Tree Binding maintainers group
      24cb4120
    • Gu Zheng's avatar
      aio: clean up aio ring in the fail path · d1b94327
      Gu Zheng authored
      Clean up the aio ring file in the fail path of aio_setup_ring
      and ioctx_alloc. And maybe it can fix the GPF issue reported by
      Dave Jones:
      https://lkml.org/lkml/2013/11/25/898Signed-off-by: default avatarGu Zheng <guz.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarBenjamin LaHaise <bcrl@kvack.org>
      d1b94327
    • James Morris's avatar
      Merge branch 'free-memory' of... · bfb26328
      James Morris authored
      Merge branch 'free-memory' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into for-linus
      bfb26328
    • Linus Torvalds's avatar
      Merge tag 'pm-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 002acf1f
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
      
       - cpufreq regression fix from Bjørn Mork restoring the pre-3.12
         behavior of the framework during system suspend/hibernation to avoid
         garbage sysfs files from being left behind in case of a suspend error
      
       - PNP regression fix to restore the correct states of devices after
         resume from hibernation broken in 3.12.  From Dmitry Torokhov.
      
       - cpuidle fix to prevent cpuidle device unregistration from crashing
         due to a NULL pointer dereference if cpuidle has been disabled from
         the kernel command line.  From Konrad Rzeszutek Wilk.
      
       - intel_idle fix for the C6 state definition on Intel Avoton/Rangeley
         processors from Arne Bockholdt.
      
       - Power capping framework fix to make the energy_uj sysfs attribute
         work in accordance with the documentation.  From Srinivas Pandruvada.
      
       - epoll fix to make it ignore the EPOLLWAKEUP flag if the kernel has
         been compiled with CONFIG_PM_SLEEP unset (in which case that flag
         should not have any effect).  From Amit Pundir.
      
       - cpufreq fix to prevent governor sysfs files from being lost over
         system suspend/resume in some (arguably unusual) situations.  From
         Viresh Kumar.
      
      * tag 'pm-3.13-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PowerCap: Fix mode for energy counter
        PNP: fix restoring devices after hibernation
        cpuidle: Check for dev before deregistering it.
        epoll: drop EPOLLWAKEUP if PM_SLEEP is disabled
        cpufreq: fix garbage kobjects on errors during suspend/resume
        cpufreq: suspend governors on system suspend/hibernate
        intel_idle: Fixed C6 state on Avoton/Rangeley processors
      002acf1f
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-epoll', 'pnp' and 'powercap' · 8e703009
      Rafael J. Wysocki authored
      * pm-epoll:
        epoll: drop EPOLLWAKEUP if PM_SLEEP is disabled
      
      * pnp:
        PNP: fix restoring devices after hibernation
      
      * powercap:
        PowerCap: Fix mode for energy counter
      8e703009
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpuidle' and 'pm-cpufreq' · 7cdcec99
      Rafael J. Wysocki authored
      * pm-cpuidle:
        cpuidle: Check for dev before deregistering it.
        intel_idle: Fixed C6 state on Avoton/Rangeley processors
      
      * pm-cpufreq:
        cpufreq: fix garbage kobjects on errors during suspend/resume
        cpufreq: suspend governors on system suspend/hibernate
      7cdcec99
  4. 05 Dec, 2013 14 commits
  5. 04 Dec, 2013 4 commits