| /linux-6.15/drivers/bus/mhi/host/ |
| H A D | pm.c | 165 mhi_cntrl->wake_get(mhi_cntrl, false); in mhi_toggle_dev_wake() 166 mhi_cntrl->wake_put(mhi_cntrl, true); in mhi_toggle_dev_wake() 281 mhi_cntrl->wake_get(mhi_cntrl, true); in mhi_pm_m0_transition() 325 mhi_cntrl->wake_put(mhi_cntrl, false); in mhi_pm_m0_transition() 361 mhi_cntrl->wake_get(mhi_cntrl, true); in mhi_pm_m1_transition() 362 mhi_cntrl->wake_put(mhi_cntrl, true); in mhi_pm_m1_transition() 464 mhi_cntrl->wake_put(mhi_cntrl, false); in mhi_pm_mission_mode_transition() 865 mhi_cntrl->wake_get(mhi_cntrl, false); in mhi_pm_suspend() 875 mhi_cntrl->wake_put(mhi_cntrl, false); in mhi_pm_suspend() 1019 mhi_cntrl->wake_get(mhi_cntrl, true); in __mhi_device_get_sync() [all …]
|
| H A D | init.c | 86 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; in serial_number_show() local 146 ret = mhi_cntrl->edl_trigger(mhi_cntrl); in trigger_edl_store() 191 free_irq(mhi_cntrl->irq[0], mhi_cntrl); in mhi_deinit_free_irq() 252 free_irq(mhi_cntrl->irq[0], mhi_cntrl); in mhi_init_irq_setup() 941 if (!mhi_cntrl || !mhi_cntrl->cntrl_dev || !mhi_cntrl->regs || in mhi_register_controller() 945 !mhi_cntrl->irq || !mhi_cntrl->reg_len) in mhi_register_controller() 984 mhi_event->mhi_cntrl = mhi_cntrl; in mhi_register_controller() 1032 mhi_dev->mhi_cntrl = mhi_cntrl; in mhi_register_controller() 1145 mhi_cntrl->bhi = mhi_cntrl->regs + bhi_off; in mhi_prepare_for_power_up() 1147 if (mhi_cntrl->fbc_download || mhi_cntrl->rddm_size || mhi_cntrl->seg_len) { in mhi_prepare_for_power_up() [all …]
|
| H A D | boot.c | 121 mhi_soc_reset(mhi_cntrl); in __mhi_download_rddm_in_panic() 449 if (mhi_cntrl->seg_len) in mhi_fw_load_type_get() 508 ret = mhi_read_reg(mhi_cntrl, mhi_cntrl->bhi, BHI_SERIALNU, in mhi_fw_load_handler() 518 mhi_cntrl->edl_image : mhi_cntrl->fw_image; in mhi_fw_load_handler() 522 mhi_cntrl->fw_data && mhi_cntrl->fw_sz) { in mhi_fw_load_handler() 530 fw_sz = mhi_cntrl->fw_sz; in mhi_fw_load_handler() 534 if (!fw_name || (mhi_cntrl->fbc_download && (!mhi_cntrl->sbl_size || in mhi_fw_load_handler() 547 size = (mhi_cntrl->fbc_download) ? mhi_cntrl->sbl_size : firmware->size; in mhi_fw_load_handler() 587 ret = mhi_alloc_bhie_table(mhi_cntrl, &mhi_cntrl->fbc_image, fw_sz); in mhi_fw_load_handler() 594 mhi_firmware_copy_bhie(mhi_cntrl, fw_data, fw_sz, mhi_cntrl->fbc_image); in mhi_fw_load_handler() [all …]
|
| H A D | main.c | 23 return mhi_cntrl->read_reg(mhi_cntrl, base + offset, out); in mhi_read_reg() 67 mhi_cntrl->write_reg(mhi_cntrl, base + offset, val); in mhi_write_reg() 174 mhi_cntrl->reset(mhi_cntrl); in mhi_soc_reset() 288 mhi_cntrl = mhi_dev->mhi_cntrl; in mhi_destroy_device() 653 mhi_cntrl->runtime_put(mhi_cntrl); in parse_xfer_event() 1147 mhi_cntrl->runtime_get(mhi_cntrl); in mhi_queue() 1150 mhi_cntrl->wake_toggle(mhi_cntrl); in mhi_queue() 1159 mhi_cntrl->runtime_put(mhi_cntrl); in mhi_queue() 1366 mhi_cntrl->runtime_get(mhi_cntrl); in mhi_update_channel_state() 1397 mhi_cntrl->runtime_put(mhi_cntrl); in mhi_update_channel_state() [all …]
|
| H A D | debugfs.c | 24 TO_MHI_EXEC_STR(mhi_cntrl->ee), in mhi_debugfs_states_show() 28 seq_printf(m, "M0: %u M2: %u M3: %u", mhi_cntrl->M0, mhi_cntrl->M2, in mhi_debugfs_states_show() 29 mhi_cntrl->M3); in mhi_debugfs_states_show() 45 if (!mhi_is_active(mhi_cntrl)) { in mhi_debugfs_events_show() 51 mhi_event = mhi_cntrl->mhi_event; in mhi_debugfs_events_show() 88 if (!mhi_is_active(mhi_cntrl)) { in mhi_debugfs_channels_show() 93 mhi_chan = mhi_cntrl->mhi_chan; in mhi_debugfs_channels_show() 157 if (!mhi_is_active(mhi_cntrl)) { in mhi_debugfs_devices_show() 213 ee = mhi_get_exec_env(mhi_cntrl); in mhi_debugfs_regdump_show() 236 if (!mhi_is_active(mhi_cntrl)) { in mhi_debugfs_device_wake_show() [all …]
|
| H A D | internal.h | 164 #define MHI_DB_ACCESS_VALID(mhi_cntrl) (mhi_cntrl->pm_state & mhi_cntrl->db_access) argument 192 void (*process_db)(struct mhi_controller *mhi_cntrl, 240 struct mhi_controller *mhi_cntrl; member 330 struct mhi_controller *mhi_cntrl, 347 return (mhi_cntrl->dev_state >= MHI_STATE_M0 && in mhi_is_active() 348 mhi_cntrl->dev_state <= MHI_STATE_M3_FAST); in mhi_is_active() 353 pm_wakeup_event(&mhi_cntrl->mhi_dev->dev, 0); in mhi_trigger_resume() 354 mhi_cntrl->runtime_get(mhi_cntrl); in mhi_trigger_resume() 355 mhi_cntrl->runtime_put(mhi_cntrl); in mhi_trigger_resume() 385 int mhi_init_mmio(struct mhi_controller *mhi_cntrl); [all …]
|
| H A D | pci_generic.c | 1093 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_recovery_work() local 1140 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in health_check() local 1170 mhi_cntrl->runtime_get(mhi_cntrl); in mhi_pci_generic_edl_trigger() 1184 mhi_cntrl->runtime_put(mhi_cntrl); in mhi_pci_generic_edl_trigger() 1209 mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_probe() 1294 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_remove() local 1320 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_reset_prepare() local 1342 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_reset_done() local 1376 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_error_detected() local 1428 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_runtime_suspend() local [all …]
|
| H A D | trace.h | 95 TP_ARGS(mhi_cntrl, mhi_chan, mhi_tre), 98 __string(name, mhi_cntrl->mhi_dev->name) 124 TP_ARGS(mhi_cntrl, dev_ee, dev_state), 127 __string(name, mhi_cntrl->mhi_dev->name) 136 __entry->local_ee = mhi_cntrl->ee; 137 __entry->state = mhi_cntrl->dev_state; 154 TP_ARGS(mhi_cntrl, pm_state), 176 TP_ARGS(mhi_cntrl, rp), 205 TP_ARGS(mhi_cntrl, rp) 212 TP_ARGS(mhi_cntrl, rp) [all …]
|
| /linux-6.15/drivers/bus/mhi/ep/ |
| H A D | mmio.c | 15 return readl(mhi_cntrl->mmio + offset); in mhi_ep_mmio_read() 20 writel(val, mhi_cntrl->mmio + offset); in mhi_ep_mmio_write() 89 mhi_cntrl->chdb[i].mask = val; in mhi_ep_mmio_set_chdb_interrupts() 109 mhi_cntrl->chdb[i].status = mhi_ep_mmio_read(mhi_cntrl, MHI_CHDB_INT_STATUS_n(i)); in mhi_ep_mmio_read_chdb_status_interrupts() 110 if (mhi_cntrl->chdb[i].status) in mhi_ep_mmio_read_chdb_status_interrupts() 189 mhi_cntrl->ch_ctx_host_pa <<= 32; in mhi_ep_mmio_get_chc_base() 201 mhi_cntrl->ev_ctx_host_pa <<= 32; in mhi_ep_mmio_get_erc_base() 221 struct mhi_ep_cntrl *mhi_cntrl = ring->mhi_cntrl; in mhi_ep_mmio_get_db() local 256 mhi_cntrl->chdb_offset = mhi_ep_mmio_read(mhi_cntrl, EP_CHDBOFF); in mhi_ep_mmio_init() 257 mhi_cntrl->erdb_offset = mhi_ep_mmio_read(mhi_cntrl, EP_ERDBOFF); in mhi_ep_mmio_init() [all …]
|
| H A D | main.c | 652 ret = mhi_cntrl->alloc_map(mhi_cntrl, mhi_cntrl->ch_ctx_host_pa, in mhi_ep_cache_host_cfg() 665 ret = mhi_cntrl->alloc_map(mhi_cntrl, mhi_cntrl->ev_ctx_host_pa, in mhi_ep_cache_host_cfg() 698 mhi_cntrl->unmap_free(mhi_cntrl, mhi_cntrl->cmd_ctx_host_pa, mhi_cntrl->cmd_ctx_cache_phys, in mhi_ep_cache_host_cfg() 702 mhi_cntrl->unmap_free(mhi_cntrl, mhi_cntrl->ev_ctx_host_pa, mhi_cntrl->ev_ctx_cache_phys, in mhi_ep_cache_host_cfg() 706 mhi_cntrl->unmap_free(mhi_cntrl, mhi_cntrl->ch_ctx_host_pa, mhi_cntrl->ch_ctx_cache_phys, in mhi_ep_cache_host_cfg() 720 mhi_cntrl->unmap_free(mhi_cntrl, mhi_cntrl->cmd_ctx_host_pa, mhi_cntrl->cmd_ctx_cache_phys, in mhi_ep_free_host_cfg() 723 mhi_cntrl->unmap_free(mhi_cntrl, mhi_cntrl->ev_ctx_host_pa, mhi_cntrl->ev_ctx_cache_phys, in mhi_ep_free_host_cfg() 726 mhi_cntrl->unmap_free(mhi_cntrl, mhi_cntrl->ch_ctx_host_pa, mhi_cntrl->ch_ctx_cache_phys, in mhi_ep_free_host_cfg() 1309 mhi_dev->mhi_cntrl = mhi_cntrl; in mhi_ep_alloc_device() 1377 mhi_cntrl = mhi_dev->mhi_cntrl; in mhi_ep_destroy_device() [all …]
|
| H A D | sm.c | 34 if (!mhi_ep_check_mhi_state(mhi_cntrl, mhi_cntrl->mhi_state, mhi_state)) { in mhi_ep_set_mhi_state() 48 mhi_cntrl->mhi_state = mhi_state; in mhi_ep_set_mhi_state() 66 mutex_lock(&mhi_cntrl->state_lock); in mhi_ep_set_m0_state() 68 old_state = mhi_cntrl->mhi_state; in mhi_ep_set_m0_state() 70 mhi_ep_resume_channels(mhi_cntrl); in mhi_ep_set_m0_state() 74 mhi_ep_handle_syserr(mhi_cntrl); in mhi_ep_set_m0_state() 105 mutex_lock(&mhi_cntrl->state_lock); in mhi_ep_set_m3_state() 109 mhi_ep_handle_syserr(mhi_cntrl); in mhi_ep_set_m3_state() 113 mhi_ep_suspend_channels(mhi_cntrl); in mhi_ep_set_m3_state() 134 mutex_lock(&mhi_cntrl->state_lock); in mhi_ep_set_ready_state() [all …]
|
| H A D | internal.h | 125 struct mhi_ep_cntrl *mhi_cntrl; member 202 void mhi_ep_mmio_clear_reset(struct mhi_ep_cntrl *mhi_cntrl); 203 void mhi_ep_mmio_reset(struct mhi_ep_cntrl *mhi_cntrl); 206 void mhi_ep_mmio_init(struct mhi_ep_cntrl *mhi_cntrl); 207 void mhi_ep_mmio_update_ner(struct mhi_ep_cntrl *mhi_cntrl); 215 int mhi_ep_set_m0_state(struct mhi_ep_cntrl *mhi_cntrl); 216 int mhi_ep_set_m3_state(struct mhi_ep_cntrl *mhi_cntrl); 217 int mhi_ep_set_ready_state(struct mhi_ep_cntrl *mhi_cntrl); 218 void mhi_ep_handle_syserr(struct mhi_ep_cntrl *mhi_cntrl); 219 void mhi_ep_resume_channels(struct mhi_ep_cntrl *mhi_cntrl); [all …]
|
| H A D | ring.c | 31 struct mhi_ep_cntrl *mhi_cntrl = ring->mhi_cntrl; in __mhi_ep_cache_ring() local 32 struct device *dev = &mhi_cntrl->mhi_dev->dev; in __mhi_ep_cache_ring() 51 ret = mhi_cntrl->read_sync(mhi_cntrl, &buf_info); in __mhi_ep_cache_ring() 59 ret = mhi_cntrl->read_sync(mhi_cntrl, &buf_info); in __mhi_ep_cache_ring() 68 ret = mhi_cntrl->read_sync(mhi_cntrl, &buf_info); in __mhi_ep_cache_ring() 108 struct mhi_ep_cntrl *mhi_cntrl = ring->mhi_cntrl; in mhi_ep_ring_add_element() local 109 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_ep_ring_add_element() 146 return mhi_cntrl->write_sync(mhi_cntrl, &buf_info); in mhi_ep_ring_add_element() 168 struct mhi_ep_cntrl *mhi_cntrl = ring->mhi_cntrl; in mhi_ep_raise_irq() local 170 mhi_cntrl->raise_irq(mhi_cntrl, ring->irq_vector); in mhi_ep_raise_irq() [all …]
|
| /linux-6.15/include/linux/ |
| H A D | mhi.h | 425 void (*status_cb)(struct mhi_controller *mhi_cntrl, 429 void (*wake_toggle)(struct mhi_controller *mhi_cntrl); 430 int (*runtime_get)(struct mhi_controller *mhi_cntrl); 431 void (*runtime_put)(struct mhi_controller *mhi_cntrl); 432 int (*map_single)(struct mhi_controller *mhi_cntrl, 440 void (*reset)(struct mhi_controller *mhi_cntrl); 441 int (*edl_trigger)(struct mhi_controller *mhi_cntrl); 469 struct mhi_controller *mhi_cntrl; member 669 int mhi_pm_suspend(struct mhi_controller *mhi_cntrl); 675 int mhi_pm_resume(struct mhi_controller *mhi_cntrl); [all …]
|
| H A D | mhi_ep.h | 158 void (*raise_irq)(struct mhi_ep_cntrl *mhi_cntrl, u32 vector); 159 int (*alloc_map)(struct mhi_ep_cntrl *mhi_cntrl, u64 pci_addr, phys_addr_t *phys_ptr, 161 void (*unmap_free)(struct mhi_ep_cntrl *mhi_cntrl, u64 pci_addr, phys_addr_t phys, 163 int (*read_sync)(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_buf_info *buf_info); 164 int (*write_sync)(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_buf_info *buf_info); 165 int (*read_async)(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_buf_info *buf_info); 194 struct mhi_ep_cntrl *mhi_cntrl; member 264 int mhi_ep_register_controller(struct mhi_ep_cntrl *mhi_cntrl, 271 void mhi_ep_unregister_controller(struct mhi_ep_cntrl *mhi_cntrl); 279 int mhi_ep_power_up(struct mhi_ep_cntrl *mhi_cntrl); [all …]
|
| /linux-6.15/drivers/accel/qaic/ |
| H A D | mhi_controller.c | 851 mhi_soc_reset(mhi_cntrl); in mhi_reset_and_async_power_up() 878 mhi_cntrl = devm_kzalloc(&pci_dev->dev, sizeof(*mhi_cntrl), GFP_KERNEL); in qaic_mhi_register_controller() 879 if (!mhi_cntrl) in qaic_mhi_register_controller() 889 mhi_cntrl->iova_start = 0; in qaic_mhi_register_controller() 896 mhi_cntrl->regs = mhi_bar; in qaic_mhi_register_controller() 897 mhi_cntrl->reg_len = SZ_4K; in qaic_mhi_register_controller() 898 mhi_cntrl->nr_irqs = 1; in qaic_mhi_register_controller() 899 mhi_cntrl->irq = devm_kmalloc(&pci_dev->dev, sizeof(*mhi_cntrl->irq), GFP_KERNEL); in qaic_mhi_register_controller() 901 if (!mhi_cntrl->irq) in qaic_mhi_register_controller() 904 mhi_cntrl->irq[0] = mhi_irq; in qaic_mhi_register_controller() [all …]
|
| H A D | mhi_controller.h | 12 void qaic_mhi_free_controller(struct mhi_controller *mhi_cntrl, bool link_up); 13 void qaic_mhi_start_reset(struct mhi_controller *mhi_cntrl); 14 void qaic_mhi_reset_done(struct mhi_controller *mhi_cntrl);
|
| H A D | qaic_drv.c | 330 qdev = pci_get_drvdata(to_pci_dev(mhi_dev->mhi_cntrl->cntrl_dev)); in qaic_mhi_probe() 578 qdev->mhi_cntrl = qaic_mhi_register_controller(pdev, qdev->bar_mhi, mhi_irq, in qaic_pci_probe() 580 if (IS_ERR(qdev->mhi_cntrl)) { in qaic_pci_probe() 581 ret = PTR_ERR(qdev->mhi_cntrl); in qaic_pci_probe() 597 qaic_mhi_free_controller(qdev->mhi_cntrl, link_up); in qaic_pci_remove() 618 qaic_mhi_start_reset(qdev->mhi_cntrl); in qaic_pci_reset_prepare() 626 qaic_mhi_reset_done(qdev->mhi_cntrl); in qaic_pci_reset_done()
|
| H A D | qaic_timesync.c | 176 struct qaic_device *qdev = pci_get_drvdata(to_pci_dev(mhi_dev->mhi_cntrl->cntrl_dev)); in qaic_timesync_probe() 326 struct qaic_device *qdev = pci_get_drvdata(to_pci_dev(mhi_dev->mhi_cntrl->cntrl_dev)); in qaic_boot_timesync_probe()
|
| H A D | qaic.h | 127 struct mhi_controller *mhi_cntrl; member
|
| /linux-6.15/drivers/pci/endpoint/functions/ |
| H A D | pci-epf-mhi.c | 773 struct mhi_ep_cntrl *mhi_cntrl = &epf_mhi->mhi_cntrl; in pci_epf_mhi_epc_deinit() local 776 if (mhi_cntrl->mhi_dev) { in pci_epf_mhi_epc_deinit() 790 struct mhi_ep_cntrl *mhi_cntrl = &epf_mhi->mhi_cntrl; in pci_epf_mhi_link_up() local 804 mhi_cntrl->read_sync = mhi_cntrl->read_async = pci_epf_mhi_iatu_read; in pci_epf_mhi_link_up() 805 mhi_cntrl->write_sync = mhi_cntrl->write_async = pci_epf_mhi_iatu_write; in pci_epf_mhi_link_up() 829 struct mhi_ep_cntrl *mhi_cntrl = &epf_mhi->mhi_cntrl; in pci_epf_mhi_link_down() local 831 if (mhi_cntrl->mhi_dev) { in pci_epf_mhi_link_down() 845 struct mhi_ep_cntrl *mhi_cntrl = &epf_mhi->mhi_cntrl; in pci_epf_mhi_bus_master_enable() local 853 if (!mhi_cntrl->enabled && mhi_cntrl->mhi_dev) { in pci_epf_mhi_bus_master_enable() 905 struct mhi_ep_cntrl *mhi_cntrl = &epf_mhi->mhi_cntrl; in pci_epf_mhi_unbind() local [all …]
|
| /linux-6.15/drivers/net/wireless/ath/ath11k/ |
| H A D | mhi.c | 233 static int ath11k_mhi_op_runtime_get(struct mhi_controller *mhi_cntrl) in ath11k_mhi_op_runtime_get() argument 238 static void ath11k_mhi_op_runtime_put(struct mhi_controller *mhi_cntrl) in ath11k_mhi_op_runtime_put() argument 268 static void ath11k_mhi_op_status_cb(struct mhi_controller *mhi_cntrl, in ath11k_mhi_op_status_cb() argument 271 struct ath11k_base *ab = dev_get_drvdata(mhi_cntrl->cntrl_dev); in ath11k_mhi_op_status_cb() 300 static int ath11k_mhi_op_read_reg(struct mhi_controller *mhi_cntrl, in ath11k_mhi_op_read_reg() argument 309 static void ath11k_mhi_op_write_reg(struct mhi_controller *mhi_cntrl, in ath11k_mhi_op_write_reg() argument
|
| /linux-6.15/drivers/net/wireless/ath/ath12k/ |
| H A D | mhi.c | 233 static int ath12k_mhi_op_runtime_get(struct mhi_controller *mhi_cntrl) in ath12k_mhi_op_runtime_get() argument 238 static void ath12k_mhi_op_runtime_put(struct mhi_controller *mhi_cntrl) in ath12k_mhi_op_runtime_put() argument 268 static void ath12k_mhi_op_status_cb(struct mhi_controller *mhi_cntrl, in ath12k_mhi_op_status_cb() argument 271 struct ath12k_base *ab = dev_get_drvdata(mhi_cntrl->cntrl_dev); in ath12k_mhi_op_status_cb() 298 static int ath12k_mhi_op_read_reg(struct mhi_controller *mhi_cntrl, in ath12k_mhi_op_read_reg() argument 307 static void ath12k_mhi_op_write_reg(struct mhi_controller *mhi_cntrl, in ath12k_mhi_op_write_reg() argument
|
| /linux-6.15/net/qrtr/ |
| H A D | mhi.c | 126 state = mhi_get_mhi_state(mhi_dev->mhi_cntrl); in qcom_mhi_qrtr_pm_suspend_late() 145 state = mhi_get_mhi_state(mhi_dev->mhi_cntrl); in qcom_mhi_qrtr_pm_resume_early()
|
| /linux-6.15/drivers/net/wwan/ |
| H A D | mhi_wwan_mbim.c | 608 struct mhi_controller *cntrl = mhi_dev->mhi_cntrl; in mhi_mbim_probe() 619 mbim->mru = mhi_dev->mhi_cntrl->mru ? mhi_dev->mhi_cntrl->mru : MHI_DEFAULT_MRU; in mhi_mbim_probe() 641 struct mhi_controller *cntrl = mhi_dev->mhi_cntrl; in mhi_mbim_remove()
|