Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/smartpqi/smartpqi_intr.c
Show First 20 Lines • Show All 175 Lines • ▼ Show 20 Lines | if (NULL == softs->os_specific.pqi_irq[0]) { | ||||
DBG_ERR("Failed to allocate resource for interrupt\n"); | DBG_ERR("Failed to allocate resource for interrupt\n"); | ||||
return PQI_STATUS_FAILURE; | return PQI_STATUS_FAILURE; | ||||
} | } | ||||
if ((softs->os_specific.msi_ctx = os_mem_alloc(softs,sizeof(pqi_intr_ctx_t))) == NULL) { | if ((softs->os_specific.msi_ctx = os_mem_alloc(softs,sizeof(pqi_intr_ctx_t))) == NULL) { | ||||
DBG_ERR("Failed to allocate memory for msi_ctx\n"); | DBG_ERR("Failed to allocate memory for msi_ctx\n"); | ||||
return PQI_STATUS_FAILURE; | return PQI_STATUS_FAILURE; | ||||
} | } | ||||
softs->os_specific.msi_ctx[0].pqi_dev = dev; | softs->os_specific.msi_ctx[0].pqi_dev = dev; | ||||
softs->os_specific.msi_ctx[0].oq_id = 0; | softs->os_specific.msi_ctx[0].oq_id = 1; | ||||
error = bus_setup_intr(dev, softs->os_specific.pqi_irq[0], | error = bus_setup_intr(dev, softs->os_specific.pqi_irq[0], | ||||
INTR_TYPE_CAM | INTR_MPSAFE, \ | INTR_TYPE_CAM | INTR_MPSAFE, \ | ||||
NULL, shared_ithread_routine, | NULL, shared_ithread_routine, | ||||
&softs->os_specific.msi_ctx[0], | &softs->os_specific.msi_ctx[0], | ||||
&softs->os_specific.intrcookie[0]); | &softs->os_specific.intrcookie[0]); | ||||
if (error) { | if (error) { | ||||
DBG_ERR("Failed to setup legacy interrupt err = %d\n", error); | DBG_ERR("Failed to setup legacy interrupt err = %d\n", error); | ||||
Show All 29 Lines | softs->os_specific.pqi_irq[i] = bus_alloc_resource_any(dev, \ | ||||
RF_SHAREABLE | RF_ACTIVE); | RF_SHAREABLE | RF_ACTIVE); | ||||
if (NULL == softs->os_specific.pqi_irq[i]) { | if (NULL == softs->os_specific.pqi_irq[i]) { | ||||
DBG_ERR("Failed to allocate \ | DBG_ERR("Failed to allocate \ | ||||
event interrupt resource\n"); | event interrupt resource\n"); | ||||
return PQI_STATUS_FAILURE; | return PQI_STATUS_FAILURE; | ||||
} | } | ||||
softs->os_specific.msi_ctx[i].pqi_dev = dev; | softs->os_specific.msi_ctx[i].pqi_dev = dev; | ||||
softs->os_specific.msi_ctx[i].oq_id = i; | softs->os_specific.msi_ctx[i].oq_id = i+1; | ||||
error = bus_setup_intr(dev,softs->os_specific.pqi_irq[i], | error = bus_setup_intr(dev,softs->os_specific.pqi_irq[i], | ||||
INTR_TYPE_CAM | INTR_MPSAFE,\ | INTR_TYPE_CAM | INTR_MPSAFE,\ | ||||
NULL, | NULL, | ||||
shared_ithread_routine, | shared_ithread_routine, | ||||
&softs->os_specific.msi_ctx[i], | &softs->os_specific.msi_ctx[i], | ||||
&softs->os_specific.intrcookie[i]); | &softs->os_specific.intrcookie[i]); | ||||
▲ Show 20 Lines • Show All 199 Lines • Show Last 20 Lines |