Lines Matching full:qmi
17 * DOC: AP/Modem QMI Handshake
21 * driver (this code) uses two QMI handles (endpoints) for this; a client
28 * The QMI service on the modem expects to receive an INIT_DRIVER request from
49 * - Whenever the AP learns the modem has booted and its IPA QMI service
82 struct ipa *ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_server_init_complete()
83 struct qmi_handle *qmi = &ipa_qmi->server_handle; in ipa_server_init_complete() local
91 ret = qmi_send_indication(qmi, sq, IPA_QMI_INIT_COMPLETE, in ipa_server_init_complete()
144 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_qmi_ready()
150 /* All QMI clients from the modem node are gone (modem shut down or crashed). */
151 static void ipa_server_bye(struct qmi_handle *qmi, unsigned int node) in ipa_server_bye() argument
155 ipa_qmi = container_of(qmi, struct ipa_qmi, server_handle); in ipa_server_bye()
175 static void ipa_server_indication_register(struct qmi_handle *qmi, in ipa_server_indication_register() argument
185 ipa_qmi = container_of(qmi, struct ipa_qmi, server_handle); in ipa_server_indication_register()
186 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_server_indication_register()
191 ret = qmi_send_response(qmi, sq, txn, IPA_QMI_INDICATION_REGISTER, in ipa_server_indication_register()
204 static void ipa_server_driver_init_complete(struct qmi_handle *qmi, in ipa_server_driver_init_complete() argument
214 ipa_qmi = container_of(qmi, struct ipa_qmi, server_handle); in ipa_server_driver_init_complete()
215 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_server_driver_init_complete()
220 ret = qmi_send_response(qmi, sq, txn, IPA_QMI_DRIVER_INIT_COMPLETE, in ipa_server_driver_init_complete()
252 static void ipa_client_init_driver(struct qmi_handle *qmi, in ipa_client_init_driver() argument
282 struct ipa *ipa = container_of(ipa_qmi, struct ipa, qmi); in init_modem_driver_req()
406 struct qmi_handle *qmi; in ipa_client_init_driver_work() local
413 qmi = &ipa_qmi->client_handle; in ipa_client_init_driver_work()
415 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_client_init_driver_work()
418 ret = qmi_txn_init(qmi, &txn, NULL, NULL); in ipa_client_init_driver_work()
426 ret = qmi_send_request(qmi, &ipa_qmi->modem_sq, &txn, in ipa_client_init_driver_work()
448 ipa_client_new_server(struct qmi_handle *qmi, struct qmi_service *svc) in ipa_client_new_server() argument
452 ipa_qmi = container_of(qmi, struct ipa_qmi, client_handle); in ipa_client_new_server()
467 /* Set up for QMI message exchange */
470 struct ipa_qmi *ipa_qmi = &ipa->qmi; in ipa_qmi_setup()
523 /* Tear down IPA QMI handles */
526 cancel_work_sync(&ipa->qmi.init_driver_work); in ipa_qmi_teardown()
528 qmi_handle_release(&ipa->qmi.client_handle); in ipa_qmi_teardown()
529 memset(&ipa->qmi.client_handle, 0, sizeof(ipa->qmi.client_handle)); in ipa_qmi_teardown()
531 qmi_handle_release(&ipa->qmi.server_handle); in ipa_qmi_teardown()
532 memset(&ipa->qmi.server_handle, 0, sizeof(ipa->qmi.server_handle)); in ipa_qmi_teardown()