Lines Matching refs:softs

97 aac_do_ioctl(struct aac_softstate *softs, dev_t dev, int cmd, intptr_t arg,
104 AACDB_PRINT_IOCTL(softs, "FSACTL_MINIPORT_REV_CHECK");
105 status = aac_check_revision(softs, arg, mode);
108 AACDB_PRINT_IOCTL(softs, "FSACTL_SEND_LARGE_FIB");
111 AACDB_PRINT_IOCTL(softs, "FSACTL_SEND_LARGE_FIB");
113 status = aac_ioctl_send_fib(softs, arg, mode);
116 AACDB_PRINT_IOCTL(softs, "FSACTL_OPEN_GET_ADAPTER_FIB");
117 status = aac_open_getadapter_fib(softs, arg, mode);
120 AACDB_PRINT_IOCTL(softs, "FSACTL_GET_NEXT_ADAPTER_FIB");
121 status = aac_next_getadapter_fib(softs, arg, mode);
124 AACDB_PRINT_IOCTL(softs, "FSACTL_CLOSE_GET_ADAPTER_FIB");
125 status = aac_close_getadapter_fib(softs, arg);
128 AACDB_PRINT_IOCTL(softs, "FSACTL_SEND_RAW_SRB");
129 status = aac_send_raw_srb(softs, dev, arg, mode);
132 AACDB_PRINT_IOCTL(softs, "FSACTL_GET_PCI_INFO");
133 status = aac_get_pci_info(softs, arg, mode);
136 AACDB_PRINT_IOCTL(softs, "FSACTL_QUERY_DISK");
137 status = aac_query_disk(softs, arg, mode);
140 AACDB_PRINT_IOCTL(softs, "FSACTL_DELETE_DISK");
141 status = aac_delete_disk(softs, arg, mode);
144 AACDB_PRINT_IOCTL(softs, "FSACTL_GET_FEATURES");
145 status = aac_supported_features(softs, arg, mode);
149 AACDB_PRINT(softs, CE_WARN,
159 aac_check_revision(struct aac_softstate *softs, intptr_t arg, int mode)
164 DBCALLED(softs, 2);
188 aac_send_fib(struct aac_softstate *softs, struct aac_cmd *acp)
195 mutex_enter(&softs->io_lock);
196 if (softs->state & AAC_STATE_DEAD) {
197 mutex_exit(&softs->io_lock);
201 rval = aac_do_io(softs, acp);
205 AACDB_PRINT(softs, CE_CONT, "User SendFib failed ENXIO");
208 AACDB_PRINT(softs, CE_CONT, "User SendFib failed EBUSY");
211 mutex_exit(&softs->io_lock);
217 aac_ioctl_send_fib(struct aac_softstate *softs, intptr_t arg, int mode)
228 DBCALLED(softs, 2);
231 hbalen = sizeof (struct aac_cmd) + softs->aac_max_fib_size;
251 if (fib_size > softs->aac_max_fib_size) {
268 if (aac_dbflag_on(softs, AACDB_FLAGS_FIB) &&
269 (softs->debug_fib_flags & AACDB_FLAGS_FIB_IOCTL))
270 aac_printf(softs, CE_NOTE, "FIB> TakeABreakPt, sz=%d",
273 (void) aac_sync_mbcommand(softs, AAC_BREAKPOINT_REQ,
286 if ((rval = aac_send_fib(softs, acp)) != 0)
291 AACDB_PRINT(softs, CE_CONT, "FIB data corrupt");
297 AACDB_PRINT(softs, CE_CONT, "FIB copyout failed");
309 aac_open_getadapter_fib(struct aac_softstate *softs, intptr_t arg, int mode)
313 DBCALLED(softs, 2);
319 mutex_enter(&softs->aifq_mutex);
321 if (softs->fibctx_p == NULL) {
322 softs->fibctx_p = fibctx_p;
324 for (ctx_p = softs->fibctx_p; ctx_p->next; ctx_p = ctx_p->next)
332 ctx_p = softs->fibctx_p;
336 ctx_p = softs->fibctx_p;
343 if (softs->aifq_wrap) {
344 fibctx_p->ctx_idx = softs->aifq_idx;
347 mutex_exit(&softs->aifq_mutex);
357 aac_next_getadapter_fib(struct aac_softstate *softs, intptr_t arg, int mode)
365 DBCALLED(softs, 2);
370 mutex_enter(&softs->aifq_mutex);
371 for (ctx_p = softs->fibctx_p; ctx_p; ctx_p = ctx_p->next) {
375 mutex_exit(&softs->aifq_mutex);
379 rval = aac_return_aif_wait(softs, ctx_p, &fibp);
381 rval = aac_return_aif(softs, ctx_p, &fibp);
401 aac_close_getadapter_fib(struct aac_softstate *softs, intptr_t arg)
405 DBCALLED(softs, 2);
407 mutex_enter(&softs->aifq_mutex);
408 for (ctx_p = softs->fibctx_p; ctx_p; ctx_p = ctx_p->next) {
412 if (ctx_p == softs->fibctx_p)
413 softs->fibctx_p = ctx_p->next;
420 mutex_exit(&softs->aifq_mutex);
434 aac_send_raw_srb(struct aac_softstate *softs, dev_t dev, intptr_t arg, int mode)
453 DBCALLED(softs, 2);
459 if (usr_fib_size > (softs->aac_max_fib_size - \
527 if (acp->bcount > softs->buf_dma_attr.dma_attr_maxxfer) {
528 AACDB_PRINT(softs, CE_NOTE,
547 AACDB_PRINT(softs, CE_NOTE, "ddi_umem_lock failed: %d",
561 AACDB_PRINT(softs, CE_NOTE, "ddi_umem_iosetup failed");
565 if (aac_cmd_dma_alloc(softs, &usge->acp, bp, 0, NULL_FUNC,
571 if (acp->left_cookien > softs->aac_sg_tablesize) {
572 AACDB_PRINT(softs, CE_NOTE, "large cookiec received %d",
598 acp->aac_cmd_fib = softs->aac_cmd_fib_scsi;
602 if ((rval = aac_send_fib(softs, acp)) != 0)
639 aac_get_pci_info(struct aac_softstate *softs, intptr_t arg, int mode)
646 DBCALLED(softs, 2);
648 if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, softs->devinfo_p,
668 aac_query_disk(struct aac_softstate *softs, intptr_t arg, int mode)
674 DBCALLED(softs, 2);
692 mutex_enter(&softs->io_lock);
693 dvp = &softs->containers[qdisk->container_no];
697 mutex_exit(&softs->io_lock);
705 aac_delete_disk(struct aac_softstate *softs, intptr_t arg, int mode)
712 DBCALLED(softs, 2);
720 mutex_enter(&softs->io_lock);
721 dvp = &softs->containers[ddisk->container_no];
731 mutex_exit(&softs->io_lock);
741 aac_supported_features(struct aac_softstate *softs, intptr_t arg, int mode)
746 DBCALLED(softs, 2);
764 (softs->flags & AAC_FLAGS_LBA_64BIT) ? 1 : 0;
766 (softs->flags & AAC_FLAGS_JBOD) ? 1 : 0;
771 (softs->flags & AAC_FLAGS_LBA_64BIT) ? 1 : 0;
774 (softs->flags & AAC_FLAGS_JBOD) ? 1 : 0;