Lines Matching refs:mhi_cntrl

607 	struct mhi_controller mhi_cntrl;  member
614 static int mhi_pci_read_reg(struct mhi_controller *mhi_cntrl, in mhi_pci_read_reg() argument
621 static void mhi_pci_write_reg(struct mhi_controller *mhi_cntrl, in mhi_pci_write_reg() argument
627 static void mhi_pci_status_cb(struct mhi_controller *mhi_cntrl, in mhi_pci_status_cb() argument
630 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_status_cb()
647 static void mhi_pci_wake_get_nop(struct mhi_controller *mhi_cntrl, bool force) in mhi_pci_wake_get_nop() argument
652 static void mhi_pci_wake_put_nop(struct mhi_controller *mhi_cntrl, bool override) in mhi_pci_wake_put_nop() argument
657 static void mhi_pci_wake_toggle_nop(struct mhi_controller *mhi_cntrl) in mhi_pci_wake_toggle_nop() argument
662 static bool mhi_pci_is_alive(struct mhi_controller *mhi_cntrl) in mhi_pci_is_alive() argument
664 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_is_alive()
676 static int mhi_pci_claim(struct mhi_controller *mhi_cntrl, in mhi_pci_claim() argument
679 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_claim()
697 mhi_cntrl->regs = pcim_iomap_table(pdev)[bar_num]; in mhi_pci_claim()
698 mhi_cntrl->reg_len = pci_resource_len(pdev, bar_num); in mhi_pci_claim()
711 static int mhi_pci_get_irqs(struct mhi_controller *mhi_cntrl, in mhi_pci_get_irqs() argument
714 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_get_irqs()
722 mhi_cntrl->nr_irqs = 1 + mhi_cntrl_config->num_events; in mhi_pci_get_irqs()
724 nr_vectors = pci_alloc_irq_vectors(pdev, 1, mhi_cntrl->nr_irqs, PCI_IRQ_MSI); in mhi_pci_get_irqs()
731 if (nr_vectors < mhi_cntrl->nr_irqs) { in mhi_pci_get_irqs()
737 mhi_cntrl->nr_irqs = 1; in mhi_pci_get_irqs()
740 irq = devm_kcalloc(&pdev->dev, mhi_cntrl->nr_irqs, sizeof(int), GFP_KERNEL); in mhi_pci_get_irqs()
744 for (i = 0; i < mhi_cntrl->nr_irqs; i++) { in mhi_pci_get_irqs()
750 mhi_cntrl->irq = irq; in mhi_pci_get_irqs()
755 static int mhi_pci_runtime_get(struct mhi_controller *mhi_cntrl) in mhi_pci_runtime_get() argument
760 return pm_runtime_get(mhi_cntrl->cntrl_dev); in mhi_pci_runtime_get()
763 static void mhi_pci_runtime_put(struct mhi_controller *mhi_cntrl) in mhi_pci_runtime_put() argument
768 pm_runtime_mark_last_busy(mhi_cntrl->cntrl_dev); in mhi_pci_runtime_put()
769 pm_runtime_put(mhi_cntrl->cntrl_dev); in mhi_pci_runtime_put()
776 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_recovery_work() local
777 struct pci_dev *pdev = to_pci_dev(mhi_cntrl->cntrl_dev); in mhi_pci_recovery_work()
787 mhi_power_down(mhi_cntrl, false); in mhi_pci_recovery_work()
788 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_recovery_work()
795 if (!mhi_pci_is_alive(mhi_cntrl)) in mhi_pci_recovery_work()
798 err = mhi_prepare_for_power_up(mhi_cntrl); in mhi_pci_recovery_work()
802 err = mhi_sync_power_up(mhi_cntrl); in mhi_pci_recovery_work()
813 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_recovery_work()
822 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in health_check() local
828 if (!mhi_pci_is_alive(mhi_cntrl)) { in health_check()
829 dev_err(mhi_cntrl->cntrl_dev, "Device died\n"); in health_check()
843 struct mhi_controller *mhi_cntrl; in mhi_pci_probe() local
857 mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_probe()
859 mhi_cntrl->cntrl_dev = &pdev->dev; in mhi_pci_probe()
860 mhi_cntrl->iova_start = 0; in mhi_pci_probe()
861 mhi_cntrl->iova_stop = (dma_addr_t)DMA_BIT_MASK(info->dma_data_width); in mhi_pci_probe()
862 mhi_cntrl->fw_image = info->fw; in mhi_pci_probe()
863 mhi_cntrl->edl_image = info->edl; in mhi_pci_probe()
865 mhi_cntrl->read_reg = mhi_pci_read_reg; in mhi_pci_probe()
866 mhi_cntrl->write_reg = mhi_pci_write_reg; in mhi_pci_probe()
867 mhi_cntrl->status_cb = mhi_pci_status_cb; in mhi_pci_probe()
868 mhi_cntrl->runtime_get = mhi_pci_runtime_get; in mhi_pci_probe()
869 mhi_cntrl->runtime_put = mhi_pci_runtime_put; in mhi_pci_probe()
870 mhi_cntrl->mru = info->mru_default; in mhi_pci_probe()
873 mhi_cntrl->wake_get = mhi_pci_wake_get_nop; in mhi_pci_probe()
874 mhi_cntrl->wake_put = mhi_pci_wake_put_nop; in mhi_pci_probe()
875 mhi_cntrl->wake_toggle = mhi_pci_wake_toggle_nop; in mhi_pci_probe()
878 err = mhi_pci_claim(mhi_cntrl, info->bar_num, DMA_BIT_MASK(info->dma_data_width)); in mhi_pci_probe()
882 err = mhi_pci_get_irqs(mhi_cntrl, mhi_cntrl_config); in mhi_pci_probe()
897 err = mhi_register_controller(mhi_cntrl, mhi_cntrl_config); in mhi_pci_probe()
902 err = mhi_prepare_for_power_up(mhi_cntrl); in mhi_pci_probe()
908 err = mhi_sync_power_up(mhi_cntrl); in mhi_pci_probe()
930 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_probe()
932 mhi_unregister_controller(mhi_cntrl); in mhi_pci_probe()
942 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_remove() local
948 mhi_power_down(mhi_cntrl, true); in mhi_pci_remove()
949 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_remove()
956 mhi_unregister_controller(mhi_cntrl); in mhi_pci_remove()
969 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_reset_prepare() local
977 mhi_power_down(mhi_cntrl, false); in mhi_pci_reset_prepare()
978 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_reset_prepare()
982 mhi_soc_reset(mhi_cntrl); in mhi_pci_reset_prepare()
991 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_reset_done() local
999 if (!mhi_pci_is_alive(mhi_cntrl)) { in mhi_pci_reset_done()
1004 err = mhi_prepare_for_power_up(mhi_cntrl); in mhi_pci_reset_done()
1010 err = mhi_sync_power_up(mhi_cntrl); in mhi_pci_reset_done()
1013 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_reset_done()
1025 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_error_detected() local
1034 mhi_power_down(mhi_cntrl, false); in mhi_pci_error_detected()
1035 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_error_detected()
1077 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_runtime_suspend() local
1087 mhi_cntrl->ee != MHI_EE_AMSS) in mhi_pci_runtime_suspend()
1091 err = mhi_pm_suspend(mhi_cntrl); in mhi_pci_runtime_suspend()
1109 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_runtime_resume() local
1123 mhi_cntrl->ee != MHI_EE_AMSS) in mhi_pci_runtime_resume()
1127 err = mhi_pm_resume(mhi_cntrl); in mhi_pci_runtime_resume()
1175 struct mhi_controller *mhi_cntrl = &mhi_pdev->mhi_cntrl; in mhi_pci_freeze() local
1184 mhi_power_down(mhi_cntrl, true); in mhi_pci_freeze()
1185 mhi_unprepare_after_power_down(mhi_cntrl); in mhi_pci_freeze()