/openbmc/linux/drivers/net/wwan/t7xx/ |
H A D | t7xx_pci.c | 62 static void t7xx_dev_set_sleep_capability(struct t7xx_pci_dev *t7xx_dev, bool enable) in t7xx_dev_set_sleep_capability() argument 64 void __iomem *ctrl_reg = IREG_BASE(t7xx_dev) + T7XX_PCIE_MISC_CTRL; in t7xx_dev_set_sleep_capability() 77 static int t7xx_wait_pm_config(struct t7xx_pci_dev *t7xx_dev) in t7xx_wait_pm_config() argument 84 IREG_BASE(t7xx_dev) + T7XX_PCIE_RESOURCE_STATUS); in t7xx_wait_pm_config() 86 dev_err(&t7xx_dev->pdev->dev, "PM configuration timed out\n"); in t7xx_wait_pm_config() 91 static int t7xx_pci_pm_init(struct t7xx_pci_dev *t7xx_dev) in t7xx_pci_pm_init() argument 93 struct pci_dev *pdev = t7xx_dev->pdev; in t7xx_pci_pm_init() 95 INIT_LIST_HEAD(&t7xx_dev->md_pm_entities); in t7xx_pci_pm_init() 96 mutex_init(&t7xx_dev->md_pm_entity_mtx); in t7xx_pci_pm_init() 97 spin_lock_init(&t7xx_dev->md_pm_lock); in t7xx_pci_pm_init() [all …]
|
H A D | t7xx_mhccif.c | 32 static void t7xx_mhccif_clear_interrupts(struct t7xx_pci_dev *t7xx_dev, u32 mask) in t7xx_mhccif_clear_interrupts() argument 34 void __iomem *mhccif_pbase = t7xx_dev->base_addr.mhccif_rc_base; in t7xx_mhccif_clear_interrupts() 39 t7xx_mhccif_read_sw_int_sts(t7xx_dev); in t7xx_mhccif_clear_interrupts() 41 t7xx_pcie_mac_clear_int_status(t7xx_dev, MHCCIF_INT); in t7xx_mhccif_clear_interrupts() 46 struct t7xx_pci_dev *t7xx_dev = data; in t7xx_mhccif_isr_thread() local 50 iowrite32(val, IREG_BASE(t7xx_dev) + DISABLE_ASPM_LOWPWR); in t7xx_mhccif_isr_thread() 52 int_status = t7xx_mhccif_read_sw_int_sts(t7xx_dev); in t7xx_mhccif_isr_thread() 54 int ret = t7xx_pci_mhccif_isr(t7xx_dev); in t7xx_mhccif_isr_thread() 57 dev_err(&t7xx_dev->pdev->dev, "PCI MHCCIF ISR failure: %d", ret); in t7xx_mhccif_isr_thread() 60 t7xx_mhccif_clear_interrupts(t7xx_dev, int_status); in t7xx_mhccif_isr_thread() [all …]
|
H A D | t7xx_modem_ops.c | 65 static unsigned int t7xx_get_interrupt_status(struct t7xx_pci_dev *t7xx_dev) in t7xx_get_interrupt_status() argument 67 return t7xx_mhccif_read_sw_int_sts(t7xx_dev) & D2H_SW_INT_MASK; in t7xx_get_interrupt_status() 80 int t7xx_pci_mhccif_isr(struct t7xx_pci_dev *t7xx_dev) in t7xx_pci_mhccif_isr() argument 82 struct t7xx_modem *md = t7xx_dev->md; in t7xx_pci_mhccif_isr() 90 dev_err_ratelimited(&t7xx_dev->pdev->dev, in t7xx_pci_mhccif_isr() 96 int_sta = t7xx_get_interrupt_status(t7xx_dev); in t7xx_pci_mhccif_isr() 113 mask = t7xx_mhccif_mask_get(t7xx_dev); in t7xx_pci_mhccif_isr() 124 static void t7xx_clr_device_irq_via_pcie(struct t7xx_pci_dev *t7xx_dev) in t7xx_clr_device_irq_via_pcie() argument 126 struct t7xx_addr_base *pbase_addr = &t7xx_dev->base_addr; in t7xx_clr_device_irq_via_pcie() 136 void t7xx_clear_rgu_irq(struct t7xx_pci_dev *t7xx_dev) in t7xx_clear_rgu_irq() argument [all …]
|
H A D | t7xx_pcie_mac.c | 82 static int t7xx_pcie_mac_atr_cfg(struct t7xx_pci_dev *t7xx_dev, struct t7xx_atr_config *cfg) in t7xx_pcie_mac_atr_cfg() argument 84 struct device *dev = &t7xx_dev->pdev->dev; in t7xx_pcie_mac_atr_cfg() 85 void __iomem *pbase = IREG_BASE(t7xx_dev); in t7xx_pcie_mac_atr_cfg() 135 void t7xx_pcie_mac_atr_init(struct t7xx_pci_dev *t7xx_dev) in t7xx_pcie_mac_atr_init() argument 142 t7xx_pcie_mac_atr_tables_dis(IREG_BASE(t7xx_dev), i); in t7xx_pcie_mac_atr_init() 146 cfg.src_addr = pci_resource_start(t7xx_dev->pdev, T7XX_PCIE_REG_BAR); in t7xx_pcie_mac_atr_init() 152 t7xx_pcie_mac_atr_tables_dis(IREG_BASE(t7xx_dev), cfg.port); in t7xx_pcie_mac_atr_init() 153 t7xx_pcie_mac_atr_cfg(t7xx_dev, &cfg); in t7xx_pcie_mac_atr_init() 155 t7xx_dev->base_addr.pcie_dev_reg_trsl_addr = T7XX_PCIE_REG_TRSL_ADDR_CHIP; in t7xx_pcie_mac_atr_init() 166 t7xx_pcie_mac_atr_tables_dis(IREG_BASE(t7xx_dev), cfg.port); in t7xx_pcie_mac_atr_init() [all …]
|
H A D | t7xx_pcie_mac.h | 21 #define IREG_BASE(t7xx_dev) ((t7xx_dev)->base_addr.pcie_mac_ireg_base) argument 23 void t7xx_pcie_mac_interrupts_en(struct t7xx_pci_dev *t7xx_dev); 24 void t7xx_pcie_mac_interrupts_dis(struct t7xx_pci_dev *t7xx_dev); 25 void t7xx_pcie_mac_atr_init(struct t7xx_pci_dev *t7xx_dev); 26 void t7xx_pcie_mac_clear_int(struct t7xx_pci_dev *t7xx_dev, enum t7xx_int int_type); 27 void t7xx_pcie_mac_set_int(struct t7xx_pci_dev *t7xx_dev, enum t7xx_int int_type); 28 void t7xx_pcie_mac_clear_int_status(struct t7xx_pci_dev *t7xx_dev, enum t7xx_int int_type); 29 void t7xx_pcie_set_mac_msix_cfg(struct t7xx_pci_dev *t7xx_dev, unsigned int irq_count);
|
H A D | t7xx_pci.h | 108 int (*suspend)(struct t7xx_pci_dev *t7xx_dev, void *entity_param); 109 void (*suspend_late)(struct t7xx_pci_dev *t7xx_dev, void *entity_param); 110 void (*resume_early)(struct t7xx_pci_dev *t7xx_dev, void *entity_param); 111 int (*resume)(struct t7xx_pci_dev *t7xx_dev, void *entity_param); 116 void t7xx_pci_disable_sleep(struct t7xx_pci_dev *t7xx_dev); 117 void t7xx_pci_enable_sleep(struct t7xx_pci_dev *t7xx_dev); 118 int t7xx_pci_sleep_disable_complete(struct t7xx_pci_dev *t7xx_dev); 119 int t7xx_pci_pm_entity_register(struct t7xx_pci_dev *t7xx_dev, struct md_pm_entity *pm_entity); 120 int t7xx_pci_pm_entity_unregister(struct t7xx_pci_dev *t7xx_dev, struct md_pm_entity *pm_entity); 121 void t7xx_pci_pm_init_late(struct t7xx_pci_dev *t7xx_dev); [all …]
|
H A D | t7xx_modem_ops.h | 67 struct t7xx_pci_dev *t7xx_dev; member 83 int t7xx_md_reset(struct t7xx_pci_dev *t7xx_dev); 84 int t7xx_md_init(struct t7xx_pci_dev *t7xx_dev); 85 void t7xx_md_exit(struct t7xx_pci_dev *t7xx_dev); 86 void t7xx_clear_rgu_irq(struct t7xx_pci_dev *t7xx_dev); 87 int t7xx_acpi_fldr_func(struct t7xx_pci_dev *t7xx_dev); 88 int t7xx_pci_mhccif_isr(struct t7xx_pci_dev *t7xx_dev);
|
H A D | t7xx_mhccif.h | 31 void t7xx_mhccif_mask_set(struct t7xx_pci_dev *t7xx_dev, u32 val); 32 void t7xx_mhccif_mask_clr(struct t7xx_pci_dev *t7xx_dev, u32 val); 33 u32 t7xx_mhccif_mask_get(struct t7xx_pci_dev *t7xx_dev); 34 void t7xx_mhccif_init(struct t7xx_pci_dev *t7xx_dev); 35 u32 t7xx_mhccif_read_sw_int_sts(struct t7xx_pci_dev *t7xx_dev); 36 void t7xx_mhccif_h2d_swint_trigger(struct t7xx_pci_dev *t7xx_dev, u32 channel);
|
H A D | t7xx_hif_dpmaif.c | 65 t7xx_pcie_mac_set_int(dpmaif_ctrl->t7xx_dev, isr_para->pcie_int); in t7xx_dpmaif_enable_irq() 76 t7xx_pcie_mac_clear_int(dpmaif_ctrl->t7xx_dev, isr_para->pcie_int); in t7xx_dpmaif_disable_irq() 96 t7xx_pcie_mac_clear_int_status(dpmaif_ctrl->t7xx_dev, isr_para->pcie_int); in t7xx_dpmaif_irq_cb() 154 t7xx_pcie_mac_clear_int(dpmaif_ctrl->t7xx_dev, isr_para->pcie_int); in t7xx_dpmaif_isr_handler() 165 t7xx_pcie_mac_set_int(dpmaif_ctrl->t7xx_dev, isr_para->pcie_int); in t7xx_dpmaif_isr_thread() 187 struct t7xx_pci_dev *t7xx_dev = dpmaif_ctrl->t7xx_dev; in t7xx_dpmaif_register_pcie_irq() local 197 t7xx_pcie_mac_clear_int(t7xx_dev, int_type); in t7xx_dpmaif_register_pcie_irq() 199 t7xx_dev->intr_handler[int_type] = t7xx_dpmaif_isr_handler; in t7xx_dpmaif_register_pcie_irq() 200 t7xx_dev->intr_thread[int_type] = t7xx_dpmaif_isr_thread; in t7xx_dpmaif_register_pcie_irq() 201 t7xx_dev->callback_param[int_type] = isr_para; in t7xx_dpmaif_register_pcie_irq() [all …]
|
H A D | t7xx_netdev.c | 392 static void init_md_status_notifier(struct t7xx_pci_dev *t7xx_dev) in init_md_status_notifier() argument 394 struct t7xx_ccmni_ctrl *ctlb = t7xx_dev->ccmni_ctlb; in init_md_status_notifier() 402 t7xx_fsm_notifier_register(t7xx_dev->md, md_status_notifier); in init_md_status_notifier() 460 static void t7xx_ccmni_queue_state_notify(struct t7xx_pci_dev *t7xx_dev, in t7xx_ccmni_queue_state_notify() argument 463 struct t7xx_ccmni_ctrl *ctlb = t7xx_dev->ccmni_ctlb; in t7xx_ccmni_queue_state_notify() 469 dev_warn(&t7xx_dev->pdev->dev, "No netdev registered yet\n"); in t7xx_ccmni_queue_state_notify() 479 int t7xx_ccmni_init(struct t7xx_pci_dev *t7xx_dev) in t7xx_ccmni_init() argument 481 struct device *dev = &t7xx_dev->pdev->dev; in t7xx_ccmni_init() 488 t7xx_dev->ccmni_ctlb = ctlb; in t7xx_ccmni_init() 489 ctlb->t7xx_dev = t7xx_dev; in t7xx_ccmni_init() [all …]
|
H A D | t7xx_state_monitor.c | 125 struct device *dev = &ctl->md->t7xx_dev->pdev->dev; in fsm_flush_event_cmd_qs() 179 struct device *dev = &ctl->md->t7xx_dev->pdev->dev; in fsm_routine_exception() 198 t7xx_pci_pm_exp_detected(ctl->md->t7xx_dev); in fsm_routine_exception() 221 return t7xx_md_reset(ctl->md->t7xx_dev); in fsm_stopped_handler() 236 struct t7xx_pci_dev *t7xx_dev; in fsm_routine_stopping() local 246 t7xx_dev = ctl->md->t7xx_dev; in fsm_routine_stopping() 253 t7xx_mhccif_h2d_swint_trigger(t7xx_dev, H2D_CH_DRM_DISABLE_AP); in fsm_routine_stopping() 257 err = t7xx_acpi_fldr_func(t7xx_dev); in fsm_routine_stopping() 259 t7xx_mhccif_h2d_swint_trigger(t7xx_dev, H2D_CH_DEVICE_RESET); in fsm_routine_stopping() 298 dev = &md->t7xx_dev->pdev->dev; in fsm_routine_starting() [all …]
|
H A D | t7xx_port_proxy.c | 154 struct t7xx_fsm_ctl *ctl = port->t7xx_dev->md->fsm_ctl; in t7xx_port_get_queue_no() 223 md_ctrl = port->t7xx_dev->md->md_ctrl[path_id]; in t7xx_port_send_raw_skb() 277 struct t7xx_fsm_ctl *ctl = port->t7xx_dev->md->fsm_ctl; in t7xx_port_send_skb() 332 static struct t7xx_port *t7xx_port_proxy_find_port(struct t7xx_pci_dev *t7xx_dev, in t7xx_port_proxy_find_port() argument 335 struct port_proxy *port_prox = t7xx_dev->md->port_prox; in t7xx_port_proxy_find_port() 365 struct t7xx_pci_dev *t7xx_dev = queue->md_ctrl->t7xx_dev; in t7xx_port_proxy_recv_skb() local 366 struct t7xx_fsm_ctl *ctl = t7xx_dev->md->fsm_ctl; in t7xx_port_proxy_recv_skb() 379 port = t7xx_port_proxy_find_port(t7xx_dev, queue, channel); in t7xx_port_proxy_recv_skb() 442 port->t7xx_dev = md->t7xx_dev; in t7xx_proxy_init_all_ports() 443 port->dev = &md->t7xx_dev->pdev->dev; in t7xx_proxy_init_all_ports() [all …]
|
H A D | t7xx_hif_cldma.c | 542 t7xx_pcie_mac_set_int(md_ctrl->t7xx_dev, md_ctrl->hw_info.phy_interrupt_id); in t7xx_cldma_enable_irq() 547 t7xx_pcie_mac_clear_int(md_ctrl->t7xx_dev, md_ctrl->hw_info.phy_interrupt_id); in t7xx_cldma_disable_irq() 937 t7xx_pci_disable_sleep(md_ctrl->t7xx_dev); in t7xx_cldma_send_skb() 959 if (!t7xx_pci_sleep_disable_complete(md_ctrl->t7xx_dev)) { in t7xx_cldma_send_skb() 976 if (!t7xx_pci_sleep_disable_complete(md_ctrl->t7xx_dev)) { in t7xx_cldma_send_skb() 991 t7xx_pci_enable_sleep(md_ctrl->t7xx_dev); in t7xx_cldma_send_skb() 1066 struct t7xx_addr_base *pbase = &md_ctrl->t7xx_dev->base_addr; in t7xx_hw_info_init() 1094 int t7xx_cldma_alloc(enum cldma_id hif_id, struct t7xx_pci_dev *t7xx_dev) in t7xx_cldma_alloc() argument 1096 struct device *dev = &t7xx_dev->pdev->dev; in t7xx_cldma_alloc() 1103 md_ctrl->t7xx_dev = t7xx_dev; in t7xx_cldma_alloc() [all …]
|
H A D | t7xx_netdev.h | 43 struct t7xx_pci_dev *t7xx_dev; member 57 int t7xx_ccmni_init(struct t7xx_pci_dev *t7xx_dev); 58 void t7xx_ccmni_exit(struct t7xx_pci_dev *t7xx_dev);
|
H A D | t7xx_hif_dpmaif_tx.c | 125 cb->state_notify(dpmaif_ctrl->t7xx_dev, DMPAIF_TXQ_STATE_IRQ, txq->index); in t7xx_dpmaif_release_tx_buffer() 170 t7xx_pci_disable_sleep(dpmaif_ctrl->t7xx_dev); in t7xx_dpmaif_tx_done() 171 if (t7xx_pci_sleep_disable_complete(dpmaif_ctrl->t7xx_dev)) { in t7xx_dpmaif_tx_done() 187 t7xx_pci_enable_sleep(dpmaif_ctrl->t7xx_dev); in t7xx_dpmaif_tx_done() 312 cb->state_notify(dpmaif_ctrl->t7xx_dev, DMPAIF_TXQ_STATE_FULL, txq->index); in t7xx_dpmaif_add_skb_to_ring() 432 if (!t7xx_pci_sleep_disable_complete(dpmaif_ctrl->t7xx_dev)) in t7xx_do_tx_hw_push() 468 t7xx_pci_disable_sleep(dpmaif_ctrl->t7xx_dev); in t7xx_dpmaif_tx_hw_push_thread() 470 t7xx_pci_enable_sleep(dpmaif_ctrl->t7xx_dev); in t7xx_dpmaif_tx_hw_push_thread() 515 cb->state_notify(dpmaif_ctrl->t7xx_dev, DMPAIF_TXQ_STATE_FULL, txq_number); in t7xx_dpmaif_tx_send_skb()
|
H A D | t7xx_hif_dpmaif.h | 164 void (*state_notify)(struct t7xx_pci_dev *t7xx_dev, 172 struct t7xx_pci_dev *t7xx_dev; member 194 struct dpmaif_ctrl *t7xx_dpmaif_hif_init(struct t7xx_pci_dev *t7xx_dev,
|
H A D | t7xx_port_trace.c | 54 struct dentry *debugfs_dir = port->t7xx_dev->debugfs_dir; in t7xx_trace_port_uninit() 103 port->t7xx_dev->debugfs_dir = debugfs_dir; in t7xx_port_trace_md_state_notify()
|
H A D | t7xx_hif_cldma.h | 90 struct t7xx_pci_dev *t7xx_dev; member 113 int t7xx_cldma_alloc(enum cldma_id hif_id, struct t7xx_pci_dev *t7xx_dev);
|
H A D | t7xx_port_ctrl_msg.c | 60 struct device *dev = &ctl->md->t7xx_dev->pdev->dev; in fsm_ee_message_handler() 129 struct device *dev = &md->t7xx_dev->pdev->dev; in t7xx_port_enum_msg_handler() 161 struct t7xx_fsm_ctl *ctl = port->t7xx_dev->md->fsm_ctl; in control_msg_handler()
|
H A D | t7xx_hif_dpmaif_rx.c | 714 dpmaif_ctrl->callbacks->recv_skb(dpmaif_ctrl->t7xx_dev->ccmni_ctlb, skb, &rxq->napi); in t7xx_dpmaif_rx_skb() 834 struct t7xx_pci_dev *t7xx_dev = rxq->dpmaif_ctrl->t7xx_dev; in t7xx_dpmaif_napi_rx_poll() local 849 t7xx_pci_disable_sleep(t7xx_dev); in t7xx_dpmaif_napi_rx_poll() 851 ret = try_wait_for_completion(&t7xx_dev->sleep_lock_acquire); in t7xx_dpmaif_napi_rx_poll() 878 t7xx_pci_enable_sleep(rxq->dpmaif_ctrl->t7xx_dev); in t7xx_dpmaif_napi_rx_poll() 1070 t7xx_pci_disable_sleep(dpmaif_ctrl->t7xx_dev); in t7xx_dpmaif_bat_release_work() 1074 if (t7xx_pci_sleep_disable_complete(dpmaif_ctrl->t7xx_dev)) { in t7xx_dpmaif_bat_release_work() 1079 t7xx_pci_enable_sleep(dpmaif_ctrl->t7xx_dev); in t7xx_dpmaif_bat_release_work()
|
H A D | t7xx_port.h | 106 struct t7xx_pci_dev *t7xx_dev; member
|
H A D | t7xx_port_wwan.c | 67 ctl = port_private->t7xx_dev->md->fsm_ctl; in t7xx_port_ctrl_tx()
|