/* SPDX-License-Identifier: GPL-2.0 */
/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
* Copyright ( C ) 2018 - 2024 Linaro Ltd .
*/
#ifndef _IPA_QMI_H_
#define _IPA_QMI_H_
#include <linux/types.h>
#include <linux/workqueue.h>
#include <linux/soc/qcom/qmi.h>
struct ipa;
/**
* struct ipa_qmi - QMI state associated with an IPA
* @ client_handle : Used to send an QMI requests to the modem
* @ server_handle : Used to handle QMI requests from the modem
* @ modem_sq : QMAP socket address for the modem QMI server
* @ init_driver_work : Work structure used for INIT_DRIVER message handling
* @ initial_boot : True if first boot has not yet completed
* @ uc_ready : True once DRIVER_INIT_COMPLETE request received
* @ modem_ready : True when INIT_DRIVER response received
* @ indication_requested : True when INDICATION_REGISTER request received
* @ indication_sent : True when INIT_COMPLETE indication sent
*/
struct ipa_qmi {
struct qmi_handle client_handle;
struct qmi_handle server_handle;
/* Information used for the client handle */
struct sockaddr_qrtr modem_sq;
struct work_struct init_driver_work;
/* Flags used in negotiating readiness */
bool initial_boot;
bool uc_ready;
bool modem_ready;
bool indication_requested;
bool indication_sent;
};
/**
* ipa_qmi_setup ( ) - Set up for QMI message exchange
* @ ipa : IPA pointer
*
* This is called at the end of ipa_setup ( ) , to prepare for the exchange
* of QMI messages that perform a " handshake " between the AP and modem .
* When the modem QMI server announces its presence , an AP request message
* supplies operating parameters to be used to the modem , and the modem
* acknowledges receipt of those parameters . The modem will not touch the
* IPA hardware until this handshake is complete .
*
* If the modem crashes ( or shuts down ) a new handshake begins when the
* modem ' s QMI server is started again .
*/
int ipa_qmi_setup(struct ipa *ipa);
/**
* ipa_qmi_teardown ( ) - Tear down IPA QMI handles
* @ ipa : IPA pointer
*/
void ipa_qmi_teardown(struct ipa *ipa);
#endif /* !_IPA_QMI_H_ */
Messung V0.5 in Prozent C=95 H=94 G=94
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland