Linux Audio

Check our new training course

Loading...
v6.8
 1/* SPDX-License-Identifier: GPL-2.0 */
 2
 3/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
 4 * Copyright (C) 2019-2022 Linaro Ltd.
 5 */
 6#ifndef _IPA_UC_H_
 7#define _IPA_UC_H_
 8
 9struct ipa;
10enum ipa_irq_id;
11
12/**
13 * ipa_uc_interrupt_handler() - Handler for microcontroller IPA interrupts
14 * @ipa:	IPA pointer
15 * @irq_id:	IPA interrupt ID
16 */
17void ipa_uc_interrupt_handler(struct ipa *ipa, enum ipa_irq_id irq_id);
18
19/**
20 * ipa_uc_config() - Configure the IPA microcontroller subsystem
21 * @ipa:	IPA pointer
22 */
23void ipa_uc_config(struct ipa *ipa);
24
25/**
26 * ipa_uc_deconfig() - Inverse of ipa_uc_config()
27 * @ipa:	IPA pointer
28 */
29void ipa_uc_deconfig(struct ipa *ipa);
30
31/**
32 * ipa_uc_power() - Take a proxy power reference for the microcontroller
33 * @ipa:	IPA pointer
34 *
35 * The first time the modem boots, it loads firmware for and starts the
36 * IPA-resident microcontroller.  The microcontroller signals that it
37 * has completed its initialization by sending an INIT_COMPLETED response
38 * message to the AP.  The AP must ensure the IPA is powered until
39 * it receives this message, and to do so we take a "proxy" clock
40 * reference on its behalf here.  Once we receive the INIT_COMPLETED
41 * message (in ipa_uc_response_hdlr()) we drop this power reference.
42 */
43void ipa_uc_power(struct ipa *ipa);
44
45/**
46 * ipa_uc_panic_notifier()
47 * @ipa:	IPA pointer
48 *
49 * Notifier function called when the system crashes, to inform the
50 * microcontroller of the event.
51 */
52void ipa_uc_panic_notifier(struct ipa *ipa);
53
54#endif /* _IPA_UC_H_ */
v5.9
 1/* SPDX-License-Identifier: GPL-2.0 */
 2
 3/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
 4 * Copyright (C) 2019-2020 Linaro Ltd.
 5 */
 6#ifndef _IPA_UC_H_
 7#define _IPA_UC_H_
 8
 9struct ipa;
 
10
11/**
12 * ipa_uc_setup() - set up the IPA microcontroller subsystem
13 * @ipa:	IPA pointer
 
14 */
15void ipa_uc_setup(struct ipa *ipa);
16
17/**
18 * ipa_uc_teardown() - inverse of ipa_uc_setup()
19 * @ipa:	IPA pointer
20 */
21void ipa_uc_teardown(struct ipa *ipa);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
22
23/**
24 * ipa_uc_panic_notifier()
25 * @ipa:	IPA pointer
26 *
27 * Notifier function called when the system crashes, to inform the
28 * microcontroller of the event.
29 */
30void ipa_uc_panic_notifier(struct ipa *ipa);
31
32#endif /* _IPA_UC_H_ */