1. 21 Aug, 2017 1 commit
  2. 18 Aug, 2017 9 commits
    • Arnd Bergmann's avatar
      Merge tag 'reset-for-4.14' of git://git.pengutronix.de/git/pza/linux into next/drivers · e517030e
      Arnd Bergmann authored
      Pull "Reset controller changes for v4.14" from Philipp Zabel:
      
      - constify zx2967 reset_ops
      - add a convenience API to manage an array of resets
      - let deassert report success and let assert report success for shared resets
        if the reset controller driver does not implement (de)assert.
      - add HSDKv1 reset driver
      - remove Gemini reset controller, the driver is made obsolete
        by a combined clock/reset driver in drivers/clk
      - fix the total number of reset lines in the sunxi driver
      - various uniphier updates and fixes:
        - remove sLD3 SoC support
        - simplify system reset register and bit definitions
        - add audio systems, video input subsystem, and analog amplifiers reset
          controls
      
      * tag 'reset-for-4.14' of git://git.pengutronix.de/git/pza/linux:
        reset: uniphier: add analog amplifiers reset control
        reset: uniphier: add video input subsystem reset control
        reset: uniphier: add audio systems reset control
        reset: sunxi: fix number of reset lines
        reset: uniphier: do not use per-SoC macro for system reset block
        reset: uniphier: remove sLD3 SoC support
        Revert "reset: Add a Gemini reset controller"
        ARC: reset: introduce HSDKv1 reset driver
        reset: make (de)assert report success for self-deasserting reset drivers
        reset: Add APIs to manage array of resets
        reset: zx2967: constify zx2967_reset_ops.
      e517030e
    • Arnd Bergmann's avatar
      Merge tag 'tegra-for-4.14-firmware' of... · 03f89359
      Arnd Bergmann authored
      Merge tag 'tegra-for-4.14-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers
      
      Pull "firmare: Changes for v4.14-rc1" from Thierry Reding:
      
      This contains a single bug fix that can lead to a crash in some rare
      situations. Since this has never been reported to happen with the level
      of support that exists upstream, this isn't considered critical.
      
      * tag 'tegra-for-4.14-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
        firmware: tegra: set drvdata earlier
      03f89359
    • Arnd Bergmann's avatar
      Merge tag 'tegra-for-4.14-soc' of... · f2970be5
      Arnd Bergmann authored
      Merge tag 'tegra-for-4.14-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers
      
      Pull "soc/tegra: Changes for v4.14-rc1" from Thierry Reding:
      
      Contains a fix for unbalanced reference counting of device tree nodes in
      the PMC-based generic power domains code.
      
      A second change moves the SoC device registration code from its old
      location in arch/arm/mach-tegra to drivers/soc/tegra so that it can be
      shared between 32-bit and 64-bit ARM Tegra SoCs.
      
      * tag 'tegra-for-4.14-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
        soc/tegra: Register SoC device
        soc/tegra: Fix bad of_node_put() in powergate init
      f2970be5
    • Arnd Bergmann's avatar
      Merge tag 'v4.13-next-soc' of https://github.com/mbgg/linux-mediatek into next/drivers · 9da95d8f
      Arnd Bergmann authored
      Pull "arm: mediatek: soc updates for v4.14" from Matthias Brugger:
      
      - add mt7623a smp support
      - scpsys: reduce code duplication
      - scpsys: add mt7622 support
      - pmic wrapper: make of_device_ids constant
      
      * tag 'v4.13-next-soc' of https://github.com/mbgg/linux-mediatek:
        soc: mediatek: add SCPSYS power domain driver for MediaTek MT7622 SoC
        soc: mediatek: add header files required for MT7622 SCPSYS dt-binding
        soc: mediatek: reduce code duplication of scpsys_probe across all SoCs
        dt-bindings: soc: update the binding document for SCPSYS on MediaTek MT7622 SoC
        soc: mtk-pmic-wrap: make of_device_ids const.
        ARM: mediatek: add MT7623a smp bringup code
      9da95d8f
    • Icenowy Zheng's avatar
      drivers: soc: sunxi: add support for A64 and its SRAM C · 5e4fb642
      Icenowy Zheng authored
      Allwinner A64's display engine claims the SRAM C section to work.
      
      Add support for the A64 SRAM controller and the SRAM C section of it.
      Signed-off-by: default avatarIcenowy Zheng <icenowy@aosc.io>
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      5e4fb642
    • Icenowy Zheng's avatar
      drivers: soc: sunxi: add support for remapping func value to reg value · 8fed2ce9
      Icenowy Zheng authored
      On some Allwinner SoCs, sometimes the value needed to write into the
      register to claim SRAM is not equal to the value specified in the
      device tree.
      
      The device tree binding defines 0 as "mapped to CPU" and 1 as "mapped
      to X device". This matches the value written to the configuration
      register for the SRAM blocks currently supported. However, the not yet
      supported VE SRAM block is claimed for the device by writing 0x7fffffff,
      which is vastly different from the other blocks. On the A64, SRAM C is
      claimed by the device by writing a 0, which is the opposite of the
      current design.
      
      Add a value remapping in sunxi_sram_func structure, and let the
      sunxi_sram_of_parse function set the remapped register value.
      This allows us to keep the convention currently used in the device tree
      binding.
      Signed-off-by: default avatarIcenowy Zheng <icenowy@aosc.io>
      [wens@csie.org: Clarified commit message]
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      8fed2ce9
    • Icenowy Zheng's avatar
      drivers: soc: sunxi: fix error processing on base address when claiming · 2262a65f
      Icenowy Zheng authored
      When claiming SRAM, if the base is set to an error, it means that the
      SRAM controller has been probed, but failed to remap the controller
      memory zone. If the base is zero, thus the SRAM controller should be not
      probed at all, and it should return -EPROBE_DEFER. However, currently we
      returned -EPROBE_DEFER in the former situation, and ignored the latter
      situation (which will lead to the kernel to panic).
      
      Fix the behavior on abnormal base address processing when claiming.
      Signed-off-by: default avatarIcenowy Zheng <icenowy@aosc.io>
      Fixes: 4af34b57 ("drivers: soc: sunxi: Introduce SoC driver to map
      		      SRAMs")
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      2262a65f
    • Icenowy Zheng's avatar
      dt-bindings: add binding for Allwinner A64 SRAM controller and SRAM C · 189f0282
      Icenowy Zheng authored
      The display engine on Allwinner A64 wants to claim the SRAM C section.
      
      Add a SRAM controller compatible for A64, and a SRAM section compatible
      for its SRAM C.
      Signed-off-by: default avatarIcenowy Zheng <icenowy@aosc.io>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      189f0282
    • Jagan Teki's avatar
      bus: sunxi-rsb: Enable by default for ARM64 · dc1a37b2
      Jagan Teki authored
      Allwinner's A64 SoC uses the "Reduced Serial Bus" to communicate with
      its companion PMIC.
      
      Since arm64 does not have separate defconfigs for each platform or
      processor family, enable this driver by default for ARM64 as well.
      Note that the Kconfig symbol already depends on ARCH_SUNXI.
      Signed-off-by: default avatarJagan Teki <jagan@amarulasolutions.com>
      [wens@csie.org: Refined commit message]
      Signed-off-by: default avatarChen-Yu Tsai <wens@csie.org>
      dc1a37b2
  3. 17 Aug, 2017 3 commits
  4. 16 Aug, 2017 8 commits
  5. 14 Aug, 2017 7 commits
  6. 11 Aug, 2017 3 commits
  7. 08 Aug, 2017 4 commits
    • Bjorn Andersson's avatar
      soc: qcom: mdt_loader: Use request_firmware_into_buf() · 445c2410
      Bjorn Andersson authored
      By switching to the request_firmware_into_buf() we load the segment data
      straight into the preallocated buffers, reducing the need for allocating
      scratch buffers for these. In particular the modem firmware consists of
      multiple segments in the range 5-15MB, making this worth while.
      Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      445c2410
    • Srinivas Kandagatla's avatar
      soc: qcom: bring all qcom drivers into a submenu · 2a464815
      Srinivas Kandagatla authored
      As the number of qcom drivers increase, entries in SOC menu looks
      scattered with other SOC drivers. Make a submenu for Qcom drivers
      to make it visibly clear while selecting qcom SOC specific drivers.
      Signed-off-by: default avatarSrinivas Kandagatla <srinivas.kandagatla@linaro.org>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      2a464815
    • Rob Clark's avatar
      soc: qcom: wcnss_ctrl: add missing MODULE_DEVICE_TABLE() · b8339909
      Rob Clark authored
      This fixes a problem of wifi module not loading on db410c.
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Reviewed-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      b8339909
    • Rob Clark's avatar
      soc: qcom: smsm: fix of_node refcnting problem · 3e8b5541
      Rob Clark authored
      of_find_node_with_property() drops the reference to the 'from' node,
      which eventually (after enough -EPROBE_DEFERs) drops the last reference
      to the node causing all sorts of fun problems, and this nice splat.
      
        BUG: sleeping function called from invalid context at ../kernel/locking/mutex.c:747
        in_atomic(): 1, irqs_disabled(): 128, pid: 33, name: kworker/0:1
        4 locks held by kworker/0:1/33:
         #0:  ("events"){.+.+.+}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728
         #1:  (deferred_probe_work){+.+.+.}, at: [<ffff0000080fa91c>] process_one_work+0x1a4/0x728
         #2:  (&dev->mutex){......}, at: [<ffff000008676078>] __device_attach+0x30/0x168
         #3:  (devtree_lock){......}, at: [<ffff000008828fd0>] of_find_node_with_property+0x30/0xe0
        irq event stamp: 18976
        hardirqs last  enabled at (18975): [<ffff00000815794c>] __down_trylock_console_sem+0x74/0xb8
        hardirqs last disabled at (18976): [<ffff0000089e26d4>] _raw_spin_lock_irqsave+0x2c/0x78
        softirqs last  enabled at (16880): [<ffff0000080e0f00>] __do_softirq+0x580/0x640
        softirqs last disabled at (16871): [<ffff0000080e13a4>] irq_exit+0xe4/0x138
        CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G            E   4.12.0-rc5+ #1455
        Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
        Workqueue: events deferred_probe_work_func
        Call trace:
        [<ffff000008089ee0>] dump_backtrace+0x0/0x230
        [<ffff00000808a134>] show_stack+0x24/0x30
        [<ffff0000084e1944>] dump_stack+0xac/0xe8
        [<ffff00000810d7e0>] ___might_sleep+0x150/0x230
        [<ffff00000810d918>] __might_sleep+0x58/0x90
        [<ffff0000089dde18>] __mutex_lock+0x50/0x870
        [<ffff0000089de674>] mutex_lock_nested+0x3c/0x50
        [<ffff000008388ae0>] kernfs_remove+0x30/0x50
        [<ffff00000838b720>] sysfs_remove_dir+0x58/0x70
        [<ffff0000084e393c>] kobject_del+0x1c/0x58
        [<ffff0000084e374c>] kobject_put+0xb4/0x208
        [<ffff00000882c364>] of_node_put+0x24/0x30
        [<ffff000008829018>] of_find_node_with_property+0x78/0xe0
        [<ffff000000aff5f4>] qcom_smsm_probe+0x194/0x720 [smsm]
        [<ffff0000086793b4>] platform_drv_probe+0x74/0x110
        [<ffff0000086765bc>] driver_probe_device+0x2b4/0x420
        [<ffff000008676920>] __device_attach_driver+0xd0/0x150
        [<ffff000008673e78>] bus_for_each_drv+0x68/0xa8
        [<ffff00000867611c>] __device_attach+0xd4/0x168
        [<ffff000008676a1c>] device_initial_probe+0x24/0x30
        [<ffff000008675380>] bus_probe_device+0xa0/0xa8
        [<ffff000008675948>] deferred_probe_work_func+0xb8/0xf8
        [<ffff0000080fa9d4>] process_one_work+0x25c/0x728
        [<ffff0000080faef4>] worker_thread+0x54/0x3d8
        [<ffff0000081031d8>] kthread+0x110/0x140
        [<ffff000008082d90>] ret_from_fork+0x10/0x40
        OF: ERROR: Bad of_node_put() on /smsm
        CPU: 0 PID: 33 Comm: kworker/0:1 Tainted: G        W   E   4.12.0-rc5+ #1455
        Hardware name: qualcomm dragonboard410c/dragonboard410c, BIOS 2017.07-rc1-00234-g22fa70a-dirty 06/26/2017
        Workqueue: events deferred_probe_work_func
      Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
      Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
      3e8b5541
  8. 07 Aug, 2017 2 commits
  9. 06 Aug, 2017 3 commits