• Alex Elder's avatar
    soc: qcom: ipa: clocking, interrupts, and memory · ba764c4d
    Alex Elder authored
    This patch incorporates three source files (and their headers).  They're
    grouped into one patch mainly for the purpose of making the number and
    size of patches in this series somewhat reasonable.
    
      - "ipa_clock.c" and "ipa_clock.h" implement clocking for the IPA device.
        The IPA has a single core clock managed by the common clock framework.
        In addition, the IPA has three buses whose bandwidth is managed by the
        Linux interconnect framework.  At this time the core clock and all
        three buses are either on or off; we don't yet do any more fine-grained
        management than that.  The core clock and interconnects are enabled
        and disabled as a unit, using a unified clock-like abstraction,
        ipa_clock_get()/ipa_clock_put().
    
      - "ipa_interrupt.c" and "ipa_interrupt.h" implement IPA interrupts.
        There are two hardware IRQs used by the IPA driver (the other is
        the GSI interrupt, described in a separate patch).  Several types
        of interrupt are handled by the IPA IRQ handler; these are not part
        of data/fast path.
    
      - The IPA has a region of local memory that is accessible by the AP
        (and modem).  Within that region are areas with certain defined
        purposes.  "ipa_mem.c" and "ipa_mem.h" define those regions, and
        implement their initialization.
    Signed-off-by: default avatarAlex Elder <elder@linaro.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ba764c4d
ipa_clock.c 7.53 KB