1. 11 Mar, 2020 2 commits
  2. 10 Mar, 2020 4 commits
    • Peng Fan's avatar
      clk: imx: pllv4: use prepare/unprepare · d678d83c
      Peng Fan authored
      It is not good to use enable/disable for PLLv4 which needs time to
      lock, because enable/disable is expected to be able run in
      interrupt context. So use prepare/unprepare.
      Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      d678d83c
    • Peng Fan's avatar
      clk: imx: pfdv2: determine best parent rate · c88a4c79
      Peng Fan authored
      pfdv2 is only used in i.MX7ULP. To get best pfd output, the i.MX7ULP
      Datasheet defines two best PLL rate and pfd frac.
      
      Per Datasheel
      All PLLs on i.MX 7ULP either have VCO base frequency of
      480 MHz or 528 MHz. So when determine best rate, we also
      determine best parent rate which could match the requirement.
      
      For some reason the current parent might not be 480MHz or 528MHz,
      so we still take current parent rate as a choice.
      
      And we also enable flag CLK_SET_RATE_PARENT to let parent rate
      to be configured.
      Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      c88a4c79
    • Peng Fan's avatar
      clk: imx: pfdv2: switch to use determine_rate · 8ffe9c7b
      Peng Fan authored
      Per clk_ops, compared with round_rate, determine_rate could optionally
      support the parent clock that should be used to provide the clock rate.
      
      In this patch, the parent clock is just parent->rate as round_rate.
      
      The following patch will calculate the best parent clock.
      Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      8ffe9c7b
    • Anson Huang's avatar
      clk: imx: Fix division by zero warning on pfdv2 · 28b2f82e
      Anson Huang authored
      Fix below division by zero warning:
      
      [    3.176443] Division by zero in kernel.
      [    3.181809] CPU: 0 PID: 88 Comm: kworker/0:2 Not tainted 5.3.0-rc2-next-20190730-63758-ge08da51-dirty #124
      [    3.191817] Hardware name: Freescale i.MX7ULP (Device Tree)
      [    3.197821] Workqueue: events dbs_work_handler
      [    3.202849] [<c01127d8>] (unwind_backtrace) from [<c010cd80>] (show_stack+0x10/0x14)
      [    3.211058] [<c010cd80>] (show_stack) from [<c0c77e68>] (dump_stack+0xd8/0x110)
      [    3.218820] [<c0c77e68>] (dump_stack) from [<c0c753c0>] (Ldiv0_64+0x8/0x18)
      [    3.226263] [<c0c753c0>] (Ldiv0_64) from [<c05984b4>] (clk_pfdv2_set_rate+0x54/0xac)
      [    3.234487] [<c05984b4>] (clk_pfdv2_set_rate) from [<c059192c>] (clk_change_rate+0x1a4/0x698)
      [    3.243468] [<c059192c>] (clk_change_rate) from [<c0591a08>] (clk_change_rate+0x280/0x698)
      [    3.252180] [<c0591a08>] (clk_change_rate) from [<c0591fc0>] (clk_core_set_rate_nolock+0x1a0/0x278)
      [    3.261679] [<c0591fc0>] (clk_core_set_rate_nolock) from [<c05920c8>] (clk_set_rate+0x30/0x64)
      [    3.270743] [<c05920c8>] (clk_set_rate) from [<c089cb88>] (imx7ulp_set_target+0x184/0x2a4)
      [    3.279501] [<c089cb88>] (imx7ulp_set_target) from [<c0896358>] (__cpufreq_driver_target+0x188/0x514)
      [    3.289196] [<c0896358>] (__cpufreq_driver_target) from [<c0899b0c>] (od_dbs_update+0x130/0x15c)
      [    3.298438] [<c0899b0c>] (od_dbs_update) from [<c089a5d0>] (dbs_work_handler+0x2c/0x5c)
      [    3.306914] [<c089a5d0>] (dbs_work_handler) from [<c0156858>] (process_one_work+0x2ac/0x704)
      [    3.315826] [<c0156858>] (process_one_work) from [<c0156cdc>] (worker_thread+0x2c/0x574)
      [    3.324404] [<c0156cdc>] (worker_thread) from [<c015cfe8>] (kthread+0x134/0x148)
      [    3.332278] [<c015cfe8>] (kthread) from [<c01010b4>] (ret_from_fork+0x14/0x20)
      [    3.339858] Exception stack(0xe82d5fb0 to 0xe82d5ff8)
      [    3.345314] 5fa0:                                     00000000 00000000 00000000 00000000
      [    3.353926] 5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
      [    3.362519] 5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
      Signed-off-by: default avatarAnson Huang <Anson.Huang@nxp.com>
      Signed-off-by: default avatarPeng Fan <peng.fan@nxp.com>
      Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
      28b2f82e
  3. 24 Feb, 2020 7 commits
  4. 19 Feb, 2020 3 commits
  5. 17 Feb, 2020 10 commits
  6. 14 Feb, 2020 5 commits
  7. 13 Feb, 2020 6 commits
  8. 10 Feb, 2020 2 commits
    • Linus Torvalds's avatar
      Linux 5.6-rc1 · bb6d3fb3
      Linus Torvalds authored
      bb6d3fb3
    • Linus Torvalds's avatar
      Merge tag 'kbuild-v5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild · 89a47dd1
      Linus Torvalds authored
      Pull more Kbuild updates from Masahiro Yamada:
      
       - fix randconfig to generate a sane .config
      
       - rename hostprogs-y / always to hostprogs / always-y, which are more
         natual syntax.
      
       - optimize scripts/kallsyms
      
       - fix yes2modconfig and mod2yesconfig
      
       - make multiple directory targets ('make foo/ bar/') work
      
      * tag 'kbuild-v5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
        kbuild: make multiple directory targets work
        kconfig: Invalidate all symbols after changing to y or m.
        kallsyms: fix type of kallsyms_token_table[]
        scripts/kallsyms: change table to store (strcut sym_entry *)
        scripts/kallsyms: rename local variables in read_symbol()
        kbuild: rename hostprogs-y/always to hostprogs/always-y
        kbuild: fix the document to use extra-y for vmlinux.lds
        kconfig: fix broken dependency in randconfig-generated .config
      89a47dd1
  9. 09 Feb, 2020 1 commit
    • Linus Torvalds's avatar
      Merge tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs · 380a129e
      Linus Torvalds authored
      Pull new zonefs file system from Damien Le Moal:
       "Zonefs is a very simple file system exposing each zone of a zoned
        block device as a file.
      
        Unlike a regular file system with native zoned block device support
        (e.g. f2fs or the on-going btrfs effort), zonefs does not hide the
        sequential write constraint of zoned block devices to the user. As a
        result, zonefs is not a POSIX compliant file system. Its goal is to
        simplify the implementation of zoned block devices support in
        applications by replacing raw block device file accesses with a richer
        file based API, avoiding relying on direct block device file ioctls
        which may be more obscure to developers.
      
        One example of this approach is the implementation of LSM
        (log-structured merge) tree structures (such as used in RocksDB and
        LevelDB) on zoned block devices by allowing SSTables to be stored in a
        zone file similarly to a regular file system rather than as a range of
        sectors of a zoned device. The introduction of the higher level
        construct "one file is one zone" can help reducing the amount of
        changes needed in the application while at the same time allowing the
        use of zoned block devices with various programming languages other
        than C.
      
        Zonefs IO management implementation uses the new iomap generic code.
        Zonefs has been successfully tested using a functional test suite
        (available with zonefs userland format tool on github) and a prototype
        implementation of LevelDB on top of zonefs"
      
      * tag 'zonefs-5.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/zonefs:
        zonefs: Add documentation
        fs: New zonefs file system
      380a129e