1. 29 Apr, 2019 3 commits
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.2/ti-sysc-signed' of... · e6398613
      Olof Johansson authored
      Merge tag 'omap-for-v5.2/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
      
      Driver changes for ti-sysc for v5.2 merge window
      
      This series of changes for ti-sysc interconnect target module driver
      gets us to the point where we can actually drop legacy platform data
      for many devices in favor of device tree data.
      
      To do this, we improve ti-sysc driver not to rely on platform data
      callbacks to manage module clocks, and handle more quirks needed for
      some devices. Also few minor fixes are needed, but were considered
      not needed to be sent separately as they only show up with this series.
      
      Then we drop several thousands of lines of legacy platform data for
      omap4, omap5, dra7, am335x and am437x. We drop platform data for mmc,
      i2c, gpio and uart devices to start with as those are typically
      easily tested on all devices. In case of unexpected issues, we can just
      add back the legacy platform data for a single device type if needed.
      
      Finally we add initial support for enabling and disabling some devices
      without legacy platform data callbacks. I was planning on sending the
      dropping of legacy platform data as a separate series, but already
      applied Roger's patch on top and pushed it out.
      
      Note that this series depends on related SoC and is based on those.
      
      * tag 'omap-for-v5.2/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (33 commits)
        bus: ti-sysc: Add generic enable/disable functions
        ARM: OMAP2+: Drop mcspi platform data for omap4
        ARM: OMAP2+: Drop uart platform data for dra7
        ARM: OMAP2+: Drop gpio platform data for dra7
        ARM: OMAP2+: Drop i2c platform data for dra7
        ARM: OMAP2+: Drop mmc platform data for dra7
        ARM: OMAP2+: Drop uart platform data for omap5
        ARM: OMAP2+: Drop gpio platform data for omap5
        ARM: OMAP2+: Drop i2c platform data for omap5
        ARM: OMAP2+: Drop mmc platform data for omap5
        ARM: OMAP2+: Drop uart platform data for am33xx and am43xx
        ARM: OMAP2+: Drop gpio platform data for am33xx and am43xx
        ARM: OMAP2+: Drop i2c platform data for am33xx and am43xx
        ARM: OMAP2+: Drop mmc platform data for am330x and am43xx
        ARM: OMAP2+: Drop uart platform data for omap4
        ARM: OMAP2+: Drop gpio platform data for omap4
        ARM: OMAP2+: Drop i2c platform data for omap4
        ARM: OMAP2+: Drop mmc platform data for omap4
        Documentation: bus: ti-sysc: fix spelling mistakes "multipe" and "interconnet"
        bus: ti-sysc: Detect DMIC for debugging
        ...
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      e6398613
    • Olof Johansson's avatar
      Merge tag 'omap-for-v5.2/soc-signed' of... · 29104e01
      Olof Johansson authored
      Merge tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/soc
      
      SoC changes for omap variants for v5.2 merge window
      
      This series of changes mostly consists of ti-sysc interconnect driver
      related preparation work. With these changes and the related ti-sysc
      driver changes, we can start dropping legacy omap_hwmod_*data.c platform
      data for many devices.
      
      There are also two am335x and am437x related PM changes for secure
      devices that have ROM handling some parts and needs EFUSE power domain
      active.
      
      * tag 'omap-for-v5.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: OMAP2+: pm33xx-core: Do not Turn OFF CEFUSE as PPA may be using it
        ARM: OMAP2+: Wakeupgen: AM43xx HS devices should save context like non-HS
        ARM: OMAP2+: Handle reset quirks for dynamically allocated modules
        ARM: OMAP2+: Remove hwmod .rev data and use local SoC checks instead
        ARM: OMAP2+: Allocate struct omap_hwmod based on dts data
        ARM: OMAP2+: Define _HWMOD_STATE_DEFAULT and use it
        ARM: OMAP2+: Prepare class allocation for dynamically allocated modules
        ARM: OMAP2+: Make interconnect target module allocation functions static
        ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset()
        ARM: dts: Fix dcan clkctrl clock for am3
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      29104e01
    • Ludovic Barre's avatar
      ARM: stm32: add AMBA support for stm32 family · 56c6eed1
      Ludovic Barre authored
      This patch enables AMBA support for stm32 family.
      stm32 family embeds different amba pl180 variants.
      Signed-off-by: default avatarLudovic Barre <ludovic.barre@st.com>
      Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@st.com>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      56c6eed1
  2. 09 Apr, 2019 3 commits
  3. 08 Apr, 2019 17 commits
  4. 05 Apr, 2019 4 commits
  5. 03 Apr, 2019 6 commits
    • Tony Lindgren's avatar
      bus: ti-sysc: Add quirk handling for external optional functional clock · a54275f4
      Tony Lindgren authored
      We cannot access mcpdm registers at all unless there is an optional pdmclk
      configured. As this is currently only needed for mcpdm, let's check for
      mcpdm in sysc_get_clocks(). If it turns out to be needed for other modules
      too, we can add more flags to the quirks table for this.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a54275f4
    • Tony Lindgren's avatar
      bus: ti-sysc: Add support for early quirks based on register address · 42b9c5c9
      Tony Lindgren authored
      At least mcpdm needs an optional external clock enabled to function and
      this clock typically comes from the PMIC. We can detect mcpdm based on
      the interconnect target module address and set a quirk flag early.
      
      To do this, let's initialize the clocks a bit later and add a new
      function for sysc_init_early_quirks(). Note that we cannot yet enable
      the early quirks for mcpdm until the optional external clocks are
      handled in the in the following patch.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      42b9c5c9
    • Tony Lindgren's avatar
      bus: ti-sysc: Move rstctrl reset to happen later · b11c1ea1
      Tony Lindgren authored
      We can do the rsstctrl a bit later, but need to deassert rstctrl reset
      before the clocks are enabled if asserted. Let's only init restctrl
      in sysc_init_resets() and do the reset later on just before we enable
      the device clocks.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      b11c1ea1
    • Tony Lindgren's avatar
      bus: ti-sysc: Manage clocks for the interconnect target module in all cases · 93de83a2
      Tony Lindgren authored
      We are currently not managing interconnect target module clocks in the
      for legacy platform data based case. This causes a problem for using the
      platform data based functions when dropping the platform data for the
      interconnect target module configuration.
      
      To avoid a situation where we need to populate the main and optional
      clocks also for the platform data based functions, let's just manage the
      clocks directly in ti-sysc driver. This means that until the interconnect
      target module confugration platform data is dropped our use count for
      clk_enable() will be 2 instead of 1.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      93de83a2
    • Tony Lindgren's avatar
      bus: ti-sysc: Allocate mdata as needed and do platform data based init later · a3e92e7b
      Tony Lindgren authored
      The platform data based init functions typically reset the interconnect
      target module configure the registers. As we may need the interconnect
      target module specific quirks configured based on the revision register,
      we want to move the platform data based init to happen later.
      
      Let's allocate mdata as needed so it's available for sysc_legacy_init()
      that we call with module clocks enabled from sysc_init_module().
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      a3e92e7b
    • Tony Lindgren's avatar
      bus: ti-sysc: Enable all clocks directly during init to read revision · 1a5cd7c2
      Tony Lindgren authored
      The first thing we want to do is just read the module revision register to
      be able to configure the module specific quirks and configure the module
      registers.
      
      As the interconnect target module may not yet be properly configured and
      may need a reset first, we don't want to use pm_runtime_get() at this
      point.
      
      To read the revision register, let's just enable the all the clocks for
      the interconnect target module during init even if the optional clocks
      are not needed. That way we can read the revision register to configure
      the quirks needed for PM runtime.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      1a5cd7c2
  6. 01 Apr, 2019 5 commits
  7. 31 Mar, 2019 2 commits
    • Linus Torvalds's avatar
      Linux 5.1-rc3 · 79a3aaa7
      Linus Torvalds authored
      79a3aaa7
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 63fc9c23
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "A collection of x86 and ARM bugfixes, and some improvements to
        documentation.
      
        On top of this, a cleanup of kvm_para.h headers, which were exported
        by some architectures even though they not support KVM at all. This is
        responsible for all the Kbuild changes in the diffstat"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (28 commits)
        Documentation: kvm: clarify KVM_SET_USER_MEMORY_REGION
        KVM: doc: Document the life cycle of a VM and its resources
        KVM: selftests: complete IO before migrating guest state
        KVM: selftests: disable stack protector for all KVM tests
        KVM: selftests: explicitly disable PIE for tests
        KVM: selftests: assert on exit reason in CR4/cpuid sync test
        KVM: x86: update %rip after emulating IO
        x86/kvm/hyper-v: avoid spurious pending stimer on vCPU init
        kvm/x86: Move MSR_IA32_ARCH_CAPABILITIES to array emulated_msrs
        KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts
        kvm: don't redefine flags as something else
        kvm: mmu: Used range based flushing in slot_handle_level_range
        KVM: export <linux/kvm_para.h> and <asm/kvm_para.h> iif KVM is supported
        KVM: x86: remove check on nr_mmu_pages in kvm_arch_commit_memory_region()
        kvm: nVMX: Add a vmentry check for HOST_SYSENTER_ESP and HOST_SYSENTER_EIP fields
        KVM: SVM: Workaround errata#1096 (insn_len maybe zero on SMAP violation)
        KVM: Reject device ioctls from processes other than the VM's creator
        KVM: doc: Fix incorrect word ordering regarding supported use of APIs
        KVM: x86: fix handling of role.cr4_pae and rename it to 'gpte_size'
        KVM: nVMX: Do not inherit quadrant and invalid for the root shadow EPT
        ...
      63fc9c23