1. 29 Jul, 2021 8 commits
  2. 28 Jul, 2021 27 commits
  3. 27 Jul, 2021 5 commits
    • David S. Miller's avatar
      Merge branch 'ipa-clock-refs' · 299b50fc
      David S. Miller authored
      Alex Elder says:
      
      ====================
      net: ipa: add clock references
      
      This series continues preparation for implementing runtime power
      management for IPA.  We need to ensure that the IPA core clock and
      interconnects are operational whenever IPA hardware is accessed.
      And in particular this means that any external entry point that can
      lead to accessing IPA hardware must guarantee the hardware is "up"
      when it is accessed.
      
      The first four patches in this series take IPA clock references when
      needed by such external entry points, dropping those references in
      those same functions when they are no longer required.
      
      The last patch is a bit different, though it too prepares for
      enabling runtime power management.  It avoids suspending/resuming
      endpoints if setup is not complete.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      299b50fc
    • Alex Elder's avatar
      net: ipa: don't suspend endpoints if setup not complete · 2c257248
      Alex Elder authored
      Until we complete the setup stage of initialization, GSI is not
      initialized and therefore endpoints aren't usable.  So avoid
      suspending endpoints during system suspend unless setup is complete.
      
      Clear the setup_complete flag at the top of ipa_teardown() to
      reflect the fact that things are no longer in setup state.
      
      Get rid of a misplaced (and superfluous) comment.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2c257248
    • Alex Elder's avatar
      net: ipa: add a clock reference for netdev operations · f2b03553
      Alex Elder authored
      The IPA network device can be opened at any time, and an opened
      network device can be stopped any time.  Both of these callback
      functions require access to the hardware, and therefore they need
      the IPA clock to be operational.  Take an IPA clock reference in
      both the ->open and ->stop callback functions, dropping the
      reference when they are done accessing hardware.
      
      The ->start_xmit callback requires a little different handling,
      and that will be added separately.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f2b03553
    • Alex Elder's avatar
      net: ipa: add clock reference for remoteproc SSR · 34c6034b
      Alex Elder authored
      The remoteproc SSR callback function for the modem requires hardware
      access when handling a modem crash or shutdown.  Take and later
      release an IPA clock reference in ipa_modem_crashed(), to ensure the
      hardware is operational.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      34c6034b
    • Alex Elder's avatar
      net: ipa: get another clock for ipa_setup() · cf8dfe6a
      Alex Elder authored
      Two places call ipa_setup().  The first, ipa_probe(), holds an IPA
      clock reference when calling ipa_setup() (if the AP is responsible
      for IPA firmware loading).  But if the modem is loading IPA
      firmware, ipa_smp2p_modem_setup_ready_isr() calls ipa_setup() after
      the modem has signaled the hardware is ready.  This can happen at
      any time, and there is no guarantee the hardware is active.
      
      Have ipa_smp2p_modem_setup() take an IPA clock reference before it
      calls ipa_setup(), and release it once setup is complete.
      Signed-off-by: default avatarAlex Elder <elder@linaro.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cf8dfe6a