Lines Matching defs:isci

34 #include <dev/isci/isci.h>
46 #include <dev/isci/scil/scic_logger.h>
47 #include <dev/isci/scil/scic_library.h>
48 #include <dev/isci/scil/scic_sgpio.h>
49 #include <dev/isci/scil/scic_user_callback.h>
51 #include <dev/isci/scil/scif_controller.h>
52 #include <dev/isci/scil/scif_library.h>
53 #include <dev/isci/scil/scif_logger.h>
54 #include <dev/isci/scil/scif_user_callback.h>
56 MALLOC_DEFINE(M_ISCI, "isci", "isci driver memory allocations");
65 int isci_initialize(struct isci_softc *isci);
81 "isci",
86 DRIVER_MODULE(isci, pci, isci_pci_driver, isci_devclass, 0, 0);
87 MODULE_DEPEND(isci, cam, 1, 1, 1);
132 isci_allocate_pci_memory(struct isci_softc *isci)
138 struct ISCI_PCI_BAR *pci_bar = &isci->pci_bar[i];
141 pci_bar->resource = bus_alloc_resource_any(isci->device,
162 struct isci_softc *isci = DEVICE2SOFTC(device);
164 g_isci = isci;
165 isci->device = device;
168 isci_allocate_pci_memory(isci);
170 error = isci_initialize(isci);
178 isci_interrupt_setup(isci);
179 isci_sysctl_initialize(isci);
187 struct isci_softc *isci = DEVICE2SOFTC(device);
190 for (i = 0; i < isci->controller_count; i++) {
191 struct ISCI_CONTROLLER *controller = &isci->controllers[i];
210 pause("isci", 1);
247 if (isci->sci_library_memory != NULL)
248 free(isci->sci_library_memory, M_ISCI);
252 struct ISCI_PCI_BAR *pci_bar = &isci->pci_bar[i];
259 for (i = 0; i < isci->num_interrupts; i++)
263 interrupt_info = &isci->interrupt_info[i];
282 isci_initialize(struct isci_softc *isci)
294 isci->sci_library_memory =
297 isci->sci_library_handle = scif_library_construct(
298 isci->sci_library_memory, SCI_MAX_CONTROLLERS);
300 sci_object_set_association( isci->sci_library_handle, (void *)isci);
317 TUNABLE_INT_FETCH("hw.isci.debug_level", &g_isci_debug_level);
319 sci_logger_enable(sci_object_get_logger(isci->sci_library_handle),
323 scif_library_get_scic_handle(isci->sci_library_handle)),
326 header_buffer = (uint8_t *)&isci->pci_common_header;
327 for (uint8_t i = 0; i < sizeof(isci->pci_common_header); i++)
328 header_buffer[i] = pci_read_config(isci->device, i, 1);
331 scif_library_get_scic_handle(isci->sci_library_handle),
332 &isci->pci_common_header);
334 isci->oem_parameters_found = FALSE;
336 isci_get_oem_parameters(isci);
339 isci->coalesce_number = 32;
344 isci->coalesce_timeout = 2;
346 isci->controller_count = scic_library_get_pci_device_controller_count(
347 scif_library_get_scic_handle(isci->sci_library_handle));
349 for (int index = 0; index < isci->controller_count; index++) {
350 struct ISCI_CONTROLLER *controller = &isci->controllers[index];
354 isci_controller_construct(controller, isci);
373 scif_controller_handle, isci->coalesce_number,
374 isci->coalesce_timeout);
383 isci->config_hook.ich_func = &isci_controller_start;
384 isci->config_hook.ich_arg = &isci->controllers[0];
386 if (config_intrhook_establish(&isci->config_hook) != 0)
583 struct isci_softc *isci = isci_controller->isci;
587 bus_space_write_4(isci->pci_bar[bar].bus_tag,
588 isci->pci_bar[bar].bus_handle, offset, write_value);
610 struct isci_softc *isci = isci_controller->isci;
614 return (bus_space_read_4(isci->pci_bar[bar].bus_tag,
615 isci->pci_bar[bar].bus_handle, offset));