• Home
  • Raw
  • Download

Lines Matching refs:ipa

78 static bool ipa_endpoint_data_valid_one(struct ipa *ipa, u32 count,  in ipa_endpoint_data_valid_one()  argument
83 struct device *dev = &ipa->pdev->dev; in ipa_endpoint_data_valid_one()
167 static bool ipa_endpoint_data_valid(struct ipa *ipa, u32 count, in ipa_endpoint_data_valid() argument
171 struct device *dev = &ipa->pdev->dev; in ipa_endpoint_data_valid()
193 limit = aggr_byte_limit_max(ipa->version) * SZ_1K; in ipa_endpoint_data_valid()
220 if (!ipa_endpoint_data_valid_one(ipa, count, data, dp)) in ipa_endpoint_data_valid()
230 struct gsi *gsi = &endpoint->ipa->gsi; in ipa_endpoint_trans_alloc()
246 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_init_ctrl() local
255 WARN_ON(ipa->version == IPA_VERSION_4_2); in ipa_endpoint_init_ctrl()
257 WARN_ON(ipa->version >= IPA_VERSION_4_0); in ipa_endpoint_init_ctrl()
261 val = ioread32(ipa->reg_virt + offset); in ipa_endpoint_init_ctrl()
267 iowrite32(val, ipa->reg_virt + offset); in ipa_endpoint_init_ctrl()
280 if (endpoint->ipa->version != IPA_VERSION_4_2) in ipa_endpoint_program_delay()
287 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_aggr_active() local
291 WARN_ON(!(mask & ipa->available)); in ipa_endpoint_aggr_active()
293 offset = ipa_reg_state_aggr_active_offset(ipa->version); in ipa_endpoint_aggr_active()
294 val = ioread32(ipa->reg_virt + offset); in ipa_endpoint_aggr_active()
302 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_force_close() local
304 WARN_ON(!(mask & ipa->available)); in ipa_endpoint_force_close()
306 iowrite32(mask, ipa->reg_virt + IPA_REG_AGGR_FORCE_CLOSE_OFFSET); in ipa_endpoint_force_close()
320 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_suspend_aggr() local
332 ipa_interrupt_simulate_suspend(ipa->interrupt); in ipa_endpoint_suspend_aggr()
341 if (endpoint->ipa->version >= IPA_VERSION_4_0) in ipa_endpoint_program_suspend()
359 void ipa_endpoint_modem_pause_all(struct ipa *ipa, bool enable) in ipa_endpoint_modem_pause_all() argument
364 if (ipa->version == IPA_VERSION_4_2) in ipa_endpoint_modem_pause_all()
368 struct ipa_endpoint *endpoint = &ipa->endpoint[endpoint_id]; in ipa_endpoint_modem_pause_all()
382 int ipa_endpoint_modem_exception_reset_all(struct ipa *ipa) in ipa_endpoint_modem_exception_reset_all() argument
384 u32 initialized = ipa->initialized; in ipa_endpoint_modem_exception_reset_all()
394 trans = ipa_cmd_trans_alloc(ipa, count); in ipa_endpoint_modem_exception_reset_all()
396 dev_err(&ipa->pdev->dev, in ipa_endpoint_modem_exception_reset_all()
409 endpoint = &ipa->endpoint[endpoint_id]; in ipa_endpoint_modem_exception_reset_all()
427 ipa_cmd_pipeline_clear_wait(ipa); in ipa_endpoint_modem_exception_reset_all()
440 enum ipa_version version = endpoint->ipa->version; in ipa_endpoint_init_cfg()
465 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_cfg()
479 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_nat()
527 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_init_hdr() local
531 enum ipa_version version = ipa->version; in ipa_endpoint_init_hdr()
563 iowrite32(val, ipa->reg_virt + offset); in ipa_endpoint_init_hdr()
570 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_init_hdr_ext() local
599 if (ipa->version >= IPA_VERSION_4_5) { in ipa_endpoint_init_hdr_ext()
611 iowrite32(val, ipa->reg_virt + offset); in ipa_endpoint_init_hdr_ext()
629 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_hdr_metadata_mask()
644 dma_endpoint_id = endpoint->ipa->name_map[name]->endpoint_id; in ipa_endpoint_init_mode()
653 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_mode()
724 enum ipa_version version = endpoint->ipa->version; in ipa_endpoint_init_aggr()
760 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_aggr()
767 static u32 hol_block_timer_qtime_val(struct ipa *ipa, u32 microseconds) in hol_block_timer_qtime_val() argument
801 static u32 hol_block_timer_val(struct ipa *ipa, u32 microseconds) in hol_block_timer_val() argument
813 if (ipa->version >= IPA_VERSION_4_5) in hol_block_timer_val()
814 return hol_block_timer_qtime_val(ipa, microseconds); in hol_block_timer_val()
817 rate = ipa_core_clock_rate(ipa); in hol_block_timer_val()
823 if (ipa->version < IPA_VERSION_4_2) in hol_block_timer_val()
856 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_init_hol_block_timer() local
862 val = hol_block_timer_val(ipa, microseconds); in ipa_endpoint_init_hol_block_timer()
863 iowrite32(val, ipa->reg_virt + offset); in ipa_endpoint_init_hol_block_timer()
875 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_hol_block_enable()
877 if (enable && endpoint->ipa->version >= IPA_VERSION_4_5) in ipa_endpoint_init_hol_block_enable()
878 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_hol_block_enable()
881 void ipa_endpoint_modem_hol_block_clear_all(struct ipa *ipa) in ipa_endpoint_modem_hol_block_clear_all() argument
886 struct ipa_endpoint *endpoint = &ipa->endpoint[i]; in ipa_endpoint_modem_hol_block_clear_all()
910 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_deaggr()
916 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_init_rsrc_grp() local
919 val = rsrc_grp_encoded(ipa->version, endpoint->data->resource_group); in ipa_endpoint_init_rsrc_grp()
920 iowrite32(val, ipa->reg_virt + offset); in ipa_endpoint_init_rsrc_grp()
938 iowrite32(val, endpoint->ipa->reg_virt + offset); in ipa_endpoint_init_seq()
987 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_status() local
1000 status_endpoint_id = ipa->name_map[name]->endpoint_id; in ipa_endpoint_status()
1011 iowrite32(val, ipa->reg_virt + offset); in ipa_endpoint_status()
1113 gsi = &endpoint->ipa->gsi; in ipa_endpoint_replenish()
1121 struct gsi *gsi = &endpoint->ipa->gsi; in ipa_endpoint_replenish_enable()
1234 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_status_tag() local
1247 command_endpoint = ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]; in ipa_endpoint_status_tag()
1249 complete(&ipa->completion); in ipa_endpoint_status_tag()
1251 dev_err(&ipa->pdev->dev, in ipa_endpoint_status_tag()
1292 dev_err(&endpoint->ipa->pdev->dev, in ipa_endpoint_status_parse()
1379 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_trans_release() local
1382 if (endpoint != ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]) { in ipa_endpoint_trans_release()
1396 void ipa_endpoint_default_route_set(struct ipa *ipa, u32 endpoint_id) in ipa_endpoint_default_route_set() argument
1407 iowrite32(val, ipa->reg_virt + IPA_REG_ROUTE_OFFSET); in ipa_endpoint_default_route_set()
1410 void ipa_endpoint_default_route_clear(struct ipa *ipa) in ipa_endpoint_default_route_clear() argument
1412 ipa_endpoint_default_route_set(ipa, 0); in ipa_endpoint_default_route_clear()
1427 struct device *dev = &endpoint->ipa->pdev->dev; in ipa_endpoint_reset_rx_aggr()
1428 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_reset_rx_aggr() local
1429 struct gsi *gsi = &ipa->gsi; in ipa_endpoint_reset_rx_aggr()
1514 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_reset() local
1522 special = ipa->version < IPA_VERSION_4_0 && !endpoint->toward_ipa && in ipa_endpoint_reset()
1527 gsi_channel_reset(&ipa->gsi, channel_id, true); in ipa_endpoint_reset()
1530 dev_err(&ipa->pdev->dev, in ipa_endpoint_reset()
1556 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_enable_one() local
1557 struct gsi *gsi = &ipa->gsi; in ipa_endpoint_enable_one()
1562 dev_err(&ipa->pdev->dev, in ipa_endpoint_enable_one()
1570 ipa_interrupt_suspend_enable(ipa->interrupt, in ipa_endpoint_enable_one()
1575 ipa->enabled |= BIT(endpoint->endpoint_id); in ipa_endpoint_enable_one()
1583 struct ipa *ipa = endpoint->ipa; in ipa_endpoint_disable_one() local
1584 struct gsi *gsi = &ipa->gsi; in ipa_endpoint_disable_one()
1587 if (!(ipa->enabled & mask)) in ipa_endpoint_disable_one()
1590 ipa->enabled ^= mask; in ipa_endpoint_disable_one()
1594 ipa_interrupt_suspend_disable(ipa->interrupt, in ipa_endpoint_disable_one()
1601 dev_err(&ipa->pdev->dev, in ipa_endpoint_disable_one()
1608 struct device *dev = &endpoint->ipa->pdev->dev; in ipa_endpoint_suspend_one()
1609 struct gsi *gsi = &endpoint->ipa->gsi; in ipa_endpoint_suspend_one()
1612 if (!(endpoint->ipa->enabled & BIT(endpoint->endpoint_id))) in ipa_endpoint_suspend_one()
1628 struct device *dev = &endpoint->ipa->pdev->dev; in ipa_endpoint_resume_one()
1629 struct gsi *gsi = &endpoint->ipa->gsi; in ipa_endpoint_resume_one()
1632 if (!(endpoint->ipa->enabled & BIT(endpoint->endpoint_id))) in ipa_endpoint_resume_one()
1646 void ipa_endpoint_suspend(struct ipa *ipa) in ipa_endpoint_suspend() argument
1648 if (!ipa->setup_complete) in ipa_endpoint_suspend()
1651 if (ipa->modem_netdev) in ipa_endpoint_suspend()
1652 ipa_modem_suspend(ipa->modem_netdev); in ipa_endpoint_suspend()
1654 ipa_endpoint_suspend_one(ipa->name_map[IPA_ENDPOINT_AP_LAN_RX]); in ipa_endpoint_suspend()
1655 ipa_endpoint_suspend_one(ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]); in ipa_endpoint_suspend()
1658 void ipa_endpoint_resume(struct ipa *ipa) in ipa_endpoint_resume() argument
1660 if (!ipa->setup_complete) in ipa_endpoint_resume()
1663 ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_COMMAND_TX]); in ipa_endpoint_resume()
1664 ipa_endpoint_resume_one(ipa->name_map[IPA_ENDPOINT_AP_LAN_RX]); in ipa_endpoint_resume()
1666 if (ipa->modem_netdev) in ipa_endpoint_resume()
1667 ipa_modem_resume(ipa->modem_netdev); in ipa_endpoint_resume()
1672 struct gsi *gsi = &endpoint->ipa->gsi; in ipa_endpoint_setup_one()
1695 endpoint->ipa->set_up |= BIT(endpoint->endpoint_id); in ipa_endpoint_setup_one()
1700 endpoint->ipa->set_up &= ~BIT(endpoint->endpoint_id); in ipa_endpoint_teardown_one()
1708 void ipa_endpoint_setup(struct ipa *ipa) in ipa_endpoint_setup() argument
1710 u32 initialized = ipa->initialized; in ipa_endpoint_setup()
1712 ipa->set_up = 0; in ipa_endpoint_setup()
1718 ipa_endpoint_setup_one(&ipa->endpoint[endpoint_id]); in ipa_endpoint_setup()
1722 void ipa_endpoint_teardown(struct ipa *ipa) in ipa_endpoint_teardown() argument
1724 u32 set_up = ipa->set_up; in ipa_endpoint_teardown()
1731 ipa_endpoint_teardown_one(&ipa->endpoint[endpoint_id]); in ipa_endpoint_teardown()
1733 ipa->set_up = 0; in ipa_endpoint_teardown()
1736 int ipa_endpoint_config(struct ipa *ipa) in ipa_endpoint_config() argument
1738 struct device *dev = &ipa->pdev->dev; in ipa_endpoint_config()
1757 if (ipa->version < IPA_VERSION_3_5) { in ipa_endpoint_config()
1758 ipa->available = ~0; in ipa_endpoint_config()
1765 val = ioread32(ipa->reg_virt + IPA_REG_FLAVOR_0_OFFSET); in ipa_endpoint_config()
1781 ipa->available = rx_mask | tx_mask; in ipa_endpoint_config()
1784 if (ipa->initialized & ~ipa->available) { in ipa_endpoint_config()
1786 ipa->initialized & ~ipa->available); in ipa_endpoint_config()
1790 initialized = ipa->initialized; in ipa_endpoint_config()
1798 endpoint = &ipa->endpoint[endpoint_id]; in ipa_endpoint_config()
1809 void ipa_endpoint_deconfig(struct ipa *ipa) in ipa_endpoint_deconfig() argument
1811 ipa->available = 0; /* Nothing more to do */ in ipa_endpoint_deconfig()
1814 static void ipa_endpoint_init_one(struct ipa *ipa, enum ipa_endpoint_name name, in ipa_endpoint_init_one() argument
1819 endpoint = &ipa->endpoint[data->endpoint_id]; in ipa_endpoint_init_one()
1822 ipa->channel_map[data->channel_id] = endpoint; in ipa_endpoint_init_one()
1823 ipa->name_map[name] = endpoint; in ipa_endpoint_init_one()
1825 endpoint->ipa = ipa; in ipa_endpoint_init_one()
1832 ipa->initialized |= BIT(endpoint->endpoint_id); in ipa_endpoint_init_one()
1837 endpoint->ipa->initialized &= ~BIT(endpoint->endpoint_id); in ipa_endpoint_exit_one()
1842 void ipa_endpoint_exit(struct ipa *ipa) in ipa_endpoint_exit() argument
1844 u32 initialized = ipa->initialized; in ipa_endpoint_exit()
1851 ipa_endpoint_exit_one(&ipa->endpoint[endpoint_id]); in ipa_endpoint_exit()
1853 memset(ipa->name_map, 0, sizeof(ipa->name_map)); in ipa_endpoint_exit()
1854 memset(ipa->channel_map, 0, sizeof(ipa->channel_map)); in ipa_endpoint_exit()
1858 u32 ipa_endpoint_init(struct ipa *ipa, u32 count, in ipa_endpoint_init() argument
1864 if (!ipa_endpoint_data_valid(ipa, count, data)) in ipa_endpoint_init()
1867 ipa->initialized = 0; in ipa_endpoint_init()
1874 ipa_endpoint_init_one(ipa, name, data); in ipa_endpoint_init()
1880 if (!ipa_filter_map_valid(ipa, filter_map)) in ipa_endpoint_init()
1886 ipa_endpoint_exit(ipa); in ipa_endpoint_init()