Home
last modified time | relevance | path

Searched full:qmi (Results 1 – 25 of 52) sorted by relevance

123

/linux/drivers/soc/qcom/
H A Dqmi_interface.c16 #include <linux/soc/qcom/qmi.h>
18 static struct socket *qmi_sock_create(struct qmi_handle *qmi,
23 * @qmi: qmi handle
32 static void qmi_recv_new_server(struct qmi_handle *qmi, in qmi_recv_new_server() argument
36 struct qmi_ops *ops = &qmi->ops; in qmi_recv_new_server()
57 ret = ops->new_server(qmi, svc); in qmi_recv_new_server()
61 list_add(&svc->list_node, &qmi->lookup_results); in qmi_recv_new_server()
66 * @qmi: qmi handle
73 static void qmi_recv_del_server(struct qmi_handle *qmi, in qmi_recv_del_server() argument
76 struct qmi_ops *ops = &qmi->ops; in qmi_recv_del_server()
[all …]
H A Dpdr_interface.c73 static int pdr_locator_new_server(struct qmi_handle *qmi, in pdr_locator_new_server() argument
76 struct pdr_handle *pdr = container_of(qmi, struct pdr_handle, in pdr_locator_new_server()
80 /* Create a local client port for QMI communication */ in pdr_locator_new_server()
94 static void pdr_locator_del_server(struct qmi_handle *qmi, in pdr_locator_del_server() argument
97 struct pdr_handle *pdr = container_of(qmi, struct pdr_handle, in pdr_locator_del_server()
191 static int pdr_notifier_new_server(struct qmi_handle *qmi, in pdr_notifier_new_server() argument
194 struct pdr_handle *pdr = container_of(qmi, struct pdr_handle, in pdr_notifier_new_server()
215 static void pdr_notifier_del_server(struct qmi_handle *qmi, in pdr_notifier_del_server() argument
218 struct pdr_handle *pdr = container_of(qmi, struct pdr_handle, in pdr_notifier_del_server()
294 static void pdr_indication_cb(struct qmi_handle *qmi, in pdr_indication_cb() argument
[all …]
H A Dqcom_pd_mapper.c15 #include <linux/soc/qcom/qmi.h>
149 static void qcom_pdm_get_domain_list(struct qmi_handle *qmi, in qcom_pdm_get_domain_list() argument
154 struct qcom_pdm_data *data = container_of(qmi, struct qcom_pdm_data, handle); in qcom_pdm_get_domain_list()
204 ret = qmi_send_response(qmi, sq, txn, SERVREG_GET_DOMAIN_LIST_REQ, in qcom_pdm_get_domain_list()
215 static void qcom_pdm_pfr(struct qmi_handle *qmi, in qcom_pdm_pfr() argument
229 ret = qmi_send_response(qmi, sq, txn, SERVREG_LOC_PFR_REQ, in qcom_pdm_pfr()
/linux/drivers/net/wireless/ath/ath10k/
H A Dqmi.c32 static int ath10k_qmi_map_msa_permission(struct ath10k_qmi *qmi, in ath10k_qmi_map_msa_permission() argument
36 struct ath10k *ar = qmi->ar; in ath10k_qmi_map_msa_permission()
64 static int ath10k_qmi_unmap_msa_permission(struct ath10k_qmi *qmi, in ath10k_qmi_unmap_msa_permission() argument
68 struct ath10k *ar = qmi->ar; in ath10k_qmi_unmap_msa_permission()
88 static int ath10k_qmi_setup_msa_permissions(struct ath10k_qmi *qmi) in ath10k_qmi_setup_msa_permissions() argument
93 if (qmi->msa_fixed_perm) in ath10k_qmi_setup_msa_permissions()
96 for (i = 0; i < qmi->nr_mem_region; i++) { in ath10k_qmi_setup_msa_permissions()
97 ret = ath10k_qmi_map_msa_permission(qmi, &qmi->mem_region[i]); in ath10k_qmi_setup_msa_permissions()
106 ath10k_qmi_unmap_msa_permission(qmi, &qmi->mem_region[i]); in ath10k_qmi_setup_msa_permissions()
110 static void ath10k_qmi_remove_msa_permission(struct ath10k_qmi *qmi) in ath10k_qmi_remove_msa_permission() argument
[all …]
H A Dqmi.h8 #include <linux/soc/qcom/qmi.h>
98 spinlock_t event_lock; /* spinlock for qmi event list */
/linux/drivers/net/wireless/ath/ath12k/
H A Dqmi.c9 #include "qmi.h"
2077 hw_id_base += partner_ab->qmi.num_radios; in ath12k_host_cap_hw_link_id_init()
2097 "MLO is disabled hence skip QMI MLO cap"); in ath12k_host_cap_parse_mlo()
2101 if (!ab->qmi.num_radios || ab->qmi.num_radios == U8_MAX) { in ath12k_host_cap_parse_mlo()
2104 "skip QMI MLO cap due to invalid num_radio %d\n", in ath12k_host_cap_parse_mlo()
2105 ab->qmi.num_radios); in ath12k_host_cap_parse_mlo()
2147 info->num_local_links = partner_ab->qmi.num_radios; in ath12k_host_cap_parse_mlo()
2209 req.mem_cfg_mode = ab->qmi.target_mem_mode; in ath12k_qmi_host_cap_send()
2222 req.cal_done = ab->qmi.cal_done; in ath12k_qmi_host_cap_send()
2251 ret = qmi_txn_init(&ab->qmi.handle, &txn, in ath12k_qmi_host_cap_send()
[all …]
H A Dcore.c222 /* strlen(',variant=') + strlen(ab->qmi.target.bdf_ext) */ in __ath12k_core_create_board_name()
225 if (with_variant && ab->qmi.target.bdf_ext[0] != '\0') in __ath12k_core_create_board_name()
227 ab->qmi.target.bdf_ext); in __ath12k_core_create_board_name()
237 …endor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x,qmi-chip-id=%d,qmi-board-id=%d%… in __ath12k_core_create_board_name()
242 ab->qmi.target.chip_id, in __ath12k_core_create_board_name()
243 ab->qmi.target.board_id, in __ath12k_core_create_board_name()
248 "bus=%s,qmi-chip-id=%d,qmi-board-id=%d%s", in __ath12k_core_create_board_name()
250 ab->qmi.target.chip_id, in __ath12k_core_create_board_name()
252 ATH12K_BOARD_ID_DEFAULT : ab->qmi.target.board_id, in __ath12k_core_create_board_name()
733 if (ab->qmi.target.bdf_ext[0] != '\0') in ath12k_core_check_cc_code_bdfext()
[all …]
/linux/drivers/net/wireless/ath/ath11k/
H A Dqmi.c11 #include "qmi.h"
1723 req.mem_cfg_mode = ab->qmi.target_mem_mode; in ath11k_qmi_host_cap_send()
1741 req.cal_done = ab->qmi.cal_done; in ath11k_qmi_host_cap_send()
1764 ret = qmi_txn_init(&ab->qmi.handle, &txn, in ath11k_qmi_host_cap_send()
1769 ret = qmi_send_request(&ab->qmi.handle, NULL, &txn, in ath11k_qmi_host_cap_send()
1798 struct qmi_handle *handle = &ab->qmi.handle; in ath11k_qmi_fw_ind_register_send()
1824 /* WCN6750 doesn't request for DDR memory via QMI, in ath11k_qmi_fw_ind_register_send()
1842 ret = qmi_send_request(&ab->qmi.handle, NULL, &txn, in ath11k_qmi_fw_ind_register_send()
1894 ab->qmi.target_mem_delayed) { in ath11k_qmi_respond_fw_mem_request()
1897 ab->qmi.mem_seg_count); in ath11k_qmi_respond_fw_mem_request()
[all …]
H A Dce.h69 * Passed from Host to Target through QMI message and must be in
80 * Passed from Host to Target through QMI message during startup (one per CE).
/linux/include/linux/soc/qcom/
H A Dqmi.h19 * struct qmi_header - wireformat header of QMI messages
59 * struct qmi_elem_info - describes how to encode a single QMI element
64 * @tlv_type: QMI message specific type to identify which element
142 * override the usual QMI message handler
147 int (*new_server)(struct qmi_handle *qmi, struct qmi_service *svc);
148 void (*del_server)(struct qmi_handle *qmi, struct qmi_service *svc);
149 void (*net_reset)(struct qmi_handle *qmi);
150 void (*msg_handler)(struct qmi_handle *qmi, struct sockaddr_qrtr *sq,
152 void (*bye)(struct qmi_handle *qmi, unsigned int node);
153 void (*del_client)(struct qmi_handle *qmi,
[all …]
/linux/drivers/net/ipa/
H A Dipa_qmi.c17 * 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
[all …]
H A Dipa_qmi.h12 #include <linux/soc/qcom/qmi.h>
17 * struct ipa_qmi - QMI state associated with an IPA
18 * @client_handle: Used to send an QMI requests to the modem
19 * @server_handle: Used to handle QMI requests from the modem
20 * @modem_sq: QMAP socket address for the modem QMI server
45 * ipa_qmi_setup() - Set up for QMI message exchange
49 * of QMI messages that perform a "handshake" between the AP and modem.
50 * When the modem QMI server announces its presence, an AP request message
56 * modem's QMI server is started again.
61 * ipa_qmi_teardown() - Tear down IPA QMI handles
H A Dipa_qmi_msg.c8 #include <linux/soc/qcom/qmi.h>
12 /* QMI message structure definition for struct ipa_indication_register_req */
119 /* QMI message structure definition for struct ipa_indication_register_rsp */
137 /* QMI message structure definition for struct ipa_driver_init_complete_req */
154 /* QMI message structure definition for struct ipa_driver_init_complete_rsp */
172 /* QMI message structure definition for struct ipa_init_complete_ind */
190 /* QMI message structure definition for struct ipa_mem_bounds */
211 /* QMI message structure definition for struct ipa_mem_array */
232 /* QMI message structure definition for struct ipa_mem_range */
253 /* QMI message structure definition for struct ipa_init_modem_driver_req */
[all …]
H A Dipa_qmi_msg.h13 #include <linux/soc/qcom/qmi.h>
15 /* Request/response/indication QMI message ids used for IPA. Receiving
55 * a standard QMI response.
67 * of a standard QMI response.
74 * only of a standard QMI response.
222 * QMI response, but contains other information as well. Currently we
H A Dipa.h71 * @qmi: QMI information
131 struct ipa_qmi qmi; member
/linux/drivers/slimbus/
H A Dqcom-ngd-ctrl.c21 #include <linux/soc/qcom/qmi.h>
50 /* Slimbus QMI service */
65 /* QMI response timeout of 500ms */
122 struct qmi_handle qmi; member
151 struct qcom_slim_ngd_qmi qmi; member
354 rc = qmi_txn_init(ctrl->qmi.handle, &txn, in qcom_slim_qmi_send_select_inst_req()
357 dev_err(ctrl->dev, "QMI TXN init fail: %d\n", rc); in qcom_slim_qmi_send_select_inst_req()
361 rc = qmi_send_request(ctrl->qmi.handle, NULL, &txn, in qcom_slim_qmi_send_select_inst_req()
366 dev_err(ctrl->dev, "QMI send req fail %d\n", rc); in qcom_slim_qmi_send_select_inst_req()
373 dev_err(ctrl->dev, "QMI TXN wait fail: %d\n", rc); in qcom_slim_qmi_send_select_inst_req()
[all …]
/linux/samples/qmi/
H A Dqmi_sample_client.c3 * Sample in-kernel QMI client driver
19 #include <linux/soc/qcom/qmi.h>
294 * This function allows user space to send out a ping_pong QMI encoded message
304 struct qmi_handle *qmi = file->private_data; in ping_write() local
311 ret = qmi_txn_init(qmi, &txn, NULL, NULL); in ping_write()
315 ret = qmi_send_request(qmi, NULL, &txn, in ping_write()
336 static void ping_pong_cb(struct qmi_handle *qmi, struct sockaddr_qrtr *sq, in ping_pong_cb() argument
361 * This function allows user space to send out a data QMI encoded message to
363 * transaction. It serves as an example of how to have the QMI helpers decode a
372 struct qmi_handle *qmi in data_write() local
444 struct qmi_handle qmi; global() member
533 qmi_sample_new_server(struct qmi_handle * qmi,struct qmi_service * service) qmi_sample_new_server() argument
562 qmi_sample_del_server(struct qmi_handle * qmi,struct qmi_service * service) qmi_sample_del_server() argument
[all...]
/linux/drivers/remoteproc/
H A Dqcom_sysmon.c49 struct qmi_handle qmi; member
289 static void sysmon_ind_cb(struct qmi_handle *qmi, struct sockaddr_qrtr *sq, in sysmon_ind_cb() argument
292 struct qcom_sysmon *sysmon = container_of(qmi, struct qcom_sysmon, qmi); in sysmon_ind_cb()
325 * ssctl_request_shutdown() - request shutdown via SSCTL QMI service
339 ret = qmi_txn_init(&sysmon->qmi, &txn, ssctl_shutdown_resp_ei, &resp); in ssctl_request_shutdown()
341 dev_err(sysmon->dev, "failed to allocate QMI txn\n"); in ssctl_request_shutdown()
345 ret = qmi_send_request(&sysmon->qmi, &sysmon->ssctl, &txn, in ssctl_request_shutdown()
383 ret = qmi_txn_init(&sysmon->qmi, &txn, ssctl_subsys_event_resp_ei, &resp); in ssctl_send_event()
385 dev_err(sysmon->dev, "failed to allocate QMI txn\n"); in ssctl_send_event()
396 ret = qmi_send_request(&sysmon->qmi, &sysmon->ssctl, &txn, in ssctl_send_event()
[all …]
/linux/Documentation/ABI/testing/
H A Dsysfs-class-net-qmi1 What: /sys/class/net/<iface>/qmi/raw_ip
20 through the delegation of the QMI protocol. Userspace
25 What: /sys/class/net/<iface>/qmi/add_mux
40 using the proper QMI protocol requests.
42 What: /sys/class/net/<iface>/qmi/del_mux
62 What: /sys/class/net/<iface>/qmi/pass_through
/linux/sound/usb/qcom/
H A Dqc_audio_offload.c14 #include <linux/soc/qcom/qmi.h>
291 /* maps audio format received over QMI to asound.h based pcm format */
343 * Sends QMI disconnect indication message, assumes chip->mutex and qdev_mutex
358 dev_dbg(uaudio_qdev->data->dev, "sending qmi indication suspend\n"); in uaudio_send_disconnect_ind()
370 "qmi send failed with err: %d\n", ret); in uaudio_send_disconnect_ind()
747 /* QMI service disconnect handlers */
841 * qmi_bye_cb() - qmi bye message callback
842 * @handle: QMI handle
845 * This callback is invoked when the QMI bye control message is received
846 * from the QMI client. Handle the message accordingly by ensuring that
[all …]
H A DMakefile1 snd-usb-audio-qmi-y := usb_audio_qmi_v01.o qc_audio_offload.o
2 snd-usb-audio-qmi-y += mixer_usb_offload.o
3 obj-$(CONFIG_SND_USB_AUDIO_QMI) += snd-usb-audio-qmi.o
/linux/drivers/usb/serial/
H A Dqcserial.c223 /* Don't claim the QMI/net interface */ in handle_quectel_ec20()
276 * Composite mode; don't bind to the QMI/net interface as that in qcprobe()
287 * 3: QMI/net in qcprobe()
312 * 0: QMI/net in qcprobe()
325 /* Don't claim the QMI/net interface */ in qcprobe()
350 * 8: QMI/net in qcprobe()
381 /* QMI combined (qmi_wwan) */ in qcprobe()
385 /* QMI data (qmi_wwan) */ in qcprobe()
389 /* QMI control (qmi_wwan) */ in qcprobe()
/linux/drivers/net/usb/
H A Dqmi_wwan.c26 * specific management protocol called Qualcomm MSM Interface (QMI) -
30 * QMI is wrapped in CDC, using CDC encapsulated commands on the
40 * Handling a protocol like QMI is out of the scope for any driver.
534 .name = "qmi",
805 * effect as clearing DTR. The device will not respond to QMI in qmi_wwan_bind()
814 * MDM9x30 is the first QMI chipset with USB3 support. Abuse in qmi_wwan_bind()
930 .description = "WWAN/QMI device",
939 .description = "WWAN/QMI device",
950 /* map QMI/wwan function by a fixed interface number */
960 /* Gobi 1000 QMI/wwan interface number is 3 according to qcserial */
[all …]
/linux/samples/
H A DKconfig114 tristate "Build qmi client sample -- loadable modules only"
120 Build an QMI client sample driver, which demonstrates how to
121 communicate with a remote QRTR service, using QMI encoded messages.
/linux/sound/usb/
H A DKconfig199 This module sets up the required QMI stream enable/disable
205 will be called snd-usb-audio-qmi.

123