/Linux-v6.6/drivers/bus/mhi/host/ |
D | pm.c | 111 enum mhi_pm_state __must_check mhi_tryset_pm_state(struct mhi_controller *mhi_cntrl, in mhi_tryset_pm_state() argument 114 unsigned long cur_state = mhi_cntrl->pm_state; in mhi_tryset_pm_state() 126 mhi_cntrl->pm_state = state; in mhi_tryset_pm_state() 127 return mhi_cntrl->pm_state; in mhi_tryset_pm_state() 130 void mhi_set_mhi_state(struct mhi_controller *mhi_cntrl, enum mhi_state state) in mhi_set_mhi_state() argument 132 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_set_mhi_state() 136 ret = mhi_write_reg_field(mhi_cntrl, mhi_cntrl->regs, MHICTRL, in mhi_set_mhi_state() 139 ret = mhi_write_reg_field(mhi_cntrl, mhi_cntrl->regs, MHICTRL, in mhi_set_mhi_state() 149 static void mhi_toggle_dev_wake_nop(struct mhi_controller *mhi_cntrl) in mhi_toggle_dev_wake_nop() argument 153 static void mhi_toggle_dev_wake(struct mhi_controller *mhi_cntrl) in mhi_toggle_dev_wake() argument [all …]
|
D | boot.c | 22 int mhi_rddm_prepare(struct mhi_controller *mhi_cntrl, in mhi_rddm_prepare() argument 27 void __iomem *base = mhi_cntrl->bhie; in mhi_rddm_prepare() 28 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_rddm_prepare() 40 mhi_write_reg(mhi_cntrl, base, BHIE_RXVECADDR_HIGH_OFFS, in mhi_rddm_prepare() 43 mhi_write_reg(mhi_cntrl, base, BHIE_RXVECADDR_LOW_OFFS, in mhi_rddm_prepare() 46 mhi_write_reg(mhi_cntrl, base, BHIE_RXVECSIZE_OFFS, mhi_buf->len); in mhi_rddm_prepare() 49 ret = mhi_write_reg_field(mhi_cntrl, base, BHIE_RXVECDB_OFFS, in mhi_rddm_prepare() 63 static int __mhi_download_rddm_in_panic(struct mhi_controller *mhi_cntrl) in __mhi_download_rddm_in_panic() argument 69 u32 retry = (mhi_cntrl->timeout_ms * 1000) / delayus; in __mhi_download_rddm_in_panic() 72 void __iomem *base = mhi_cntrl->bhie; in __mhi_download_rddm_in_panic() [all …]
|
D | init.c | 87 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; in serial_number_show() local 90 mhi_cntrl->serial_number); in serial_number_show() 99 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; in oem_pk_hash_show() local 102 for (i = 0; i < ARRAY_SIZE(mhi_cntrl->oem_pk_hash); i++) in oem_pk_hash_show() 104 i, mhi_cntrl->oem_pk_hash[i]); in oem_pk_hash_show() 116 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; in soc_reset_store() local 118 mhi_soc_reset(mhi_cntrl); in soc_reset_store() 132 static int mhi_alloc_aligned_ring(struct mhi_controller *mhi_cntrl, in mhi_alloc_aligned_ring() argument 137 ring->pre_aligned = dma_alloc_coherent(mhi_cntrl->cntrl_dev, ring->alloc_size, in mhi_alloc_aligned_ring() 148 void mhi_deinit_free_irq(struct mhi_controller *mhi_cntrl) in mhi_deinit_free_irq() argument [all …]
|
D | main.c | 19 int __must_check mhi_read_reg(struct mhi_controller *mhi_cntrl, in mhi_read_reg() argument 22 return mhi_cntrl->read_reg(mhi_cntrl, base + offset, out); in mhi_read_reg() 25 int __must_check mhi_read_reg_field(struct mhi_controller *mhi_cntrl, in mhi_read_reg_field() argument 32 ret = mhi_read_reg(mhi_cntrl, base, offset, &tmp); in mhi_read_reg_field() 41 int __must_check mhi_poll_reg_field(struct mhi_controller *mhi_cntrl, in mhi_poll_reg_field() argument 46 u32 out, retry = (mhi_cntrl->timeout_ms * 1000) / delayus; in mhi_poll_reg_field() 49 ret = mhi_read_reg_field(mhi_cntrl, base, offset, mask, &out); in mhi_poll_reg_field() 62 void mhi_write_reg(struct mhi_controller *mhi_cntrl, void __iomem *base, in mhi_write_reg() argument 65 mhi_cntrl->write_reg(mhi_cntrl, base + offset, val); in mhi_write_reg() 68 int __must_check mhi_write_reg_field(struct mhi_controller *mhi_cntrl, in mhi_write_reg_field() argument [all …]
|
D | debugfs.c | 17 struct mhi_controller *mhi_cntrl = m->private; in mhi_debugfs_states_show() local 21 to_mhi_pm_state_str(mhi_cntrl->pm_state), in mhi_debugfs_states_show() 22 mhi_is_active(mhi_cntrl) ? "Active" : "Inactive", in mhi_debugfs_states_show() 23 mhi_state_str(mhi_cntrl->dev_state), in mhi_debugfs_states_show() 24 TO_MHI_EXEC_STR(mhi_cntrl->ee), in mhi_debugfs_states_show() 25 mhi_cntrl->wake_set ? "true" : "false"); 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() 32 atomic_read(&mhi_cntrl->dev_wake), in mhi_debugfs_states_show() 33 atomic_read(&mhi_cntrl->pending_pkts)); in mhi_debugfs_states_show() [all …]
|
D | internal.h | 117 #define MHI_DB_ACCESS_VALID(mhi_cntrl) (mhi_cntrl->pm_state & mhi_cntrl->db_access) argument 145 void (*process_db)(struct mhi_controller *mhi_cntrl, 193 struct mhi_controller *mhi_cntrl; member 205 int (*process_event)(struct mhi_controller *mhi_cntrl, 249 void mhi_create_debugfs(struct mhi_controller *mhi_cntrl); 250 void mhi_destroy_debugfs(struct mhi_controller *mhi_cntrl); 254 static inline void mhi_create_debugfs(struct mhi_controller *mhi_cntrl) in mhi_create_debugfs() argument 258 static inline void mhi_destroy_debugfs(struct mhi_controller *mhi_cntrl) in mhi_destroy_debugfs() argument 271 struct mhi_device *mhi_alloc_device(struct mhi_controller *mhi_cntrl); 274 void mhi_create_devices(struct mhi_controller *mhi_cntrl); [all …]
|
D | pci_generic.c | 678 struct mhi_controller mhi_cntrl; member 685 static int mhi_pci_read_reg(struct mhi_controller *mhi_cntrl, in mhi_pci_read_reg() argument 692 static void mhi_pci_write_reg(struct mhi_controller *mhi_cntrl, in mhi_pci_write_reg() argument 698 static void mhi_pci_status_cb(struct mhi_controller *mhi_cntrl, in mhi_pci_status_cb() argument 701 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_status_cb() 718 static void mhi_pci_wake_get_nop(struct mhi_controller *mhi_cntrl, bool force) in mhi_pci_wake_get_nop() argument 723 static void mhi_pci_wake_put_nop(struct mhi_controller *mhi_cntrl, bool override) in mhi_pci_wake_put_nop() argument 728 static void mhi_pci_wake_toggle_nop(struct mhi_controller *mhi_cntrl) in mhi_pci_wake_toggle_nop() argument 733 static bool mhi_pci_is_alive(struct mhi_controller *mhi_cntrl) in mhi_pci_is_alive() argument 735 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_is_alive() [all …]
|
/Linux-v6.6/drivers/bus/mhi/ep/ |
D | mmio.c | 13 u32 mhi_ep_mmio_read(struct mhi_ep_cntrl *mhi_cntrl, u32 offset) in mhi_ep_mmio_read() argument 15 return readl(mhi_cntrl->mmio + offset); in mhi_ep_mmio_read() 18 void mhi_ep_mmio_write(struct mhi_ep_cntrl *mhi_cntrl, u32 offset, u32 val) in mhi_ep_mmio_write() argument 20 writel(val, mhi_cntrl->mmio + offset); in mhi_ep_mmio_write() 23 void mhi_ep_mmio_masked_write(struct mhi_ep_cntrl *mhi_cntrl, u32 offset, u32 mask, u32 val) in mhi_ep_mmio_masked_write() argument 27 regval = mhi_ep_mmio_read(mhi_cntrl, offset); in mhi_ep_mmio_masked_write() 30 mhi_ep_mmio_write(mhi_cntrl, offset, regval); in mhi_ep_mmio_masked_write() 44 void mhi_ep_mmio_get_mhi_state(struct mhi_ep_cntrl *mhi_cntrl, enum mhi_state *state, in mhi_ep_mmio_get_mhi_state() argument 49 regval = mhi_ep_mmio_read(mhi_cntrl, EP_MHICTRL); in mhi_ep_mmio_get_mhi_state() 54 static void mhi_ep_mmio_set_chdb(struct mhi_ep_cntrl *mhi_cntrl, u32 ch_id, bool enable) in mhi_ep_mmio_set_chdb() argument [all …]
|
D | main.c | 25 static int mhi_ep_create_device(struct mhi_ep_cntrl *mhi_cntrl, u32 ch_id); 28 static int mhi_ep_send_event(struct mhi_ep_cntrl *mhi_cntrl, u32 ring_idx, in mhi_ep_send_event() argument 31 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_ep_send_event() 36 mutex_lock(&mhi_cntrl->event_lock); in mhi_ep_send_event() 37 ring = &mhi_cntrl->mhi_event[ring_idx].ring; in mhi_ep_send_event() 38 ctx = (union mhi_ep_ring_ctx *)&mhi_cntrl->ev_ctx_cache[ring_idx]; in mhi_ep_send_event() 40 ret = mhi_ep_ring_start(mhi_cntrl, ring, ctx); in mhi_ep_send_event() 54 mutex_unlock(&mhi_cntrl->event_lock); in mhi_ep_send_event() 61 mhi_cntrl->raise_irq(mhi_cntrl, ring->irq_vector); in mhi_ep_send_event() 66 mutex_unlock(&mhi_cntrl->event_lock); in mhi_ep_send_event() [all …]
|
D | sm.c | 11 bool __must_check mhi_ep_check_mhi_state(struct mhi_ep_cntrl *mhi_cntrl, in mhi_ep_check_mhi_state() argument 30 int mhi_ep_set_mhi_state(struct mhi_ep_cntrl *mhi_cntrl, enum mhi_state mhi_state) in mhi_ep_set_mhi_state() argument 32 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_ep_set_mhi_state() 34 if (!mhi_ep_check_mhi_state(mhi_cntrl, mhi_cntrl->mhi_state, mhi_state)) { in mhi_ep_set_mhi_state() 37 mhi_state_str(mhi_cntrl->mhi_state)); in mhi_ep_set_mhi_state() 47 mhi_ep_mmio_masked_write(mhi_cntrl, EP_MHISTATUS, MHISTATUS_MHISTATE_MASK, mhi_state); in mhi_ep_set_mhi_state() 48 mhi_cntrl->mhi_state = mhi_state; in mhi_ep_set_mhi_state() 51 mhi_ep_mmio_masked_write(mhi_cntrl, EP_MHISTATUS, MHISTATUS_READY_MASK, 1); in mhi_ep_set_mhi_state() 54 mhi_ep_mmio_masked_write(mhi_cntrl, EP_MHISTATUS, MHISTATUS_SYSERR_MASK, 1); in mhi_ep_set_mhi_state() 59 int mhi_ep_set_m0_state(struct mhi_ep_cntrl *mhi_cntrl) in mhi_ep_set_m0_state() argument [all …]
|
D | internal.h | 125 struct mhi_ep_cntrl *mhi_cntrl; member 171 void mhi_ep_ring_reset(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring); 172 int mhi_ep_ring_start(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring, 180 u32 mhi_ep_mmio_read(struct mhi_ep_cntrl *mhi_cntrl, u32 offset); 181 void mhi_ep_mmio_write(struct mhi_ep_cntrl *mhi_cntrl, u32 offset, u32 val); 182 void mhi_ep_mmio_masked_write(struct mhi_ep_cntrl *mhi_cntrl, u32 offset, u32 mask, u32 val); 184 void mhi_ep_mmio_enable_ctrl_interrupt(struct mhi_ep_cntrl *mhi_cntrl); 185 void mhi_ep_mmio_disable_ctrl_interrupt(struct mhi_ep_cntrl *mhi_cntrl); 186 void mhi_ep_mmio_enable_cmdb_interrupt(struct mhi_ep_cntrl *mhi_cntrl); 187 void mhi_ep_mmio_disable_cmdb_interrupt(struct mhi_ep_cntrl *mhi_cntrl); [all …]
|
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() 47 ret = mhi_cntrl->read_from_host(mhi_cntrl, ring->rbase + in __mhi_ep_cache_ring() 54 ret = mhi_cntrl->read_from_host(mhi_cntrl, ring->rbase + in __mhi_ep_cache_ring() 61 ret = mhi_cntrl->read_from_host(mhi_cntrl, ring->rbase, in __mhi_ep_cache_ring() 103 struct mhi_ep_cntrl *mhi_cntrl = ring->mhi_cntrl; in mhi_ep_ring_add_element() local 104 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_ep_ring_add_element() 136 ret = mhi_cntrl->write_to_host(mhi_cntrl, el, ring->rbase + (old_offset * sizeof(*el)), in mhi_ep_ring_add_element() 160 int mhi_ep_ring_start(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring, in mhi_ep_ring_start() argument 163 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_ep_ring_start() [all …]
|
/Linux-v6.6/drivers/accel/qaic/ |
D | mhi_controller.c | 405 static int mhi_read_reg(struct mhi_controller *mhi_cntrl, void __iomem *addr, u32 *out) in mhi_read_reg() argument 417 static void mhi_write_reg(struct mhi_controller *mhi_cntrl, void __iomem *addr, u32 val) in mhi_write_reg() argument 422 static int mhi_runtime_get(struct mhi_controller *mhi_cntrl) in mhi_runtime_get() argument 427 static void mhi_runtime_put(struct mhi_controller *mhi_cntrl) in mhi_runtime_put() argument 431 static void mhi_status_cb(struct mhi_controller *mhi_cntrl, enum mhi_callback reason) in mhi_status_cb() argument 433 struct qaic_device *qdev = pci_get_drvdata(to_pci_dev(mhi_cntrl->cntrl_dev)); in mhi_status_cb() 443 static int mhi_reset_and_async_power_up(struct mhi_controller *mhi_cntrl) in mhi_reset_and_async_power_up() argument 450 mhi_soc_reset(mhi_cntrl); in mhi_reset_and_async_power_up() 458 current_ee = mhi_get_exec_env(mhi_cntrl); in mhi_reset_and_async_power_up() 463 ret = mhi_async_power_up(mhi_cntrl); in mhi_reset_and_async_power_up() [all …]
|
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);
|
D | qaic_drv.c | 283 qdev = pci_get_drvdata(to_pci_dev(mhi_dev->mhi_cntrl->cntrl_dev)); in qaic_mhi_probe() 499 qdev->mhi_cntrl = qaic_mhi_register_controller(pdev, qdev->bar_0, mhi_irq); in qaic_pci_probe() 500 if (IS_ERR(qdev->mhi_cntrl)) { in qaic_pci_probe() 501 ret = PTR_ERR(qdev->mhi_cntrl); in qaic_pci_probe() 520 qaic_mhi_free_controller(qdev->mhi_cntrl, link_up); in qaic_pci_remove() 541 qaic_mhi_start_reset(qdev->mhi_cntrl); in qaic_pci_reset_prepare() 550 qaic_mhi_reset_done(qdev->mhi_cntrl); in qaic_pci_reset_done()
|
D | qaic.h | 108 struct mhi_controller *mhi_cntrl; member
|
/Linux-v6.6/drivers/pci/endpoint/functions/ |
D | pci-epf-mhi.c | 120 struct mhi_ep_cntrl mhi_cntrl; member 136 static int __pci_epf_mhi_alloc_map(struct mhi_ep_cntrl *mhi_cntrl, u64 pci_addr, in __pci_epf_mhi_alloc_map() argument 140 struct pci_epf_mhi *epf_mhi = to_epf_mhi(mhi_cntrl); in __pci_epf_mhi_alloc_map() 162 static int pci_epf_mhi_alloc_map(struct mhi_ep_cntrl *mhi_cntrl, u64 pci_addr, in pci_epf_mhi_alloc_map() argument 166 struct pci_epf_mhi *epf_mhi = to_epf_mhi(mhi_cntrl); in pci_epf_mhi_alloc_map() 169 return __pci_epf_mhi_alloc_map(mhi_cntrl, pci_addr, paddr, vaddr, in pci_epf_mhi_alloc_map() 173 static void __pci_epf_mhi_unmap_free(struct mhi_ep_cntrl *mhi_cntrl, in __pci_epf_mhi_unmap_free() argument 178 struct pci_epf_mhi *epf_mhi = to_epf_mhi(mhi_cntrl); in __pci_epf_mhi_unmap_free() 187 static void pci_epf_mhi_unmap_free(struct mhi_ep_cntrl *mhi_cntrl, u64 pci_addr, in pci_epf_mhi_unmap_free() argument 191 struct pci_epf_mhi *epf_mhi = to_epf_mhi(mhi_cntrl); in pci_epf_mhi_unmap_free() [all …]
|
/Linux-v6.6/include/linux/ |
D | mhi.h | 437 void (*status_cb)(struct mhi_controller *mhi_cntrl, 439 void (*wake_get)(struct mhi_controller *mhi_cntrl, bool override); 440 void (*wake_put)(struct mhi_controller *mhi_cntrl, bool override); 441 void (*wake_toggle)(struct mhi_controller *mhi_cntrl); 442 int (*runtime_get)(struct mhi_controller *mhi_cntrl); 443 void (*runtime_put)(struct mhi_controller *mhi_cntrl); 444 int (*map_single)(struct mhi_controller *mhi_cntrl, 446 void (*unmap_single)(struct mhi_controller *mhi_cntrl, 448 int (*read_reg)(struct mhi_controller *mhi_cntrl, void __iomem *addr, 450 void (*write_reg)(struct mhi_controller *mhi_cntrl, void __iomem *addr, [all …]
|
D | mhi_ep.h | 132 void (*raise_irq)(struct mhi_ep_cntrl *mhi_cntrl, u32 vector); 133 int (*alloc_map)(struct mhi_ep_cntrl *mhi_cntrl, u64 pci_addr, phys_addr_t *phys_ptr, 135 void (*unmap_free)(struct mhi_ep_cntrl *mhi_cntrl, u64 pci_addr, phys_addr_t phys, 137 int (*read_from_host)(struct mhi_ep_cntrl *mhi_cntrl, u64 from, void *to, size_t size); 138 int (*write_to_host)(struct mhi_ep_cntrl *mhi_cntrl, void *from, u64 to, size_t size); 166 struct mhi_ep_cntrl *mhi_cntrl; member 236 int mhi_ep_register_controller(struct mhi_ep_cntrl *mhi_cntrl, 243 void mhi_ep_unregister_controller(struct mhi_ep_cntrl *mhi_cntrl); 251 int mhi_ep_power_up(struct mhi_ep_cntrl *mhi_cntrl); 257 void mhi_ep_power_down(struct mhi_ep_cntrl *mhi_cntrl);
|
/Linux-v6.6/drivers/net/wireless/ath/ath11k/ |
D | mhi.c | 288 static int ath11k_mhi_op_runtime_get(struct mhi_controller *mhi_cntrl) in ath11k_mhi_op_runtime_get() argument 293 static void ath11k_mhi_op_runtime_put(struct mhi_controller *mhi_cntrl) in ath11k_mhi_op_runtime_put() argument 323 static void ath11k_mhi_op_status_cb(struct mhi_controller *mhi_cntrl, in ath11k_mhi_op_status_cb() argument 326 struct ath11k_base *ab = dev_get_drvdata(mhi_cntrl->cntrl_dev); in ath11k_mhi_op_status_cb() 344 static int ath11k_mhi_op_read_reg(struct mhi_controller *mhi_cntrl, in ath11k_mhi_op_read_reg() argument 353 static void ath11k_mhi_op_write_reg(struct mhi_controller *mhi_cntrl, in ath11k_mhi_op_write_reg() argument
|
/Linux-v6.6/drivers/net/wireless/ath/ath12k/ |
D | mhi.c | 278 static int ath12k_mhi_op_runtime_get(struct mhi_controller *mhi_cntrl) in ath12k_mhi_op_runtime_get() argument 283 static void ath12k_mhi_op_runtime_put(struct mhi_controller *mhi_cntrl) in ath12k_mhi_op_runtime_put() argument 313 static void ath12k_mhi_op_status_cb(struct mhi_controller *mhi_cntrl, in ath12k_mhi_op_status_cb() argument 316 struct ath12k_base *ab = dev_get_drvdata(mhi_cntrl->cntrl_dev); in ath12k_mhi_op_status_cb() 334 static int ath12k_mhi_op_read_reg(struct mhi_controller *mhi_cntrl, in ath12k_mhi_op_read_reg() argument 343 static void ath12k_mhi_op_write_reg(struct mhi_controller *mhi_cntrl, in ath12k_mhi_op_write_reg() argument
|
/Linux-v6.6/drivers/net/wwan/ |
D | mhi_wwan_mbim.c | 597 struct mhi_controller *cntrl = mhi_dev->mhi_cntrl; in mhi_mbim_probe() 608 mbim->mru = mhi_dev->mhi_cntrl->mru ? mhi_dev->mhi_cntrl->mru : MHI_DEFAULT_MRU; in mhi_mbim_probe() 627 struct mhi_controller *cntrl = mhi_dev->mhi_cntrl; in mhi_mbim_remove()
|
D | mhi_wwan_ctrl.c | 217 struct mhi_controller *cntrl = mhi_dev->mhi_cntrl; in mhi_wwan_ctrl_probe()
|
/Linux-v6.6/drivers/net/ |
D | mhi_net.c | 315 mhi_netdev->mru = mhi_dev->mhi_cntrl->mru; in mhi_net_newlink()
|