| /linux-6.15/drivers/soc/qcom/ |
| H A D | qmi_interface.c | 317 txn->qmi = qmi; in qmi_txn_init() 346 struct qmi_handle *qmi = txn->qmi; in qmi_txn_wait() local 370 struct qmi_handle *qmi = txn->qmi; in qmi_txn_cancel() local 458 qmi->ops.net_reset(qmi); in qmi_handle_net_reset() 462 qmi->sq = sq; in qmi_handle_net_reset() 560 qmi_recv_ctrl_pkt(qmi, qmi->recv_buf, msglen); in qmi_data_ready_work() 562 ops->msg_handler(qmi, &sq, qmi->recv_buf, msglen); in qmi_data_ready_work() 564 qmi_handle_message(qmi, &sq, qmi->recv_buf, msglen); in qmi_data_ready_work() 579 if (!qmi) in qmi_data_ready() 582 queue_work(qmi->wq, &qmi->work); in qmi_data_ready() [all …]
|
| H A D | pdr_interface.c | 73 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() 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 298 struct pdr_handle *pdr = container_of(qmi, struct pdr_handle, in pdr_indication_cb()
|
| H A D | qcom_pd_mapper.c | 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-6.15/drivers/net/wireless/ath/ath10k/ |
| H A D | qmi.c | 106 ath10k_qmi_unmap_msa_permission(qmi, &qmi->mem_region[i]); in ath10k_qmi_setup_msa_permissions() 118 ath10k_qmi_unmap_msa_permission(qmi, &qmi->mem_region[i]); in ath10k_qmi_remove_msa_permission() 384 struct ath10k_qmi *qmi = ar_snoc->qmi; in ath10k_qmi_mode_send_sync_msg() local 433 struct ath10k_qmi *qmi = ar_snoc->qmi; in ath10k_qmi_cfg_send_sync_msg() local 639 qmi->fw_version, qmi->fw_build_timestamp, qmi->fw_build_id); in ath10k_qmi_cap_send_sync_msg() 709 struct ath10k_qmi *qmi = ar_snoc->qmi; in ath10k_qmi_set_fw_log_mode() local 891 queue_work(qmi->event_wq, &qmi->event_work); in ath10k_qmi_driver_event_post() 1078 qmi = kzalloc(sizeof(*qmi), GFP_KERNEL); in ath10k_qmi_init() 1079 if (!qmi) in ath10k_qmi_init() 1083 ar_snoc->qmi = qmi; in ath10k_qmi_init() [all …]
|
| H A D | Makefile | 40 ath10k_snoc-y += qmi.o \
|
| H A D | snoc.h | 80 struct ath10k_qmi *qmi; member
|
| /linux-6.15/drivers/net/wireless/ath/ath11k/ |
| H A D | qmi.c | 2068 ab->qmi.target_mem[idx].size = ab->qmi.target_mem[i].size; in ath11k_qmi_assign_target_mem_chunk() 2070 ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type; in ath11k_qmi_assign_target_mem_chunk() 2076 ab->qmi.target_mem[idx].size = ab->qmi.target_mem[i].size; in ath11k_qmi_assign_target_mem_chunk() 2077 ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type; in ath11k_qmi_assign_target_mem_chunk() 2104 ab->qmi.target_mem[idx].size = ab->qmi.target_mem[i].size; in ath11k_qmi_assign_target_mem_chunk() 2105 ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type; in ath11k_qmi_assign_target_mem_chunk() 2276 ab->qmi.target.chip_id, ab->qmi.target.chip_family, in ath11k_qmi_request_target_cap() 2277 ab->qmi.target.board_id, ab->qmi.target.soc_id); in ath11k_qmi_request_target_cap() 2941 queue_work(qmi->event_wq, &qmi->event_work); in ath11k_qmi_driver_event_post() 3105 ab->qmi.cal_done = 1; in ath11k_qmi_msg_cold_boot_cal_done_cb() [all …]
|
| H A D | pci.c | 378 struct ath11k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg; in ath11k_pci_init_qmi_ce_config() 651 for (i = 0; i < ab->qmi.mem_seg_count; i++) { in ath11k_pci_coredump_calculate_size() 660 ab->qmi.target_mem[i].type); in ath11k_pci_coredump_calculate_size() 664 if (!ab->qmi.target_mem[i].anyaddr) in ath11k_pci_coredump_calculate_size() 766 for (i = 0; i < ab->qmi.mem_seg_count; i++) { in ath11k_pci_coredump_download() 768 (ab->qmi.target_mem[i].type); in ath11k_pci_coredump_download() 773 if (!ab->qmi.target_mem[i].anyaddr) { in ath11k_pci_coredump_download() 776 ab->qmi.target_mem[i].type); in ath11k_pci_coredump_download() 785 memcpy_fromio(buf, ab->qmi.target_mem[i].iaddr, in ath11k_pci_coredump_download() 786 ab->qmi.target_mem[i].size); in ath11k_pci_coredump_download() [all …]
|
| H A D | core.c | 1086 if (ab->qmi.target.bdf_ext[0] != '\0') in ath11k_core_check_cc_code_bdfext() 1145 sizeof(ab->qmi.target.bdf_ext)); in ath11k_core_check_cc_code_bdfext() 1159 ab->qmi.target.bdf_ext[0] = '\0'; in ath11k_core_check_smbios() 1162 if (ab->qmi.target.bdf_ext[0] == '\0') in ath11k_core_check_smbios() 1209 ab->qmi.target.bdf_ext); in __ath11k_core_create_board_name() 1221 ab->qmi.target.chip_id, in __ath11k_core_create_board_name() 1222 ab->qmi.target.board_id, in __ath11k_core_create_board_name() 1234 ab->qmi.target.chip_id); in __ath11k_core_create_board_name() 1242 ab->qmi.target.chip_id, in __ath11k_core_create_board_name() 1243 ab->qmi.target.board_id, variant); in __ath11k_core_create_board_name() [all …]
|
| H A D | Makefile | 11 qmi.o \
|
| H A D | ahb.c | 425 struct ath11k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg; in ath11k_ahb_init_qmi_ce_config() 431 ab->qmi.service_ins_id = ab->hw_params.qmi_service_ins_id; in ath11k_ahb_init_qmi_ce_config() 1260 cancel_work_sync(&ab->qmi.event_work); in ath11k_ahb_remove_prepare()
|
| /linux-6.15/include/linux/soc/qcom/ |
| H A D | qmi.h | 147 int (*new_server)(struct qmi_handle *qmi, struct qmi_service *svc); 149 void (*net_reset)(struct qmi_handle *qmi); 152 void (*bye)(struct qmi_handle *qmi, unsigned int node); 153 void (*del_client)(struct qmi_handle *qmi, 168 struct qmi_handle *qmi; member 195 void (*fn)(struct qmi_handle *qmi, struct sockaddr_qrtr *sq, 240 int qmi_add_lookup(struct qmi_handle *qmi, unsigned int service, 242 int qmi_add_server(struct qmi_handle *qmi, unsigned int service, 245 int qmi_handle_init(struct qmi_handle *qmi, size_t max_msg_len, 248 void qmi_handle_release(struct qmi_handle *qmi); [all …]
|
| /linux-6.15/drivers/net/ipa/ |
| H A D | ipa_qmi.c | 144 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_qmi_ready() 186 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_server_indication_register() 215 ipa = container_of(ipa_qmi, struct ipa, qmi); in ipa_server_driver_init_complete() 406 struct qmi_handle *qmi; in ipa_client_init_driver_work() local 413 qmi = &ipa_qmi->client_handle; in ipa_client_init_driver_work() 418 ret = qmi_txn_init(qmi, &txn, NULL, NULL); in ipa_client_init_driver_work() 470 struct ipa_qmi *ipa_qmi = &ipa->qmi; in ipa_qmi_setup() 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() [all …]
|
| H A D | ipa.h | 131 struct ipa_qmi qmi; member
|
| /linux-6.15/drivers/net/wireless/ath/ath12k/ |
| H A D | qmi.c | 2058 if (!ab->qmi.num_radios || ab->qmi.num_radios == U8_MAX) { in ath12k_host_cap_parse_mlo() 2062 ab->qmi.num_radios); in ath12k_host_cap_parse_mlo() 2287 ab->qmi.num_radios); in ath12k_qmi_phy_cap_send() 2725 ab->qmi.target.chip_id, ab->qmi.target.chip_family, in ath12k_qmi_request_target_cap() 2726 ab->qmi.target.board_id, ab->qmi.target.soc_id); in ath12k_qmi_request_target_cap() 3299 queue_work(qmi->event_wq, &qmi->event_work); in ath12k_qmi_driver_event_post() 3306 struct ath12k_qmi *qmi = &ab->qmi; in ath12k_qmi_trigger_host_cap() local 3675 ab->qmi.ab = ab; in ath12k_qmi_init_service() 3686 if (!ab->qmi.event_wq) { in ath12k_qmi_init_service() 3709 if (!ab->qmi.ab) in ath12k_qmi_deinit_service() [all …]
|
| H A D | qmi.h | 603 static inline void ath12k_qmi_set_event_block(struct ath12k_qmi *qmi, bool block) in ath12k_qmi_set_event_block() argument 605 lockdep_assert_held(&qmi->event_lock); in ath12k_qmi_set_event_block() 607 qmi->block_event = block; in ath12k_qmi_set_event_block() 610 static inline bool ath12k_qmi_get_event_block(struct ath12k_qmi *qmi) in ath12k_qmi_get_event_block() argument 612 lockdep_assert_held(&qmi->event_lock); in ath12k_qmi_get_event_block() 614 return qmi->block_event; in ath12k_qmi_get_event_block()
|
| H A D | pci.c | 709 struct ath12k_qmi_ce_cfg *cfg = &ab->qmi.ce_cfg; in ath12k_pci_init_qmi_ce_config() 725 ab->qmi.service_ins_id += ab_pci->qmi_instance; in ath12k_pci_init_qmi_ce_config() 1315 for (i = 0; i < ab->qmi.mem_seg_count; i++) { in ath12k_pci_coredump_calculate_size() 1324 ab->qmi.target_mem[i].type); in ath12k_pci_coredump_calculate_size() 1328 if (!ab->qmi.target_mem[i].paddr) in ath12k_pci_coredump_calculate_size() 1435 for (i = 0; i < ab->qmi.mem_seg_count; i++) { in ath12k_pci_coredump_download() 1437 (ab->qmi.target_mem[i].type); in ath12k_pci_coredump_download() 1442 if (!ab->qmi.target_mem[i].paddr) { in ath12k_pci_coredump_download() 1445 ab->qmi.target_mem[i].type); in ath12k_pci_coredump_download() 1450 ab->qmi.target_mem[i].size); in ath12k_pci_coredump_download() [all …]
|
| H A D | core.c | 188 if (with_variant && ab->qmi.target.bdf_ext[0] != '\0') in __ath12k_core_create_board_name() 190 ab->qmi.target.bdf_ext); in __ath12k_core_create_board_name() 205 ab->qmi.target.chip_id, in __ath12k_core_create_board_name() 206 ab->qmi.target.board_id, in __ath12k_core_create_board_name() 213 ab->qmi.target.chip_id, in __ath12k_core_create_board_name() 641 if (ab->qmi.target.bdf_ext[0] != '\0') in ath12k_core_check_bdfext() 678 sizeof(ab->qmi.target.bdf_ext)); in ath12k_core_check_bdfext() 692 ab->qmi.target.bdf_ext[0] = '\0'; in ath12k_core_check_smbios() 695 if (ab->qmi.target.bdf_ext[0] == '\0') in ath12k_core_check_smbios() 1068 &ab->qmi.ce_cfg.shadow_reg_v3_len); in ath12k_core_start_firmware() [all …]
|
| H A D | Makefile | 11 qmi.o \
|
| H A D | acpi.c | 487 size_t max_len = sizeof(ab->qmi.target.bdf_ext); in ath12k_acpi_check_bdf_variant_name() 492 if (strscpy(ab->qmi.target.bdf_ext, ab->acpi.bdf_string + 4, max_len) < 0) in ath12k_acpi_check_bdf_variant_name()
|
| /linux-6.15/samples/qmi/ |
| H A D | qmi_sample_client.c | 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() 372 struct qmi_handle *qmi = file->private_data; in data_write() local 398 ret = qmi_send_request(qmi, NULL, &txn, in data_write() 444 struct qmi_handle qmi; member 471 ret = kernel_connect(sample->qmi.sock, (struct sockaddr *)sq, in qmi_sample_probe() 509 qmi_handle_release(&sample->qmi); in qmi_sample_probe() 522 qmi_handle_release(&sample->qmi); in qmi_sample_remove() 533 static int qmi_sample_new_server(struct qmi_handle *qmi, in qmi_sample_new_server() argument [all …]
|
| /linux-6.15/drivers/slimbus/ |
| H A D | qcom-ngd-ctrl.c | 122 struct qmi_handle qmi; member 151 struct qcom_slim_ngd_qmi qmi; member 483 ctrl->qmi.handle = handle; in qcom_slim_qmi_init() 494 ctrl->qmi.handle = NULL; in qcom_slim_qmi_init() 504 if (!ctrl->qmi.handle) in qcom_slim_qmi_exit() 509 ctrl->qmi.handle = NULL; in qcom_slim_qmi_exit() 1309 if (!ctrl->qmi.handle) in qcom_slim_ngd_runtime_resume() 1369 container_of(qmi, struct qcom_slim_ngd_ctrl, qmi); in qcom_slim_ngd_qmi_new_server() 1386 container_of(qmi, struct qcom_slim_ngd_ctrl, qmi); in qcom_slim_ngd_qmi_del_server() 1400 struct qcom_slim_ngd_qmi *qmi = &ctrl->qmi; in qcom_slim_ngd_qmi_svc_event_init() local [all …]
|
| /linux-6.15/drivers/remoteproc/ |
| H A D | qcom_sysmon.c | 49 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() 339 ret = qmi_txn_init(&sysmon->qmi, &txn, ssctl_shutdown_resp_ei, &resp); 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() 396 ret = qmi_send_request(&sysmon->qmi, &sysmon->ssctl, &txn, in ssctl_send_event() 423 struct qcom_sysmon *sysmon = container_of(qmi, struct qcom_sysmon, qmi); in ssctl_new_server() 672 ret = qmi_handle_init(&sysmon->qmi, SSCTL_MAX_MSG_LEN, &ssctl_ops, in qcom_add_sysmon_subdev() 680 qmi_add_lookup(&sysmon->qmi, 43, 0, 0); in qcom_add_sysmon_subdev() [all …]
|
| /linux-6.15/Documentation/ABI/testing/ |
| H A D | sysfs-class-net-qmi | 1 What: /sys/class/net/<iface>/qmi/raw_ip 25 What: /sys/class/net/<iface>/qmi/add_mux 42 What: /sys/class/net/<iface>/qmi/del_mux 62 What: /sys/class/net/<iface>/qmi/pass_through
|
| /linux-6.15/samples/ |
| H A D | Makefile | 20 obj-$(CONFIG_SAMPLE_QMI_CLIENT) += qmi/
|