Lines Matching refs:wil
35 void wil_set_capabilities(struct wil6210_priv *wil) in wil_set_capabilities() argument
37 u32 rev_id = ioread32(wil->csr + HOSTADDR(RGF_USER_JTAG_DEV_ID)); in wil_set_capabilities()
39 bitmap_zero(wil->hw_capabilities, hw_capability_last); in wil_set_capabilities()
43 wil->hw_name = "Sparrow B0"; in wil_set_capabilities()
44 wil->hw_version = HW_VER_SPARROW_B0; in wil_set_capabilities()
47 wil_err(wil, "Unknown board hardware 0x%08x\n", rev_id); in wil_set_capabilities()
48 wil->hw_name = "Unknown"; in wil_set_capabilities()
49 wil->hw_version = HW_VER_UNKNOWN; in wil_set_capabilities()
52 wil_info(wil, "Board hardware is %s\n", wil->hw_name); in wil_set_capabilities()
55 void wil_disable_irq(struct wil6210_priv *wil) in wil_disable_irq() argument
57 int irq = wil->pdev->irq; in wil_disable_irq()
60 if (wil->n_msi == 3) { in wil_disable_irq()
66 void wil_enable_irq(struct wil6210_priv *wil) in wil_enable_irq() argument
68 int irq = wil->pdev->irq; in wil_enable_irq()
71 if (wil->n_msi == 3) { in wil_enable_irq()
78 static int wil_if_pcie_enable(struct wil6210_priv *wil) in wil_if_pcie_enable() argument
80 struct pci_dev *pdev = wil->pdev; in wil_if_pcie_enable()
88 wil_dbg_misc(wil, "%s()\n", __func__); in wil_if_pcie_enable()
100 wil_dbg_misc(wil, "Setup %d MSI interrupts\n", use_msi); in wil_if_pcie_enable()
103 wil_dbg_misc(wil, "MSI interrupts disabled, use INTx\n"); in wil_if_pcie_enable()
106 wil_err(wil, "Invalid use_msi=%d, default to 1\n", use_msi); in wil_if_pcie_enable()
111 wil_err(wil, "3 MSI mode failed, try 1 MSI\n"); in wil_if_pcie_enable()
116 wil_err(wil, "pci_enable_msi failed, use INTx\n"); in wil_if_pcie_enable()
120 wil->n_msi = use_msi; in wil_if_pcie_enable()
122 if ((wil->n_msi == 0) && msi_only) { in wil_if_pcie_enable()
123 wil_err(wil, "Interrupt pin not routed, unable to use INTx\n"); in wil_if_pcie_enable()
128 rc = wil6210_init_irq(wil, pdev->irq); in wil_if_pcie_enable()
133 mutex_lock(&wil->mutex); in wil_if_pcie_enable()
134 rc = wil_reset(wil, false); in wil_if_pcie_enable()
135 mutex_unlock(&wil->mutex); in wil_if_pcie_enable()
144 wil6210_fini_irq(wil, pdev->irq); in wil_if_pcie_enable()
152 static int wil_if_pcie_disable(struct wil6210_priv *wil) in wil_if_pcie_disable() argument
154 struct pci_dev *pdev = wil->pdev; in wil_if_pcie_disable()
156 wil_dbg_misc(wil, "%s()\n", __func__); in wil_if_pcie_disable()
160 wil6210_fini_irq(wil, pdev->irq); in wil_if_pcie_disable()
170 struct wil6210_priv *wil; in wil_pcie_probe() local
217 wil = wil_if_alloc(dev, csr); in wil_pcie_probe()
218 if (IS_ERR(wil)) { in wil_pcie_probe()
219 rc = (int)PTR_ERR(wil); in wil_pcie_probe()
225 pci_set_drvdata(pdev, wil); in wil_pcie_probe()
226 wil->pdev = pdev; in wil_pcie_probe()
227 wil_set_capabilities(wil); in wil_pcie_probe()
228 wil6210_clear_irq(wil); in wil_pcie_probe()
230 wil->platform_handle = in wil_pcie_probe()
231 wil_platform_init(&pdev->dev, &wil->platform_ops); in wil_pcie_probe()
234 rc = wil_if_pcie_enable(wil); in wil_pcie_probe()
236 wil_err(wil, "Enable device failed\n"); in wil_pcie_probe()
241 rc = wil_if_add(wil); in wil_pcie_probe()
243 wil_err(wil, "wil_if_add failed: %d\n", rc); in wil_pcie_probe()
247 wil6210_debugfs_init(wil); in wil_pcie_probe()
253 wil_if_pcie_disable(wil); in wil_pcie_probe()
255 if (wil->platform_ops.uninit) in wil_pcie_probe()
256 wil->platform_ops.uninit(wil->platform_handle); in wil_pcie_probe()
257 wil_if_free(wil); in wil_pcie_probe()
270 struct wil6210_priv *wil = pci_get_drvdata(pdev); in wil_pcie_remove() local
271 void __iomem *csr = wil->csr; in wil_pcie_remove()
273 wil_dbg_misc(wil, "%s()\n", __func__); in wil_pcie_remove()
275 wil6210_debugfs_remove(wil); in wil_pcie_remove()
276 wil_if_remove(wil); in wil_pcie_remove()
277 wil_if_pcie_disable(wil); in wil_pcie_remove()
278 if (wil->platform_ops.uninit) in wil_pcie_remove()
279 wil->platform_ops.uninit(wil->platform_handle); in wil_pcie_remove()
280 wil_if_free(wil); in wil_pcie_remove()