Home
last modified time | relevance | path

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

/openbmc/linux/drivers/bus/mhi/host/
H A Dpm.c119 enum mhi_pm_state __must_check mhi_tryset_pm_state(struct mhi_controller *mhi_cntrl, in mhi_tryset_pm_state() argument
122 unsigned long cur_state = mhi_cntrl->pm_state; in mhi_tryset_pm_state()
134 mhi_cntrl->pm_state = state; in mhi_tryset_pm_state()
135 return mhi_cntrl->pm_state; in mhi_tryset_pm_state()
138 void mhi_set_mhi_state(struct mhi_controller *mhi_cntrl, enum mhi_state state) in mhi_set_mhi_state() argument
140 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_set_mhi_state()
144 ret = mhi_write_reg_field(mhi_cntrl, mhi_cntrl->regs, MHICTRL, in mhi_set_mhi_state()
147 ret = mhi_write_reg_field(mhi_cntrl, mhi_cntrl->regs, MHICTRL, in mhi_set_mhi_state()
157 static void mhi_toggle_dev_wake_nop(struct mhi_controller *mhi_cntrl) in mhi_toggle_dev_wake_nop() argument
161 static void mhi_toggle_dev_wake(struct mhi_controller *mhi_cntrl) in mhi_toggle_dev_wake() argument
[all …]
H A 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 …]
H A Dinit.c88 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; in serial_number_show() local
91 mhi_cntrl->serial_number); in serial_number_show()
100 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; in oem_pk_hash_show() local
103 for (i = 0; i < ARRAY_SIZE(mhi_cntrl->oem_pk_hash); i++) in oem_pk_hash_show()
105 i, mhi_cntrl->oem_pk_hash[i]); in oem_pk_hash_show()
117 struct mhi_controller *mhi_cntrl = mhi_dev->mhi_cntrl; in soc_reset_store() local
119 mhi_soc_reset(mhi_cntrl); in soc_reset_store()
133 static int mhi_alloc_aligned_ring(struct mhi_controller *mhi_cntrl, in mhi_alloc_aligned_ring() argument
138 ring->pre_aligned = dma_alloc_coherent(mhi_cntrl->cntrl_dev, ring->alloc_size, in mhi_alloc_aligned_ring()
149 void mhi_deinit_free_irq(struct mhi_controller *mhi_cntrl) in mhi_deinit_free_irq() argument
[all …]
H A 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 …]
H A 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 …]
H A Dinternal.h120 #define MHI_DB_ACCESS_VALID(mhi_cntrl) (mhi_cntrl->pm_state & mhi_cntrl->db_access) argument
148 void (*process_db)(struct mhi_controller *mhi_cntrl,
196 struct mhi_controller *mhi_cntrl; member
208 int (*process_event)(struct mhi_controller *mhi_cntrl,
252 void mhi_create_debugfs(struct mhi_controller *mhi_cntrl);
253 void mhi_destroy_debugfs(struct mhi_controller *mhi_cntrl);
257 static inline void mhi_create_debugfs(struct mhi_controller *mhi_cntrl) in mhi_create_debugfs() argument
261 static inline void mhi_destroy_debugfs(struct mhi_controller *mhi_cntrl) in mhi_destroy_debugfs() argument
274 struct mhi_device *mhi_alloc_device(struct mhi_controller *mhi_cntrl);
277 void mhi_create_devices(struct mhi_controller *mhi_cntrl);
[all …]
H A Dpci_generic.c687 struct mhi_controller mhi_cntrl; member
694 static int mhi_pci_read_reg(struct mhi_controller *mhi_cntrl, in mhi_pci_read_reg() argument
701 static void mhi_pci_write_reg(struct mhi_controller *mhi_cntrl, in mhi_pci_write_reg() argument
707 static void mhi_pci_status_cb(struct mhi_controller *mhi_cntrl, in mhi_pci_status_cb() argument
710 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_status_cb()
727 static void mhi_pci_wake_get_nop(struct mhi_controller *mhi_cntrl, bool force) in mhi_pci_wake_get_nop() argument
732 static void mhi_pci_wake_put_nop(struct mhi_controller *mhi_cntrl, bool override) in mhi_pci_wake_put_nop() argument
737 static void mhi_pci_wake_toggle_nop(struct mhi_controller *mhi_cntrl) in mhi_pci_wake_toggle_nop() argument
742 static bool mhi_pci_is_alive(struct mhi_controller *mhi_cntrl) in mhi_pci_is_alive() argument
744 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_is_alive()
[all …]
/openbmc/linux/drivers/bus/mhi/ep/
H A 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 …]
H A 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 …]
H A 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 …]
H A Dinternal.h125 struct mhi_ep_cntrl *mhi_cntrl; member
172 void mhi_ep_ring_reset(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring);
173 int mhi_ep_ring_start(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring,
181 u32 mhi_ep_mmio_read(struct mhi_ep_cntrl *mhi_cntrl, u32 offset);
182 void mhi_ep_mmio_write(struct mhi_ep_cntrl *mhi_cntrl, u32 offset, u32 val);
183 void mhi_ep_mmio_masked_write(struct mhi_ep_cntrl *mhi_cntrl, u32 offset, u32 mask, u32 val);
185 void mhi_ep_mmio_enable_ctrl_interrupt(struct mhi_ep_cntrl *mhi_cntrl);
186 void mhi_ep_mmio_disable_ctrl_interrupt(struct mhi_ep_cntrl *mhi_cntrl);
187 void mhi_ep_mmio_enable_cmdb_interrupt(struct mhi_ep_cntrl *mhi_cntrl);
188 void mhi_ep_mmio_disable_cmdb_interrupt(struct mhi_ep_cntrl *mhi_cntrl);
[all …]
H A 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()
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()
165 int mhi_ep_ring_start(struct mhi_ep_cntrl *mhi_cntrl, struct mhi_ep_ring *ring, in mhi_ep_ring_start() argument
168 struct device *dev = &mhi_cntrl->mhi_dev->dev; in mhi_ep_ring_start()
[all …]
/openbmc/linux/drivers/accel/qaic/
H A Dmhi_controller.c405 static int mhi_read_reg(struct mhi_controller *mhi_cntrl, void __iomem *addr, u32 *out) in mhi_read_reg() argument
416 if (addr - mhi_cntrl->regs == 0x224) { in mhi_read_reg()
430 static void mhi_write_reg(struct mhi_controller *mhi_cntrl, void __iomem *addr, u32 val) in mhi_write_reg() argument
435 static int mhi_runtime_get(struct mhi_controller *mhi_cntrl) in mhi_runtime_get() argument
440 static void mhi_runtime_put(struct mhi_controller *mhi_cntrl) in mhi_runtime_put() argument
444 static void mhi_status_cb(struct mhi_controller *mhi_cntrl, enum mhi_callback reason) in mhi_status_cb() argument
446 struct qaic_device *qdev = pci_get_drvdata(to_pci_dev(mhi_cntrl->cntrl_dev)); in mhi_status_cb()
456 static int mhi_reset_and_async_power_up(struct mhi_controller *mhi_cntrl) in mhi_reset_and_async_power_up() argument
463 mhi_soc_reset(mhi_cntrl); in mhi_reset_and_async_power_up()
471 current_ee = mhi_get_exec_env(mhi_cntrl); in mhi_reset_and_async_power_up()
[all …]
H A 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);
H A 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()
H A Dqaic.h108 struct mhi_controller *mhi_cntrl; member
/openbmc/linux/drivers/pci/endpoint/functions/
H A 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 …]
/openbmc/linux/include/linux/
H A 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 …]
H A Dmhi_ep.h158 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);
166 int (*write_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);
[all …]
/openbmc/linux/drivers/net/wireless/ath/ath11k/
H A 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
/openbmc/linux/drivers/net/wireless/ath/ath12k/
H A 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
/openbmc/linux/drivers/net/wwan/
H A 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()
H A Dmhi_wwan_ctrl.c217 struct mhi_controller *cntrl = mhi_dev->mhi_cntrl; in mhi_wwan_ctrl_probe()
/openbmc/linux/drivers/net/
H A Dmhi_net.c315 mhi_netdev->mru = mhi_dev->mhi_cntrl->mru; in mhi_net_newlink()