• A
    net: ipa: introduce ipa_uc_clock() · e2f154e6
    Alex Elder 提交于
    The first time it's booted, the modem loads and starts the
    IPA-resident microcontroller.  Once the microcontroller has
    completed its initialization, it notifies the AP it's "ready"
    by sending an INIT_COMPLETED response message.
    
    Until it receives that microcontroller message, the AP must ensure
    the IPA core clock remains operational.  Currently, a "proxy" clock
    reference is taken in ipa_uc_config(), dropping it again once the
    message is received.
    
    However there could be a long delay between when ipa_config()
    completes and when modem actually starts.  And because the
    microcontroller gets loaded by the modem, there's no need to
    get the modem "proxy clock" until the first time it starts.
    
    Create a new function ipa_uc_clock() which takes the "proxy" clock
    reference for the microcontroller.  Call it when we get remoteproc
    SSR notification that the modem is about to start.  Keep an
    additional flag to record whether this proxy clock reference needs
    to be dropped at shutdown time, and issue a warning if we get the
    microcontroller message either before the clock reference is taken,
    or after it has already been dropped.
    
    Drop the nearby use of "hh" length modifiers, which are no longer
    encouraged in the kernel.
    Signed-off-by: NAlex Elder <elder@linaro.org>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    e2f154e6
ipa_modem.c 9.0 KB