Home
last modified time | relevance | path

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

12

/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 Dqcom_pd_mapper.c14 #include <linux/soc/qcom/qmi.h>
148 static void qcom_pdm_get_domain_list(struct qmi_handle *qmi, in qcom_pdm_get_domain_list() argument
153 struct qcom_pdm_data *data = container_of(qmi, struct qcom_pdm_data, handle); in qcom_pdm_get_domain_list()
203 ret = qmi_send_response(qmi, sq, txn, SERVREG_GET_DOMAIN_LIST_REQ, in qcom_pdm_get_domain_list()
214 static void qcom_pdm_pfr(struct qmi_handle *qmi, in qcom_pdm_pfr() argument
228 ret = qmi_send_response(qmi, sq, txn, SERVREG_LOC_PFR_REQ, in qcom_pdm_pfr()
/linux/drivers/net/wireless/ath/ath11k/
H A Dqmi.c10 #include "qmi.h"
1722 req.mem_cfg_mode = ab->qmi.target_mem_mode; in ath11k_qmi_host_cap_send()
1740 req.cal_done = ab->qmi.cal_done; in ath11k_qmi_host_cap_send()
1763 ret = qmi_txn_init(&ab->qmi.handle, &txn, in ath11k_qmi_host_cap_send()
1768 ret = qmi_send_request(&ab->qmi.handle, NULL, &txn, in ath11k_qmi_host_cap_send()
1797 struct qmi_handle *handle = &ab->qmi.handle; in ath11k_qmi_fw_ind_register_send()
1823 /* WCN6750 doesn't request for DDR memory via QMI, in ath11k_qmi_fw_ind_register_send()
1841 ret = qmi_send_request(&ab->qmi.handle, NULL, &txn, in ath11k_qmi_fw_ind_register_send()
1893 ab->qmi.target_mem_delayed) { in ath11k_qmi_respond_fw_mem_request()
1896 ab->qmi.mem_seg_count); in ath11k_qmi_respond_fw_mem_request()
[all …]
H A Dpci.c20 #include "qmi.h"
400 struct ath11k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg; in ath11k_pci_init_qmi_ce_config()
407 ab->qmi.service_ins_id = ab->hw_params.qmi_service_ins_id; in ath11k_pci_init_qmi_ce_config()
673 for (i = 0; i < ab->qmi.mem_seg_count; i++) { in ath11k_pci_coredump_calculate_size()
674 mem_type = ath11k_coredump_get_dump_type(ab->qmi.target_mem[i].type); in ath11k_pci_coredump_calculate_size()
682 ab->qmi.target_mem[i].type); in ath11k_pci_coredump_calculate_size()
686 if (!ab->qmi.target_mem[i].anyaddr) in ath11k_pci_coredump_calculate_size()
689 dump_seg_sz[mem_type] += ab->qmi.target_mem[i].size; in ath11k_pci_coredump_calculate_size()
742 file_data->qrtr_id = cpu_to_le32(ab_pci->ab->qmi.service_ins_id); in ath11k_pci_coredump_download()
788 for (i = 0; i < ab->qmi.mem_seg_count; i++) { in ath11k_pci_coredump_download()
[all …]
H A Dcore.c1395 if (ab->qmi.target.bdf_ext[0] != '\0') in ath11k_core_check_cc_code_bdfext()
1443 strlen(smbios->bdf_ext), sizeof(ab->qmi.target.bdf_ext)); in ath11k_core_check_cc_code_bdfext()
1453 copied = strscpy(ab->qmi.target.bdf_ext, smbios->bdf_ext + strlen(magic), in ath11k_core_check_cc_code_bdfext()
1454 sizeof(ab->qmi.target.bdf_ext)); in ath11k_core_check_cc_code_bdfext()
1463 ATH11K_SMBIOS_BDF_EXT_TYPE, ab->qmi.target.bdf_ext); in ath11k_core_check_cc_code_bdfext()
1468 ab->qmi.target.bdf_ext[0] = '\0'; in ath11k_core_check_smbios()
1471 if (ab->qmi.target.bdf_ext[0] == '\0') in ath11k_core_check_smbios()
1479 size_t max_len = sizeof(ab->qmi.target.bdf_ext); in ath11k_core_check_dt()
1495 if (strscpy(ab->qmi.target.bdf_ext, variant, max_len) < 0) in ath11k_core_check_dt()
1513 /* strlen(',variant=') + strlen(ab->qmi.target.bdf_ext) */ in __ath11k_core_create_board_name()
[all …]
/linux/drivers/net/wireless/ath/ath12k/
H A Dqmi.c9 #include "qmi.h"
2120 hw_id_base += partner_ab->qmi.num_radios; in ath12k_host_cap_hw_link_id_init()
2140 "MLO is disabled hence skip QMI MLO cap\n"); in ath12k_host_cap_parse_mlo()
2144 if (!ab->qmi.num_radios || ab->qmi.num_radios == U8_MAX) { in ath12k_host_cap_parse_mlo()
2147 "skip QMI MLO cap due to invalid num_radio %u\n", in ath12k_host_cap_parse_mlo()
2148 ab->qmi.num_radios); in ath12k_host_cap_parse_mlo()
2190 info->num_local_links = partner_ab->qmi.num_radios; in ath12k_host_cap_parse_mlo()
2252 req.mem_cfg_mode = ab->qmi.target_mem_mode; in ath12k_qmi_host_cap_send()
2265 req.cal_done = ab->qmi.cal_done; in ath12k_qmi_host_cap_send()
2294 if (ab->qmi.dynamic_ddr_support) { in ath12k_qmi_host_cap_send()
[all …]
H A Dqmi.h11 #include <linux/soc/qcom/qmi.h>
138 spinlock_t event_lock; /* spinlock for qmi event list */
615 static inline void ath12k_qmi_set_event_block(struct ath12k_qmi *qmi, bool block) in ath12k_qmi_set_event_block() argument
617 lockdep_assert_held(&qmi->event_lock); in ath12k_qmi_set_event_block()
619 qmi->block_event = block; in ath12k_qmi_set_event_block()
622 static inline bool ath12k_qmi_get_event_block(struct ath12k_qmi *qmi) in ath12k_qmi_get_event_block() argument
624 lockdep_assert_held(&qmi->event_lock); in ath12k_qmi_get_event_block()
626 return qmi->block_event; in ath12k_qmi_get_event_block()
H A Dcore.c26 #include "qmi.h"
225 /* strlen(',variant=') + strlen(ab->qmi.target.bdf_ext) */ in __ath12k_core_create_board_name()
228 if (with_variant && ab->qmi.target.bdf_ext[0] != '\0') in __ath12k_core_create_board_name()
230 ab->qmi.target.bdf_ext); in __ath12k_core_create_board_name()
240 …endor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x,qmi-chip-id=%d,qmi-board-id=%d%… in __ath12k_core_create_board_name()
245 ab->qmi.target.chip_id, in __ath12k_core_create_board_name()
246 ab->qmi.target.board_id, in __ath12k_core_create_board_name()
251 "bus=%s,qmi-chip-id=%d,qmi-board-id=%d%s", in __ath12k_core_create_board_name()
253 ab->qmi.target.chip_id, in __ath12k_core_create_board_name()
255 ATH12K_BOARD_ID_DEFAULT : ab->qmi.target.board_id, in __ath12k_core_create_board_name()
[all …]
H A Dpci.c20 #include "qmi.h"
692 struct ath12k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg; in ath12k_pci_init_qmi_ce_config()
702 ab->qmi.service_ins_id = ab->hw_params->qmi_service_ins_id; in ath12k_pci_init_qmi_ce_config()
708 ab->qmi.service_ins_id += ab_pci->qmi_instance; in ath12k_pci_init_qmi_ce_config()
924 /* On platforms with two or more identical mhi devices, qmi service run in ath12k_pci_update_qrtr_node_id()
926 * cannot register more than one qmi service with identical node ID. in ath12k_pci_update_qrtr_node_id()
929 * writes to the given register, it is available for firmware when the QMI service in ath12k_pci_update_qrtr_node_id()
1295 for (i = 0; i < ab->qmi.mem_seg_count; i++) { in ath12k_pci_coredump_calculate_size()
1296 mem_type = ath12k_coredump_get_dump_type(ab->qmi.target_mem[i].type); in ath12k_pci_coredump_calculate_size()
1304 ab->qmi.target_mem[i].type); in ath12k_pci_coredump_calculate_size()
[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/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/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()
763 /* QMI service disconnect handlers */
865 * qmi_bye_cb() - qmi bye message callback
866 * @handle: QMI handle
869 * This callback is invoked when the QMI bye control message is received
870 * from the QMI client. Handle the message accordingly by ensuring that
[all …]
H A DMakefile2 snd-usb-audio-qmi-y := usb_audio_qmi_v01.o qc_audio_offload.o
3 snd-usb-audio-qmi-y += mixer_usb_offload.o
4 obj-$(CONFIG_SND_USB_AUDIO_QMI) += snd-usb-audio-qmi.o
/linux/drivers/net/wireless/ath/ath10k/
H A Dqmi.h8 #include <linux/soc/qcom/qmi.h>
98 spinlock_t event_lock; /* spinlock for qmi event list */
H A DMakefile40 ath10k_snoc-y += qmi.o \
/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.
/linux/include/linux/soc/qcom/
H A Dpdr.h5 #include <linux/soc/qcom/qmi.h>
/linux/drivers/net/ethernet/freescale/fman/
H A Dfman_port.c61 /* QMI defines */
281 /* QMI port register map */
314 /* QMI dequeue prefetch modes */
343 /* QMI dequeue from the SP channel - types */
736 /* Init QMI registers */ in init()
1587 /* Disable QMI */ in fman_port_disable()
1592 /* Wait for QMI to finish FD handling */ in fman_port_disable()
1622 dev_dbg(port->dev, "%s: FMan Port[%d]: BMI or QMI is Busy. Port forced down\n", in fman_port_disable()
1661 /* Enable QMI */ in fman_port_enable()
/linux/Documentation/devicetree/bindings/sound/
H A Dqcom,q6usb.yaml17 passed along during the QMI stream enable request and configuration of

12