1. 28 Jun, 2016 2 commits
  2. 23 Jun, 2016 15 commits
  3. 21 Jun, 2016 11 commits
    • Stephen Boyd's avatar
      Merge tag 'clk-samsung-4.8' of git://linuxtv.org/snawrocki/samsung into clk-next · b6f4f1f2
      Stephen Boyd authored
      Merge changes from Sylwester Nawrocki for samsung clk drivers:
      
       - a fix for exynos7 to prevent gating some critical CMU clocks,
       - addition of CPU clocks for CPU frequency scaling on Exynos5433 SoCs,
       - additions for exynos5410 SoC required for Odroid XU board support,
       - register accessors fixes for kernels built for big endian operation
         (mostly exynos4 SoCs),
       - Exynos5433 clock definitions fixes required for suspend to RAM and
         the audio subsystem operation,
       - many cleanups changing attributes of the clock initializer data
      
      * tag 'clk-samsung-4.8' of git://linuxtv.org/snawrocki/samsung: (41 commits)
        clk: samsung: exynos5433: Add CLK_IGNORE_UNUSED flag to PCIE device
        clk: samsung: exynos5433: Add CLK_IGNORE_UNUSED flags to avoid hang during S2R
        clk: samsung: exynos5433: Add CLK_IGNORE_UNUSED flag for AUD UART
        clk: samsung: exynos4: fixup reg access on be
        clk: samsung: fixup endian in pll clk
        clk: samsung: exynos5410: Add WDT, ACLK266 and SSS clocks
        clk: samsung: exynos5433: add CPU clocks configuration data and instantiate CPU clocks
        clk: samsung: cpu: prepare for adding Exynos5433 CPU clocks
        clk: samsung: exynos5433: prepare for adding CPU clocks
        clk: samsung: Suppress unbinding to prevent theoretical attacks
        clk: samsung: exynos5420: Set ID for aclk333 gate clock
        clk: samsung: exynos5410: Add TMU clock
        clk: samsung: exynos5410: Add I2C, HSI2C and RTC clocks
        clk: samsung: exynos5410: Add serial3, USB and PWM clocks
        clk: samsung: exynos3250: Move PLL rates data to init section
        clk: samsung: Fully constify mux parent names
        clk: samsung: exynos5250: Move sleep init function to init section
        clk: samsung: exynos5420: Move sleep init function and PLL data to init section
        clk: samsung: exynos5433: Move PLL rates data to init section
        clk: samsung: exynos5433: Constify all clock initializers
        ...
      b6f4f1f2
    • Peng Fan's avatar
      clk: correct comments for __clk_determine_rate · 2d5b520c
      Peng Fan authored
      Correct comments for __clk_determine_rate.
      Signed-off-by: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      2d5b520c
    • Roman Volkov's avatar
      clk: vt8500: rework wm8650_find_pll_bits() · c03d795b
      Roman Volkov authored
      PLL clock on WM8650 is calculated in the following way:
      
      M * parent [O1] => / P [O2] => / D [O3]
      
      Where O2 is 600MHz >= (M * parent) / P >= 300MHz.
      
      Current algorithm does not met this requirement, so that the
      function may return rates which are not supported by the hardware.
      
      This patch fixes the algorithm and simplifies the code, reducing
      the calculation time by ~10000 times (according to usermode app) by
      removing the nested loops.
      Signed-off-by: default avatarRoman Volkov <rvolkov@v1ros.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      c03d795b
    • Arnd Bergmann's avatar
      clk: vt8500: fix gcc-4.9 warnings · 27a0becc
      Arnd Bergmann authored
      This fixes some false positive warnings we get with older compiler
      versions:
      
      clk-vt8500.c: In function ‘wm8650_find_pll_bits’:
      clk-vt8500.c:430:12: ‘best_div2’ may be used uninitialized in this function
      clk-vt8500.c:429:12: ‘best_div1’ may be used uninitialized in this function
      clk-vt8500.c:428:14: ‘best_mul’ may be used uninitialized in this function
      clk-vt8500.c: In function ‘wm8750_find_pll_bits’:
      clk-vt8500.c:509:12: ‘best_div2’ may be used uninitialized in this function
      clk-vt8500.c:508:12: ‘best_div1’ may be used uninitialized in this function
      clk-vt8500.c:507:14: ‘best_mul’ may be used uninitialized in this function
      clk-vt8500.c: In function ‘wm8850_find_pll_bits’:
      clk-vt8500.c:560:12: ‘best_div2’ may be used uninitialized in this function
      clk-vt8500.c:559:12: ‘best_div1’ may be used uninitialized in this function
      clk-vt8500.c:558:14: ‘best_mul’ may be used uninitialized in this function
      
      As the local variables are only use for temporaries, we can just
      as well assign the final values directly, which also makes the
      code slightly shorter.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarRoman Volkov <rvolkov@v1ros.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      27a0becc
    • Lee Jones's avatar
      clk: Remove unused variable · 06b37e4a
      Lee Jones authored
      Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      06b37e4a
    • Ben Dooks's avatar
      clk: hi6220: fix missing clk.h include · b62c190f
      Ben Dooks authored
      Fix the warning from missing "clk.h" include which
      defines hi6220_register_clkdiv() function.
      
      drivers/clk/hisilicon/clkdivider-hi6220.c:102:12: warning: symbol 'hi6220_register_clkdiv' was not declared. Should it be static?
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      b62c190f
    • Ben Dooks's avatar
      clk: iproc: fix missing include of clk-iproc.h · c895db85
      Ben Dooks authored
      Fix the implicit declaration of iproc_armpll_setup() by
      including clk-iproc.h which defines it. Fixes the warning:
      
      drivers/clk/bcm/clk-iproc-armpll.c:242:13: warning: symbol 'iproc_armpll_setup' was not declared. Should it be static?
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Acked-by: default avatarRay Jui <ray.jui@broadcom.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      c895db85
    • Ben Dooks's avatar
      clk: at91: make of_sama5d2_clk_generated_setup() static · 14755549
      Ben Dooks authored
      The of_sama5d2_clk_generated_setup() is not exported outside
      of the driver, so make it static to fix the warning about it
      being not static:
      
      drivers/clk/at91/clk-generated.c:270:13: warning: symbol 'of_sama5d2_clk_generated_setup' was not declared. Should it be static?
      Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
      Acked-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      14755549
    • Stephen Boyd's avatar
      Merge branch 'clk-fixes' into clk-next · dd6c1331
      Stephen Boyd authored
      * clk-fixes:
        clk: Fix return value check in oxnas_stdclk_probe()
        clk: rockchip: release io resource when failing to init clk on rk3399
        clk: rockchip: fix cpuclk registration error handling
        clk: rockchip: Revert "clk: rockchip: reset init state before mmc card initialization"
        clk: rockchip: fix incorrect parent for rk3399's {c,g}pll_aclk_perihp_src
        clk: rockchip: mark rk3399 GIC clocks as critical
        clk: rockchip: initialize flags of clk_init_data in mmc-phase clock
      dd6c1331
    • Stephen Boyd's avatar
      Merge tag 'v4.7-rockchip-clk-fixes1' of... · 08634770
      Stephen Boyd authored
      Merge tag 'v4.7-rockchip-clk-fixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-fixes
      
      A bunch of fixes. Some for the newly added rk3399 clock tree, some
      concerning error handling and initialization and a revert of the
      mmc-phase clock initialization, as this could conflict with the
      bootloader setting of this clock and a real solution to initing
      the phase correctly from dw_mmc went in as fix for 4.7 through
      the mmc tree.
      
      * tag 'v4.7-rockchip-clk-fixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
        clk: rockchip: release io resource when failing to init clk on rk3399
        clk: rockchip: fix cpuclk registration error handling
        clk: rockchip: Revert "clk: rockchip: reset init state before mmc card initialization"
        clk: rockchip: fix incorrect parent for rk3399's {c,g}pll_aclk_perihp_src
        clk: rockchip: mark rk3399 GIC clocks as critical
        clk: rockchip: initialize flags of clk_init_data in mmc-phase clock
      08634770
    • Wei Yongjun's avatar
      clk: Fix return value check in oxnas_stdclk_probe() · a5e9b85a
      Wei Yongjun authored
      In case of error, the function syscon_node_to_regmap() returns
      ERR_PTR() and never returns NULL. The NULL test in the return
      value check should be replaced with IS_ERR().
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Acked-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
      Fixes: 0bbd72b4 ("clk: Add Oxford Semiconductor OXNAS Standard Clocks")
      Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
      a5e9b85a
  4. 20 Jun, 2016 1 commit
  5. 17 Jun, 2016 1 commit
  6. 15 Jun, 2016 2 commits
    • Paul E. McKenney's avatar
      clk: Use _rcuidle suffix to allow clk_core_enable() to used from idle · f17a0dd1
      Paul E. McKenney authored
      This commit fixes the RCU use-from-idle bug corresponding the following
      splat:
      
      > [ INFO: suspicious RCU usage. ]
      > 4.6.0-rc5-next-20160426+ #1127 Not tainted
      > -------------------------------
      > include/trace/events/clk.h:45 suspicious rcu_dereference_check() usage!
      >
      > other info that might help us debug this:
      >
      >
      > RCU used illegally from idle CPU!
      > rcu_scheduler_active = 1, debug_locks = 0
      > RCU used illegally from extended quiescent state!
      > 2 locks held by swapper/0/0:
      >  #0:  (&oh->hwmod_key#30){......}, at: [<c0121afc>] omap_hwmod_enable+0x18/0x44
      >  #1:  (enable_lock){......}, at: [<c0630684>] clk_enable_lock+0x18/0x124
      >
      > stack backtrace:
      > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.6.0-rc5-next-20160426+ #1127
      > Hardware name: Generic OMAP36xx (Flattened Device Tree)
      > [<c0110290>] (unwind_backtrace) from [<c010c3a8>] (show_stack+0x10/0x14)
      > [<c010c3a8>] (show_stack) from [<c047fd68>] (dump_stack+0xb0/0xe4)
      > [<c047fd68>] (dump_stack) from [<c06315c0>] (clk_core_enable+0x1e0/0x36c)
      > [<c06315c0>] (clk_core_enable) from [<c0632298>] (clk_enable+0x1c/0x38)
      > [<c0632298>] (clk_enable) from [<c01204e0>] (_enable_clocks+0x18/0x7c)
      > [<c01204e0>] (_enable_clocks) from [<c012137c>] (_enable+0x114/0x2ec)
      > [<c012137c>] (_enable) from [<c0121b08>] (omap_hwmod_enable+0x24/0x44)
      > [<c0121b08>] (omap_hwmod_enable) from [<c0122ad0>] (omap_device_enable+0x3c/0x90)
      > [<c0122ad0>] (omap_device_enable) from [<c0122b34>] (_od_runtime_resume+0x10/0x38)
      > [<c0122b34>] (_od_runtime_resume) from [<c052cc00>] (__rpm_callback+0x2c/0x60)
      > [<c052cc00>] (__rpm_callback) from [<c052cc54>] (rpm_callback+0x20/0x80)
      > [<c052cc54>] (rpm_callback) from [<c052df7c>] (rpm_resume+0x3d0/0x6f0)
      > [<c052df7c>] (rpm_resume) from [<c052e2e8>] (__pm_runtime_resume+0x4c/0x64)
      > [<c052e2e8>] (__pm_runtime_resume) from [<c04bf2c4>] (omap2_gpio_resume_after_idle+0x54/0x68)
      > [<c04bf2c4>] (omap2_gpio_resume_after_idle) from [<c01269dc>] (omap3_enter_idle_bm+0xfc/0x1ec)
      > [<c01269dc>] (omap3_enter_idle_bm) from [<c0601888>] (cpuidle_enter_state+0x80/0x3d4)
      > [<c0601888>] (cpuidle_enter_state) from [<c0183b08>] (cpu_startup_entry+0x198/0x3a0)
      > [<c0183b08>] (cpu_startup_entry) from [<c0b00c0c>] (start_kernel+0x354/0x3c8)
      > [<c0b00c0c>] (start_kernel) from [<8000807c>] (0x8000807c)
      Reported-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: <linux-omap@vger.kernel.org>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: <linux-clk@vger.kernel.org>
      f17a0dd1
    • Paul E. McKenney's avatar
      clk: Add _rcuidle tracepoints to allow clk_core_disable() use from idle · 2f87a6ea
      Paul E. McKenney authored
      This commit adds an _rcuidle suffix to a pair of trace events to
      prevent the following splat:
      
      > ===============================
      > [ INFO: suspicious RCU usage. ]
      > 4.6.0-rc5-next-20160426+ #1114 Not tainted
      > -------------------------------
      > include/trace/events/clk.h:59 suspicious rcu_dereference_check() usage!
      >
      > other info that might help us debug this:
      >
      >
      > RCU used illegally from idle CPU!
      > rcu_scheduler_active = 1, debug_locks = 0
      > RCU used illegally from extended quiescent state!
      > 2 locks held by swapper/0/0:
      >  #0:  (&oh->hwmod_key#30){......}, at: [<c0121b40>] omap_hwmod_idle+0x18/0x44
      >  #1:  (enable_lock){......}, at: [<c0630998>] clk_enable_lock+0x18/0x124
      >
      > stack backtrace:
      > CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.6.0-rc5-next-20160426+ #1114
      > Hardware name: Generic OMAP36xx (Flattened Device Tree)
      > [<c0110290>] (unwind_backtrace) from [<c010c3a8>] (show_stack+0x10/0x14)
      > [<c010c3a8>] (show_stack) from [<c047fd68>] (dump_stack+0xb0/0xe4)
      > [<c047fd68>] (dump_stack) from [<c0631618>] (clk_core_disable+0x17c/0x348)
      > [<c0631618>] (clk_core_disable) from [<c0632774>] (clk_disable+0x24/0x30)
      > [<c0632774>] (clk_disable) from [<c0120590>] (_disable_clocks+0x18/0x7c)
      > [<c0120590>] (_disable_clocks) from [<c0121680>] (_idle+0x12c/0x230)
      > [<c0121680>] (_idle) from [<c0121b4c>] (omap_hwmod_idle+0x24/0x44)
      > [<c0121b4c>] (omap_hwmod_idle) from [<c0122c24>] (omap_device_idle+0x3c/0x90)
      > [<c0122c24>] (omap_device_idle) from [<c052cc00>] (__rpm_callback+0x2c/0x60)
      > [<c052cc00>] (__rpm_callback) from [<c052cc54>] (rpm_callback+0x20/0x80)
      > [<c052cc54>] (rpm_callback) from [<c052d150>] (rpm_suspend+0x100/0x768)
      > [<c052d150>] (rpm_suspend) from [<c052ec58>] (__pm_runtime_suspend+0x64/0x84)
      > [<c052ec58>] (__pm_runtime_suspend) from [<c04bf25c>] (omap2_gpio_prepare_for_idle+0x5c/0x70)
      > [<c04bf25c>] (omap2_gpio_prepare_for_idle) from [<c0125568>] (omap_sram_idle+0x140/0x244)
      > [<c0125568>] (omap_sram_idle) from [<c01269dc>] (omap3_enter_idle_bm+0xfc/0x1ec)
      > [<c01269dc>] (omap3_enter_idle_bm) from [<c0601bdc>] (cpuidle_enter_state+0x80/0x3d4)
      > [<c0601bdc>] (cpuidle_enter_state) from [<c0183b08>] (cpu_startup_entry+0x198/0x3a0)
      > [<c0183b08>] (cpu_startup_entry) from [<c0b00c0c>] (start_kernel+0x354/0x3c8)
      > [<c0b00c0c>] (start_kernel) from [<8000807c>] (0x8000807c)
      Reported-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Tested-by: default avatarTony Lindgren <tony@atomide.com>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Michael Turquette <mturquette@baylibre.com>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      Cc: <linux-omap@vger.kernel.org>
      Cc: <linux-arm-kernel@lists.infradead.org>
      Cc: <linux-clk@vger.kernel.org>
      2f87a6ea
  7. 10 Jun, 2016 5 commits
  8. 06 Jun, 2016 3 commits