Home
last modified time | relevance | path

Searched refs:mhi_cntrl (Results 1 – 24 of 24) sorted by relevance

/Linux-v6.6/drivers/bus/mhi/host/
Dpm.c111 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 …]
Dboot.c22 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 …]
Dinit.c87 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 …]
Dmain.c19 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 …]
Ddebugfs.c17 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 …]
Dinternal.h117 #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 …]
Dpci_generic.c678 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/
Dmmio.c13 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 …]
Dmain.c25 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 …]
Dsm.c11 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 …]
Dinternal.h125 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 …]
Dring.c31 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/
Dmhi_controller.c405 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 …]
Dmhi_controller.h12 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);
Dqaic_drv.c283 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()
Dqaic.h108 struct mhi_controller *mhi_cntrl; member
/Linux-v6.6/drivers/pci/endpoint/functions/
Dpci-epf-mhi.c120 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/
Dmhi.h437 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 …]
Dmhi_ep.h132 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/
Dmhi.c288 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/
Dmhi.c278 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/
Dmhi_wwan_mbim.c597 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()
Dmhi_wwan_ctrl.c217 struct mhi_controller *cntrl = mhi_dev->mhi_cntrl; in mhi_wwan_ctrl_probe()
/Linux-v6.6/drivers/net/
Dmhi_net.c315 mhi_netdev->mru = mhi_dev->mhi_cntrl->mru; in mhi_net_newlink()