• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/isci/

Lines Matching refs:isci

36 #include <dev/isci/isci.h>
48 #include <dev/isci/scil/scic_logger.h>
49 #include <dev/isci/scil/scic_library.h>
50 #include <dev/isci/scil/scic_sgpio.h>
51 #include <dev/isci/scil/scic_user_callback.h>
53 #include <dev/isci/scil/scif_controller.h>
54 #include <dev/isci/scil/scif_library.h>
55 #include <dev/isci/scil/scif_logger.h>
56 #include <dev/isci/scil/scif_user_callback.h>
58 MALLOC_DEFINE(M_ISCI, "isci", "isci driver memory allocations");
67 int isci_initialize(struct isci_softc *isci);
83 "isci",
88 DRIVER_MODULE(isci, pci, isci_pci_driver, isci_devclass, 0, 0);
89 MODULE_DEPEND(isci, cam, 1, 1, 1);
134 isci_allocate_pci_memory(struct isci_softc *isci)
140 struct ISCI_PCI_BAR *pci_bar = &isci->pci_bar[i];
143 pci_bar->resource = bus_alloc_resource_any(isci->device,
164 struct isci_softc *isci = DEVICE2SOFTC(device);
166 g_isci = isci;
167 isci->device = device;
170 isci_allocate_pci_memory(isci);
172 error = isci_initialize(isci);
180 isci_interrupt_setup(isci);
181 isci_sysctl_initialize(isci);
189 struct isci_softc *isci = DEVICE2SOFTC(device);
192 for (i = 0; i < isci->controller_count; i++) {
193 struct ISCI_CONTROLLER *controller = &isci->controllers[i];
212 pause("isci", 1);
249 if (isci->sci_library_memory != NULL)
250 free(isci->sci_library_memory, M_ISCI);
254 struct ISCI_PCI_BAR *pci_bar = &isci->pci_bar[i];
261 for (i = 0; i < isci->num_interrupts; i++)
265 interrupt_info = &isci->interrupt_info[i];
284 isci_initialize(struct isci_softc *isci)
296 isci->sci_library_memory =
299 isci->sci_library_handle = scif_library_construct(
300 isci->sci_library_memory, SCI_MAX_CONTROLLERS);
302 sci_object_set_association( isci->sci_library_handle, (void *)isci);
319 TUNABLE_INT_FETCH("hw.isci.debug_level", &g_isci_debug_level);
321 sci_logger_enable(sci_object_get_logger(isci->sci_library_handle),
325 scif_library_get_scic_handle(isci->sci_library_handle)),
328 header_buffer = (uint8_t *)&isci->pci_common_header;
329 for (uint8_t i = 0; i < sizeof(isci->pci_common_header); i++)
330 header_buffer[i] = pci_read_config(isci->device, i, 1);
333 scif_library_get_scic_handle(isci->sci_library_handle),
334 &isci->pci_common_header);
336 isci->oem_parameters_found = FALSE;
338 isci_get_oem_parameters(isci);
341 isci->coalesce_number = 32;
346 isci->coalesce_timeout = 2;
348 isci->controller_count = scic_library_get_pci_device_controller_count(
349 scif_library_get_scic_handle(isci->sci_library_handle));
351 for (int index = 0; index < isci->controller_count; index++) {
352 struct ISCI_CONTROLLER *controller = &isci->controllers[index];
356 isci_controller_construct(controller, isci);
375 scif_controller_handle, isci->coalesce_number,
376 isci->coalesce_timeout);
385 isci->config_hook.ich_func = &isci_controller_start;
386 isci->config_hook.ich_arg = &isci->controllers[0];
388 if (config_intrhook_establish(&isci->config_hook) != 0)
588 struct isci_softc *isci = isci_controller->isci;
592 bus_space_write_4(isci->pci_bar[bar].bus_tag,
593 isci->pci_bar[bar].bus_handle, offset, write_value);
615 struct isci_softc *isci = isci_controller->isci;
619 return (bus_space_read_4(isci->pci_bar[bar].bus_tag,
620 isci->pci_bar[bar].bus_handle, offset));