1. 23 Jan, 2018 1 commit
  2. 19 Jan, 2018 1 commit
  3. 15 Jan, 2018 2 commits
    • Thierry Reding's avatar
      soc: bcm: brcmstb: Be multi-platform compatible · c5b40c31
      Thierry Reding authored
      We were making a bunch of wrong assumptions that turned out to blow out
      on non-Broadcom STB platforms:
      
      - we would return -ENODEV from brcmstb_soc_device_early_init() if we
        could not find the sun_top_ctrl device node, this is not an error
        in the context of a multi-platform kernel
      - we would still try to register the Broadcom STB SoC device, even if we
        are not running on such a platform
      
      While at it, also fix the sun_top_ctrl device_node leaks while we change
      the flow of brcmstb_soc_device_init() and
      brcmstb_soc_device_early_init().
      
      Fixes: f780429a ("soc: brcmstb: biuctrl: Move to early_initcall")
      Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
      [florian: Combine all of Thierry's patch in one go for easier review]
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      c5b40c31
    • Sudeep Holla's avatar
      soc: brcmstb: biuctrl: exit without warning on non brcmstb platforms · a7818298
      Sudeep Holla authored
      Currently if this driver is included, we get the following warning
      on any platforms irrespective of whether it's brcmstb platform or not.
      "
       brcmstb: biuctrl: missing BIU control node
       brcmstb: biuctrl: MCP: Unable to disable write pairing!
      "
      
      This patch allows to exit early without any warning messages on non
      brcmstb platforms as it's meaningless for them.
      
      Cc: Brian Norris <computersforpeace@gmail.com>
      Cc: Gregory Fong <gregory.0xf0@gmail.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: bcm-kernel-feedback-list@broadcom.com
      Fixes: f780429a ("soc: brcmstb: biuctrl: Move to early_initcall")
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      [florian: Add fixes tag, make initcall non fatal]
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      a7818298
  4. 12 Jan, 2018 6 commits
  5. 09 Jan, 2018 1 commit
  6. 08 Jan, 2018 3 commits
  7. 05 Jan, 2018 8 commits
  8. 04 Jan, 2018 1 commit
  9. 03 Jan, 2018 1 commit
  10. 01 Jan, 2018 1 commit
  11. 28 Dec, 2017 4 commits
  12. 26 Dec, 2017 1 commit
  13. 21 Dec, 2017 10 commits
    • Arnd Bergmann's avatar
      tee: optee: fix header dependencies · f681e08f
      Arnd Bergmann authored
      The optee driver includes the header files in an unusual order,
      with asm/pgtable.h before the linux/*.h headers. For some reason
      this seems to trigger a build failure:
      
      drivers/tee/optee/call.c: In function 'optee_fill_pages_list':
      include/asm-generic/memory_model.h:64:14: error: implicit declaration of function 'page_to_section'; did you mean '__nr_to_section'? [-Werror=implicit-function-declaration]
        int __sec = page_to_section(__pg);   \
      drivers/tee/optee/call.c:494:15: note: in expansion of macro 'page_to_phys'
        optee_page = page_to_phys(*pages) +
      
      Let's just include linux/mm.h, which will then get the other
      header implicitly.
      
      Fixes: 3bb48ba5 ("tee: optee: add page list manipulation functions")
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      f681e08f
    • Arnd Bergmann's avatar
      Merge tag 'tegra-for-4.16-memory' of... · 62bf8ae8
      Arnd Bergmann authored
      Merge tag 'tegra-for-4.16-memory' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/drivers
      
      Pull "memory: tegra: Changes for v4.16-rc1" from Thierry Reding:
      
      The Tegra memory controller driver will now instruct the SMMU driver to
      create groups, which will make it easier for device drivers to share an
      IOMMU domain between multiple devices.
      
      Initial Tegra186 support is also added in a separate driver.
      
      * tag 'tegra-for-4.16-memory' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
        iommu/tegra-smmu: Fix return value check in tegra_smmu_group_get()
        iommu/tegra: Allow devices to be grouped
        memory: tegra: Create SMMU display groups
        memory: tegra: Add Tegra186 support
        dt-bindings: memory: Add Tegra186 support
        dt-bindings: misc: Add Tegra186 MISC registers bindings
      62bf8ae8
    • Arnd Bergmann's avatar
      Merge tag 'tee-drv-dynamic-shm-for-v4.16' of... · bad19e0d
      Arnd Bergmann authored
      Merge tag 'tee-drv-dynamic-shm-for-v4.16' of https://git.linaro.org/people/jens.wiklander/linux-tee into next/drivers
      
      Pull "tee dynamic shm for v4.16" from Jens Wiklander:
      
      This pull request enables dynamic shared memory support in the TEE
      subsystem as a whole and in OP-TEE in particular.
      
      Global Platform TEE specification [1] allows client applications
      to register part of own memory as a shared buffer between
      application and TEE. This allows fast zero-copy communication between
      TEE and REE. But current implementation of TEE in Linux does not support
      this feature.
      
      Also, current implementation of OP-TEE transport uses fixed size
      pre-shared buffer for all communications with OP-TEE OS. This is okay
      in the most use cases. But this prevents use of OP-TEE in virtualized
      environments, because:
       a) We can't share the same buffer between different virtual machines
       b) Physically contiguous memory as seen by VM can be non-contiguous
          in reality (and as seen by OP-TEE OS) due to second stage of
          MMU translation.
       c) Size of this pre-shared buffer is limited.
      
      So, first part of this pull request adds generic register/unregister
      interface to tee subsystem. The second part adds necessary features into
      OP-TEE driver, so it can use not only static pre-shared buffer, but
      whole RAM to communicate with OP-TEE OS.
      
      This change is backwards compatible allowing older secure world or
      user space to work with newer kernels and vice versa.
      
      [1] https://www.globalplatform.org/specificationsdevice.asp
      
      * tag 'tee-drv-dynamic-shm-for-v4.16' of https://git.linaro.org/people/jens.wiklander/linux-tee:
        tee: shm: inline tee_shm_get_id()
        tee: use reference counting for tee_context
        tee: optee: enable dynamic SHM support
        tee: optee: add optee-specific shared pool implementation
        tee: optee: store OP-TEE capabilities in private data
        tee: optee: add registered buffers handling into RPC calls
        tee: optee: add registered shared parameters handling
        tee: optee: add shared buffer registration functions
        tee: optee: add page list manipulation functions
        tee: optee: Update protocol definitions
        tee: shm: add page accessor functions
        tee: shm: add accessors for buffer size and page offset
        tee: add register user memory
        tee: flexible shared memory pool creation
      bad19e0d
    • Tony Lindgren's avatar
      bus: ti-sysc: Add parsing of module capabilities · c5a2de97
      Tony Lindgren authored
      We need to configure the interconnect target module based on the
      device three configuration.
      
      Let's also add a new quirk for SYSC_QUIRK_RESET_STATUS to indicate
      that the SYSCONFIG reset bit changes after the reset is done.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      c5a2de97
    • Tony Lindgren's avatar
      bus: ti-sysc: Handle module quirks based dts configuration · 566a9b05
      Tony Lindgren authored
      Let's configure few module quirks via device tree using the
      properties for "ti,no-idle-on-init", "ti,no-reset-on-init"
      and "ti,sysc-delay-us".
      
      Let's also reorder the probe a bit so we have pdata available
      earlier, and move the PM runtime calls to sysc_init_module()
      from sysc_read_revision().
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      566a9b05
    • Tony Lindgren's avatar
      bus: ti-sysc: Detect i2c interconnect target module based on register layout · a7199e2b
      Tony Lindgren authored
      We can easily detect i2c based on it's non-standard module registers that
      consist of two 32-bit registers accessed in 16-bit mode.
      
      So far we don't have other 16-bit modules, so there's currently no need
      to add a custom property for 16-bit register access.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a7199e2b
    • Tony Lindgren's avatar
      bus: ti-sysc: Add register bits for interconnect target modules · 70a65240
      Tony Lindgren authored
      Let's add data for the known interconnect target module types by mapping
      their register bits.
      
      Note that we can handle many quirks for the older omap2 type1 modules
      directly in the driver without a need for adding custom properties.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      70a65240
    • Tony Lindgren's avatar
      bus: ti-sysc: Make omap_hwmod_sysc_fields into sysc_regbits platform data · 49a0a3d8
      Tony Lindgren authored
      We want to be able to configure hwmod sysc data from ti-sysc driver using
      platform data callbacks. So let's make struct omap_hwmod_sysc_fields into
      struct sysc_data and have it available for both ti-sysc driver and hwmod
      code.
      
      Note that we can make it use s8 instead of u8 as the hwmod code uses the
      feature flags to check for this field. However, for ti-sysc we can use
      -ENODEV to indicate a feature is not supported in the hardware and can
      simplify the code that way.
      
      And let's add also emufree_shift as the dts files will be describing the
      hardware for the SYSCONFIG register capbilities mask.
      
      Cc: Paul Walmsley <paul@pwsan.com>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      49a0a3d8
    • Tony Lindgren's avatar
      ARM: OMAP2+: Move all omap_hwmod_sysc_fields to omap_hwmod_common_data.c · bf807052
      Tony Lindgren authored
      We want to be able to eventually allocate these dynamically with the
      data for omap_hwmod_class_sysconfig coming from dts.
      
      Note that omap_hwmod_sysc_type_smartreflex is the same as the older
      omap36xx_sr_sysc_fields, so let's use the earlier omap36xx_sr_sysc_fields
      instead.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      bf807052
    • Tony Lindgren's avatar
      ARM: dts: Add generic ti,sysc compatible in addition to the custom ones · feffce1d
      Tony Lindgren authored
      Otherwise we cannot use generic OF_DEV_AUXDATA match without listing
      all the compatibles separately for OF_DEV_AUXDATA. Let's also update the
      binding accordingly.
      
      Let's also fix omap4.dtsi to use "ti,sysc-omap4-sr" compatible as we
      have documented in the binding. This was not noticed earlier as we're
      still probing SmartReflex driver with platform data.
      Reviewed-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      feffce1d