Lines Matching refs:ar_pci

423 	struct ath10k_pci *ar_pci = ath10k_pci_priv(ar);  in ath10k_pci_is_awake()  local
424 u32 val = ioread32(ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS + in ath10k_pci_is_awake()
432 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in __ath10k_pci_wake() local
434 lockdep_assert_held(&ar_pci->ps_lock); in __ath10k_pci_wake()
437 ar_pci->ps_wake_refcount, ar_pci->ps_awake); in __ath10k_pci_wake()
440 ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS + in __ath10k_pci_wake()
446 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in __ath10k_pci_sleep() local
448 lockdep_assert_held(&ar_pci->ps_lock); in __ath10k_pci_sleep()
451 ar_pci->ps_wake_refcount, ar_pci->ps_awake); in __ath10k_pci_sleep()
454 ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS + in __ath10k_pci_sleep()
456 ar_pci->ps_awake = false; in __ath10k_pci_sleep()
484 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_force_wake() local
488 spin_lock_irqsave(&ar_pci->ps_lock, flags); in ath10k_pci_force_wake()
490 if (!ar_pci->ps_awake) { in ath10k_pci_force_wake()
492 ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS + in ath10k_pci_force_wake()
497 ar_pci->ps_awake = true; in ath10k_pci_force_wake()
500 spin_unlock_irqrestore(&ar_pci->ps_lock, flags); in ath10k_pci_force_wake()
507 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_force_sleep() local
510 spin_lock_irqsave(&ar_pci->ps_lock, flags); in ath10k_pci_force_sleep()
513 ar_pci->mem + PCIE_LOCAL_BASE_ADDRESS + in ath10k_pci_force_sleep()
515 ar_pci->ps_awake = false; in ath10k_pci_force_sleep()
517 spin_unlock_irqrestore(&ar_pci->ps_lock, flags); in ath10k_pci_force_sleep()
522 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_wake() local
526 if (ar_pci->pci_ps == 0) in ath10k_pci_wake()
529 spin_lock_irqsave(&ar_pci->ps_lock, flags); in ath10k_pci_wake()
532 ar_pci->ps_wake_refcount, ar_pci->ps_awake); in ath10k_pci_wake()
537 if (!ar_pci->ps_awake) { in ath10k_pci_wake()
542 ar_pci->ps_awake = true; in ath10k_pci_wake()
546 ar_pci->ps_wake_refcount++; in ath10k_pci_wake()
547 WARN_ON(ar_pci->ps_wake_refcount == 0); in ath10k_pci_wake()
550 spin_unlock_irqrestore(&ar_pci->ps_lock, flags); in ath10k_pci_wake()
557 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_sleep() local
560 if (ar_pci->pci_ps == 0) in ath10k_pci_sleep()
563 spin_lock_irqsave(&ar_pci->ps_lock, flags); in ath10k_pci_sleep()
566 ar_pci->ps_wake_refcount, ar_pci->ps_awake); in ath10k_pci_sleep()
568 if (WARN_ON(ar_pci->ps_wake_refcount == 0)) in ath10k_pci_sleep()
571 ar_pci->ps_wake_refcount--; in ath10k_pci_sleep()
573 mod_timer(&ar_pci->ps_timer, jiffies + in ath10k_pci_sleep()
577 spin_unlock_irqrestore(&ar_pci->ps_lock, flags); in ath10k_pci_sleep()
583 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_ps_timer() local
586 spin_lock_irqsave(&ar_pci->ps_lock, flags); in ath10k_pci_ps_timer()
589 ar_pci->ps_wake_refcount, ar_pci->ps_awake); in ath10k_pci_ps_timer()
591 if (ar_pci->ps_wake_refcount > 0) in ath10k_pci_ps_timer()
597 spin_unlock_irqrestore(&ar_pci->ps_lock, flags); in ath10k_pci_ps_timer()
602 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_sleep_sync() local
605 if (ar_pci->pci_ps == 0) { in ath10k_pci_sleep_sync()
610 del_timer_sync(&ar_pci->ps_timer); in ath10k_pci_sleep_sync()
612 spin_lock_irqsave(&ar_pci->ps_lock, flags); in ath10k_pci_sleep_sync()
613 WARN_ON(ar_pci->ps_wake_refcount > 0); in ath10k_pci_sleep_sync()
615 spin_unlock_irqrestore(&ar_pci->ps_lock, flags); in ath10k_pci_sleep_sync()
620 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_write32() local
623 if (unlikely(offset + sizeof(value) > ar_pci->mem_len)) { in ath10k_pci_write32()
625 offset, offset + sizeof(value), ar_pci->mem_len); in ath10k_pci_write32()
636 iowrite32(value, ar_pci->mem + offset); in ath10k_pci_write32()
642 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_read32() local
646 if (unlikely(offset + sizeof(val) > ar_pci->mem_len)) { in ath10k_pci_read32()
648 offset, offset + sizeof(val), ar_pci->mem_len); in ath10k_pci_read32()
659 val = ioread32(ar_pci->mem + offset); in ath10k_pci_read32()
728 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_get_irq_method() local
730 if (ar_pci->num_msi_intrs > 1) in ath10k_pci_get_irq_method()
733 if (ar_pci->num_msi_intrs == 1) in ath10k_pci_get_irq_method()
742 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in __ath10k_pci_rx_post_buf() local
765 spin_lock_bh(&ar_pci->ce_lock); in __ath10k_pci_rx_post_buf()
767 spin_unlock_bh(&ar_pci->ce_lock); in __ath10k_pci_rx_post_buf()
781 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_rx_post_pipe() local
791 spin_lock_bh(&ar_pci->ce_lock); in ath10k_pci_rx_post_pipe()
793 spin_unlock_bh(&ar_pci->ce_lock); in ath10k_pci_rx_post_pipe()
800 mod_timer(&ar_pci->rx_post_retry, jiffies + in ath10k_pci_rx_post_pipe()
809 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_rx_post() local
813 ath10k_pci_rx_post_pipe(&ar_pci->pipe_info[i]); in ath10k_pci_rx_post()
852 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_diag_read_mem() local
865 spin_lock_bh(&ar_pci->ce_lock); in ath10k_pci_diag_read_mem()
867 ce_diag = ar_pci->ce_diag; in ath10k_pci_diag_read_mem()
961 spin_unlock_bh(&ar_pci->ce_lock); in ath10k_pci_diag_read_mem()
1008 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_diag_write_mem() local
1020 spin_lock_bh(&ar_pci->ce_lock); in ath10k_pci_diag_write_mem()
1022 ce_diag = ar_pci->ce_diag; in ath10k_pci_diag_write_mem()
1123 spin_unlock_bh(&ar_pci->ce_lock); in ath10k_pci_diag_write_mem()
1160 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_process_rx_cb() local
1161 struct ath10k_pci_pipe *pipe_info = &ar_pci->pipe_info[ce_state->id]; in ath10k_pci_process_rx_cb()
1255 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_hif_tx_sg() local
1256 struct ath10k_pci_pipe *pci_pipe = &ar_pci->pipe_info[pipe_id]; in ath10k_pci_hif_tx_sg()
1264 spin_lock_bh(&ar_pci->ce_lock); in ath10k_pci_hif_tx_sg()
1310 spin_unlock_bh(&ar_pci->ce_lock); in ath10k_pci_hif_tx_sg()
1317 spin_unlock_bh(&ar_pci->ce_lock); in ath10k_pci_hif_tx_sg()
1329 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_hif_get_free_queue_number() local
1333 return ath10k_ce_num_free_src_entries(ar_pci->pipe_info[pipe].ce_hdl); in ath10k_pci_hif_get_free_queue_number()
1423 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_kill_tasklet() local
1426 tasklet_kill(&ar_pci->intr_tq); in ath10k_pci_kill_tasklet()
1427 tasklet_kill(&ar_pci->msi_fw_err); in ath10k_pci_kill_tasklet()
1430 tasklet_kill(&ar_pci->pipe_info[i].intr); in ath10k_pci_kill_tasklet()
1432 del_timer_sync(&ar_pci->rx_post_retry); in ath10k_pci_kill_tasklet()
1543 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_irq_sync() local
1546 for (i = 0; i < max(1, ar_pci->num_msi_intrs); i++) in ath10k_pci_irq_sync()
1547 synchronize_irq(ar_pci->pdev->irq + i); in ath10k_pci_irq_sync()
1559 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_hif_start() local
1566 pcie_capability_write_word(ar_pci->pdev, PCI_EXP_LNKCTL, in ath10k_pci_hif_start()
1567 ar_pci->link_ctl); in ath10k_pci_hif_start()
1607 struct ath10k_pci *ar_pci; in ath10k_pci_tx_pipe_cleanup() local
1614 ar_pci = ath10k_pci_priv(ar); in ath10k_pci_tx_pipe_cleanup()
1645 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_buffer_cleanup() local
1651 pipe_info = &ar_pci->pipe_info[pipe_num]; in ath10k_pci_buffer_cleanup()
1673 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_hif_stop() local
1695 spin_lock_irqsave(&ar_pci->ps_lock, flags); in ath10k_pci_hif_stop()
1696 WARN_ON(ar_pci->ps_wake_refcount > 0); in ath10k_pci_hif_stop()
1697 spin_unlock_irqrestore(&ar_pci->ps_lock, flags); in ath10k_pci_hif_stop()
1704 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_hif_exchange_bmi_msg() local
1705 struct ath10k_pci_pipe *pci_tx = &ar_pci->pipe_info[BMI_CE_NUM_TO_TARG]; in ath10k_pci_hif_exchange_bmi_msg()
1706 struct ath10k_pci_pipe *pci_rx = &ar_pci->pipe_info[BMI_CE_NUM_TO_HOST]; in ath10k_pci_hif_exchange_bmi_msg()
1866 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_get_num_banks() local
1868 switch (ar_pci->pdev->device) { in ath10k_pci_get_num_banks()
2062 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_alloc_pipes() local
2067 pipe = &ar_pci->pipe_info[i]; in ath10k_pci_alloc_pipes()
2068 pipe->ce_hdl = &ar_pci->ce_states[i]; in ath10k_pci_alloc_pipes()
2081 ar_pci->ce_diag = pipe->ce_hdl; in ath10k_pci_alloc_pipes()
2383 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_hif_power_up() local
2388 pcie_capability_read_word(ar_pci->pdev, PCI_EXP_LNKCTL, in ath10k_pci_hif_power_up()
2389 &ar_pci->link_ctl); in ath10k_pci_hif_power_up()
2390 pcie_capability_write_word(ar_pci->pdev, PCI_EXP_LNKCTL, in ath10k_pci_hif_power_up()
2391 ar_pci->link_ctl & ~PCI_EXP_LNKCTL_ASPMC); in ath10k_pci_hif_power_up()
2467 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_hif_resume() local
2468 struct pci_dev *pdev = ar_pci->pdev; in ath10k_pci_hif_resume()
2472 if (ar_pci->pci_ps == 0) { in ath10k_pci_hif_resume()
2517 struct ath10k_pci *ar_pci = pipe->ar_pci; in ath10k_pci_ce_tasklet() local
2519 ath10k_ce_per_engine_service(ar_pci->ar, pipe->pipe_num); in ath10k_pci_ce_tasklet()
2543 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_per_engine_handler() local
2544 int ce_id = irq - ar_pci->pdev->irq - MSI_ASSIGN_CE_INITIAL; in ath10k_pci_per_engine_handler()
2546 if (ce_id < 0 || ce_id >= ARRAY_SIZE(ar_pci->pipe_info)) { in ath10k_pci_per_engine_handler()
2560 tasklet_schedule(&ar_pci->pipe_info[ce_id].intr); in ath10k_pci_per_engine_handler()
2567 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_msi_fw_handler() local
2569 tasklet_schedule(&ar_pci->msi_fw_err); in ath10k_pci_msi_fw_handler()
2581 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_interrupt_handler() local
2584 if (ar_pci->pci_ps == 0) { in ath10k_pci_interrupt_handler()
2593 if (ar_pci->num_msi_intrs == 0) { in ath10k_pci_interrupt_handler()
2600 tasklet_schedule(&ar_pci->intr_tq); in ath10k_pci_interrupt_handler()
2608 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_tasklet() local
2620 if (ar_pci->num_msi_intrs == 0) in ath10k_pci_tasklet()
2626 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_request_irq_msix() local
2629 ret = request_irq(ar_pci->pdev->irq + MSI_ASSIGN_FW, in ath10k_pci_request_irq_msix()
2634 ar_pci->pdev->irq + MSI_ASSIGN_FW, ret); in ath10k_pci_request_irq_msix()
2639 ret = request_irq(ar_pci->pdev->irq + i, in ath10k_pci_request_irq_msix()
2644 ar_pci->pdev->irq + i, ret); in ath10k_pci_request_irq_msix()
2647 free_irq(ar_pci->pdev->irq + i, ar); in ath10k_pci_request_irq_msix()
2649 free_irq(ar_pci->pdev->irq + MSI_ASSIGN_FW, ar); in ath10k_pci_request_irq_msix()
2659 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_request_irq_msi() local
2662 ret = request_irq(ar_pci->pdev->irq, in ath10k_pci_request_irq_msi()
2667 ar_pci->pdev->irq, ret); in ath10k_pci_request_irq_msi()
2676 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_request_irq_legacy() local
2679 ret = request_irq(ar_pci->pdev->irq, in ath10k_pci_request_irq_legacy()
2684 ar_pci->pdev->irq, ret); in ath10k_pci_request_irq_legacy()
2693 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_request_irq() local
2695 switch (ar_pci->num_msi_intrs) { in ath10k_pci_request_irq()
2707 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_free_irq() local
2712 for (i = 0; i < max(1, ar_pci->num_msi_intrs); i++) in ath10k_pci_free_irq()
2713 free_irq(ar_pci->pdev->irq + i, ar); in ath10k_pci_free_irq()
2718 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_init_irq_tasklets() local
2721 tasklet_init(&ar_pci->intr_tq, ath10k_pci_tasklet, (unsigned long)ar); in ath10k_pci_init_irq_tasklets()
2722 tasklet_init(&ar_pci->msi_fw_err, ath10k_msi_err_tasklet, in ath10k_pci_init_irq_tasklets()
2726 ar_pci->pipe_info[i].ar_pci = ar_pci; in ath10k_pci_init_irq_tasklets()
2727 tasklet_init(&ar_pci->pipe_info[i].intr, ath10k_pci_ce_tasklet, in ath10k_pci_init_irq_tasklets()
2728 (unsigned long)&ar_pci->pipe_info[i]); in ath10k_pci_init_irq_tasklets()
2734 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_init_irq() local
2745 ar_pci->num_msi_intrs = MSI_ASSIGN_CE_MAX + 1; in ath10k_pci_init_irq()
2746 ret = pci_enable_msi_range(ar_pci->pdev, ar_pci->num_msi_intrs, in ath10k_pci_init_irq()
2747 ar_pci->num_msi_intrs); in ath10k_pci_init_irq()
2756 ar_pci->num_msi_intrs = 1; in ath10k_pci_init_irq()
2757 ret = pci_enable_msi(ar_pci->pdev); in ath10k_pci_init_irq()
2772 ar_pci->num_msi_intrs = 0; in ath10k_pci_init_irq()
2788 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_deinit_irq() local
2790 switch (ar_pci->num_msi_intrs) { in ath10k_pci_deinit_irq()
2795 pci_disable_msi(ar_pci->pdev); in ath10k_pci_deinit_irq()
2804 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_wait_for_target_init() local
2829 if (ar_pci->num_msi_intrs == 0) in ath10k_pci_wait_for_target_init()
2896 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_claim() local
2897 struct pci_dev *pdev = ar_pci->pdev; in ath10k_pci_claim()
2932 ar_pci->mem_len = pci_resource_len(pdev, BAR_NUM); in ath10k_pci_claim()
2933 ar_pci->mem = pci_iomap(pdev, BAR_NUM, 0); in ath10k_pci_claim()
2934 if (!ar_pci->mem) { in ath10k_pci_claim()
2940 ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot pci_mem 0x%p\n", ar_pci->mem); in ath10k_pci_claim()
2957 struct ath10k_pci *ar_pci = ath10k_pci_priv(ar); in ath10k_pci_release() local
2958 struct pci_dev *pdev = ar_pci->pdev; in ath10k_pci_release()
2960 pci_iounmap(pdev, ar_pci->mem); in ath10k_pci_release()
2988 struct ath10k_pci *ar_pci; in ath10k_pci_probe() local
3016 ar = ath10k_core_create(sizeof(*ar_pci), &pdev->dev, ATH10K_BUS_PCI, in ath10k_pci_probe()
3027 ar_pci = ath10k_pci_priv(ar); in ath10k_pci_probe()
3028 ar_pci->pdev = pdev; in ath10k_pci_probe()
3029 ar_pci->dev = &pdev->dev; in ath10k_pci_probe()
3030 ar_pci->ar = ar; in ath10k_pci_probe()
3032 ar_pci->pci_ps = pci_ps; in ath10k_pci_probe()
3039 spin_lock_init(&ar_pci->ce_lock); in ath10k_pci_probe()
3040 spin_lock_init(&ar_pci->ps_lock); in ath10k_pci_probe()
3042 setup_timer(&ar_pci->rx_post_retry, ath10k_pci_rx_replenish_retry, in ath10k_pci_probe()
3044 setup_timer(&ar_pci->ps_timer, ath10k_pci_ps_timer, in ath10k_pci_probe()
3066 if (ar_pci->pci_ps == 0) { in ath10k_pci_probe()
3081 ath10k_pci_get_irq_method(ar), ar_pci->num_msi_intrs, in ath10k_pci_probe()
3139 struct ath10k_pci *ar_pci; in ath10k_pci_remove() local
3146 ar_pci = ath10k_pci_priv(ar); in ath10k_pci_remove()
3148 if (!ar_pci) in ath10k_pci_remove()