Lines Matching full:irq

226 	struct gve_irq *irq;  in gve_free_irqs()  local
233 device_printf(priv->dev, "No irq table, nothing to free\n"); in gve_free_irqs()
240 irq = &priv->irq_tbl[i]; in gve_free_irqs()
241 if (irq->res == NULL) in gve_free_irqs()
244 rid = rman_get_rid(irq->res); in gve_free_irqs()
246 rc = bus_teardown_intr(priv->dev, irq->res, irq->cookie); in gve_free_irqs()
248 device_printf(priv->dev, "Failed to teardown irq num %d\n", in gve_free_irqs()
252 rid, irq->res); in gve_free_irqs()
254 device_printf(priv->dev, "Failed to release irq num %d\n", in gve_free_irqs()
257 irq->res = NULL; in gve_free_irqs()
258 irq->cookie = NULL; in gve_free_irqs()
275 struct gve_irq *irq; in gve_alloc_irqs() local
302 irq = &priv->irq_tbl[i]; in gve_alloc_irqs()
307 irq->res = bus_alloc_resource_any(priv->dev, SYS_RES_IRQ, in gve_alloc_irqs()
309 if (irq->res == NULL) { in gve_alloc_irqs()
310 device_printf(priv->dev, "Failed to alloc irq %d for Tx queue %d\n", in gve_alloc_irqs()
316 err = bus_setup_intr(priv->dev, irq->res, INTR_TYPE_NET | INTR_MPSAFE, in gve_alloc_irqs()
318 &priv->tx[i], &irq->cookie); in gve_alloc_irqs()
320 device_printf(priv->dev, "Failed to setup irq %d for Tx queue %d, " in gve_alloc_irqs()
325 bus_describe_intr(priv->dev, irq->res, irq->cookie, "tx%d", i); in gve_alloc_irqs()
330 irq = &priv->irq_tbl[i + j]; in gve_alloc_irqs()
335 irq->res = bus_alloc_resource_any(priv->dev, SYS_RES_IRQ, in gve_alloc_irqs()
337 if (irq->res == NULL) { in gve_alloc_irqs()
339 "Failed to alloc irq %d for Rx queue %d", rid, j); in gve_alloc_irqs()
344 err = bus_setup_intr(priv->dev, irq->res, INTR_TYPE_NET | INTR_MPSAFE, in gve_alloc_irqs()
346 &priv->rx[j], &irq->cookie); in gve_alloc_irqs()
348 device_printf(priv->dev, "Failed to setup irq %d for Rx queue %d, " in gve_alloc_irqs()
353 bus_describe_intr(priv->dev, irq->res, irq->cookie, "rx%d", j); in gve_alloc_irqs()
359 irq = &priv->irq_tbl[m]; in gve_alloc_irqs()
361 irq->res = bus_alloc_resource_any(priv->dev, SYS_RES_IRQ, in gve_alloc_irqs()
363 if (irq->res == NULL) { in gve_alloc_irqs()
364 device_printf(priv->dev, "Failed to allocate irq %d for mgmnt queue\n", rid); in gve_alloc_irqs()
369 err = bus_setup_intr(priv->dev, irq->res, INTR_TYPE_NET | INTR_MPSAFE, in gve_alloc_irqs()
370 gve_mgmnt_intr, NULL, priv, &irq->cookie); in gve_alloc_irqs()
372 device_printf(priv->dev, "Failed to setup irq %d for mgmnt queue, err: %d\n", in gve_alloc_irqs()
377 bus_describe_intr(priv->dev, irq->res, irq->cookie, "mgmnt"); in gve_alloc_irqs()
387 * Builds register value to write to DQO IRQ doorbell to enable with specified