23 Feb, 2016

6 commits


20 Feb, 2016

1 commit


19 Feb, 2016

2 commits

  • * clk-fixes:
    clk: gpio: Really allow an optional clock= DT property
    Revert "clk: qcom: Specify LE device endianness"

    Stephen Boyd
     
  • We mis-merged the original patch from Russell here and so the
    patch went almost all the way, except that we still failed to
    probe when there wasn't a clocks property in the DT node. Allow
    that case by making a negative value from
    of_clk_get_parent_count() into "no parents", like the original
    patch did.

    Fixes: 7ed88aa2efa5 ("clk: fix clk-gpio.c with optional clock= DT property")
    Cc: Russell King
    Cc: Michael Turquette
    Signed-off-by: Stephen Boyd

    Stephen Boyd
     

18 Feb, 2016

2 commits


17 Feb, 2016

4 commits


16 Feb, 2016

2 commits


13 Feb, 2016

1 commit

  • This reverts commit 329cabcecf94d8d7821e729dda284ba9dec44c87.

    The commit that caused us to specify LE device endianness here,
    29bb45f25ff3 (regmap-mmio: Use native endianness for read/write,
    2015-10-29), has been reverted in mainline so now when we specify
    LE it actively breaks big endian kernels because the byte
    swapping in regmap-mmio is incorrect. Let's revert this change
    because it will 1) fix the big endian kernels and 2) be redundant
    to specify LE because that will become the default soon.

    Cc: Kevin Hilman
    Tested-by: Kevin Hilman
    Cc: Mark Brown
    Signed-off-by: Stephen Boyd

    Stephen Boyd
     

12 Feb, 2016

6 commits

  • With gdsc driver capable of handling hierarchical power domains,
    specify oxili_gdsc as parent of oxilicx_gdsc.

    Remove all direct calls to genpd from the mmcc clock driver. The
    adding and removing of subdomains is now handled from within
    the gdsc driver.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Stephen Boyd

    Rajendra Nayak
     
  • Add all gdsc data which are part of mmcc on msm8996 family

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Stephen Boyd

    Rajendra Nayak
     
  • Add all data for the GDSCs which are part of msm8996 GCC block

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Stephen Boyd

    Rajendra Nayak
     
  • Some gdscs might be controlled via voting registers and might not
    really disable when the kernel intends to disable them (due to other
    votes keeping them enabled)
    Mark these gdscs with a flag for we do not check/wait on a disable
    status for these gdscs within the kernel disable callback.

    Also at boot, if these GDSCs are found to be ON, we make sure we
    vote for them before we inform the genpd framework about their
    status. If genpd gets no users, it then disables (removes the vote)
    them as part of genpd_poweroff_unused()

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Stephen Boyd

    Rajendra Nayak
     
  • Some gdsc power domains can have a gds_hw_controller block inside
    to help ensure all slave devices within the power domain are idle
    before the gdsc is actually switched off.
    This is mainly useful in power domains which host a MMU, in which
    case its necessary to make sure there are no outstanding MMU operations
    or pending bus transactions before the power domain is turned off.

    In gdscs with gds_hw_controller block, its necessary to check the
    gds_hw_ctrl status bits instead of the ones in gdscr, to determine
    the state of the powerdomain.

    While at it, also move away from using jiffies and use ktime APIs
    instead for busy looping on status bits.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Stephen Boyd

    Rajendra Nayak
     
  • Some qcom SoCs' can have hierarchical power domains. Let the gdsc structs
    specify the parents (if any) and the driver add genpd subdomains for them.

    Signed-off-by: Rajendra Nayak
    Signed-off-by: Stephen Boyd

    Rajendra Nayak
     

11 Feb, 2016

3 commits

  • This patch add the support to setup the HCLK PLL output
    using the "assigned-clock-rates" parameter in the device tree.

    If the option is not use, the clock setup by the kickstart
    and/or bootloader remain unchanged.

    The previous kernel version did not change the clock frequency
    output setup by the kickstart and/or bootloader;
    this version always setup the clock frequency output to 208MHz.

    Signed-off-by: Sylvain Lemieux
    Signed-off-by: Stephen Boyd

    Sylvain Lemieux
     
  • * clk-fixes:
    clk: versatile: mask VCO bits before writing

    Stephen Boyd
     
  • The Versatile syscon ICST driver OR:s the bits into place but
    forgets to mask the previous value, making the code only work
    if the register is zero or giving haphazard results. Mask the
    19 bits used by the Versatile syscon interface register.

    Regression caused and now fixed by yours truly.

    Cc: Michael Turquette
    Cc: Stephen Boyd
    Cc: linux-clk@vger.kernel.org
    Fixes: 179c8fb3c2a6 ("clk: versatile-icst: convert to use regmap")
    Signed-off-by: Linus Walleij
    Signed-off-by: Stephen Boyd

    Linus Walleij
     

10 Feb, 2016

2 commits

  • The following errors are display in the console during the power-on:
    [ 0.000000] lpc32xx_usb_clk_init: failed to register (null) clock: -12
    [ 0.000000] lpc32xx_clk_init: failed to register (null) clock: -12

    There is no need to register clock "0"; the first clock used is 1;

    Signed-off-by: Sylvain Lemieux
    Acked-by: Vladimir Zapolskiy
    [sboyd@codeaurora.org: s/prepare/register/]
    Signed-off-by: Stephen Boyd

    Sylvain Lemieux
     
  • Before commit b3d192d5121f ("clk: simplify __clk_init_parent()"),
    __clk_init_parent() called .get_parent() only for multi-parent
    clocks. That commit changed the behavior to call .get_parent()
    if available even for single-parent clocks and root clocks.

    It turned out a problem because there are some single-parent clocks
    that implement .get_parent() callback and return non-zero index.
    The SOCFPGA clock is the case; the commit broke the SOCFPGA boards.

    To keep the original behavior, invoke .get_parent() only when
    num_parents is greater than 1.

    Fixes: b3d192d5121f ("clk: simplify __clk_init_parent()")
    Signed-off-by: Masahiro Yamada
    Reported-by: Dinh Nguyen
    Signed-off-by: Stephen Boyd

    Masahiro Yamada
     

09 Feb, 2016

8 commits

  • We were not checking the return from devm_add_action() which can fail.
    Start using the helper and devm_add_action_or_reset() and return
    directly as we know that the cleanup has been done by this helper.

    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Stephen Boyd

    Sudip Mukherjee
     
  • Add a helper function devm_add_action_or_reset() which will internally
    call devm_add_action(). But if devm_add_action() fails then it will
    execute the action mentioned and return the error code.

    Signed-off-by: Sudip Mukherjee
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Stephen Boyd

    Sudip Mukherjee
     
  • As preparation for arm64 based mesongxbb, which pulls in this code once
    enabling ARCH_MESON, fix a size_t vs. unsigned int type mismatch.
    The loop uses a local unsigned int variable, so adopt that type,
    matching the header.

    Fixes: 7a29a869434e ("clk: meson: Add support for Meson clock controller")
    Signed-off-by: Andreas Färber
    Acked-by: Carlo Caione
    Signed-off-by: Stephen Boyd

    Andreas Färber
     
  • clang found a bug with the __socfpga_pll_init definition:

    drivers/clk/socfpga/clk-pll-a10.c:77:15: error: '__section__' attribute only applies to functions and
    global variables

    This moves the __init annotation to the right place so the function
    actually gets discarded.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Stephen Boyd

    Arnd Bergmann
     
  • There are two TI CDCE clock chips in this file. Move them close
    together so they're easier to find.

    No functional change, just cosmetic.

    Signed-off-by: Mike Looijmans
    [sboyd@codeaurora.org: Alphabetize]
    Signed-off-by: Stephen Boyd

    Mike Looijmans
     
  • Simple cosmetic fix.

    Signed-off-by: Mike Looijmans
    Signed-off-by: Stephen Boyd

    Mike Looijmans
     
  • * clk-fixes:
    clk: tegra: super: Fix sparse warnings for functions not declared as static
    clk: tegra: Fix sparse warnings for functions not declared as static
    clk: tegra: Fix sparse warning for pll_m
    clk: tegra: Use definition for pll_u override bit
    clk: tegra: Fix warning caused by pll_u failing to lock
    clk: tegra: Fix clock sources for Tegra210 EMC
    clk: tegra: Add the APB2APE audio clock on Tegra210
    clk: tegra: Add missing of_node_put()
    clk: tegra: Fix PLLE SS coefficients
    clk: tegra: Fix typos around clearing PLLE bits during enable
    clk: tegra: Do not disable PLLE when under hardware control
    clk: tegra: Fix pllx dyn step calculation
    clk: tegra: pll: Fix potential sleeping-while-atomic
    clk: tegra: Fix the misnaming of nvenc from msenc
    clk: tegra: Fix naming of MISC registers
    clk: tegra: Remove improper flags for lock_enable
    clk: tegra: Fix divider on VI_I2C

    Stephen Boyd
     
  • …/git/tegra/linux into clk-fixes

    Pull tegra fixes from Thierry Reding:

    clk: tegra: Fixes for v4.5-rc3

    This set contains a bunch of miscellaneous fixes that have accumulated
    over the past couple of weeks, primarily for the Tegra210 support added
    in v4.5-rc1.

    * tag 'tegra-for-4.5-clk-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
    clk: tegra: super: Fix sparse warnings for functions not declared as static
    clk: tegra: Fix sparse warnings for functions not declared as static
    clk: tegra: Fix sparse warning for pll_m
    clk: tegra: Use definition for pll_u override bit
    clk: tegra: Fix warning caused by pll_u failing to lock
    clk: tegra: Fix clock sources for Tegra210 EMC
    clk: tegra: Add the APB2APE audio clock on Tegra210
    clk: tegra: Add missing of_node_put()
    clk: tegra: Fix PLLE SS coefficients
    clk: tegra: Fix typos around clearing PLLE bits during enable
    clk: tegra: Do not disable PLLE when under hardware control
    clk: tegra: Fix pllx dyn step calculation
    clk: tegra: pll: Fix potential sleeping-while-atomic
    clk: tegra: Fix the misnaming of nvenc from msenc
    clk: tegra: Fix naming of MISC registers
    clk: tegra: Remove improper flags for lock_enable
    clk: tegra: Fix divider on VI_I2C

    Stephen Boyd
     

08 Feb, 2016

2 commits


07 Feb, 2016

1 commit