Lines Matching refs:dfc2

414 emlxs_dfc_copyin(emlxs_hba_t *hba, void *arg, dfc_t *dfc1, dfc_t *dfc2,
465 /* Map dfc1 to dfc2 */
466 dfc2->cmd = dfc1->cmd;
467 dfc2->flag = dfc1->flag;
468 dfc2->data1 = dfc1->data1;
469 dfc2->data2 = dfc1->data2;
470 dfc2->data3 = dfc1->data3;
471 dfc2->data4 = dfc1->data4;
472 dfc2->buf1 = 0;
473 dfc2->buf1_size = 0;
474 dfc2->buf2 = 0;
475 dfc2->buf2_size = 0;
476 dfc2->buf3 = 0;
477 dfc2->buf3_size = 0;
478 dfc2->buf4 = 0;
479 dfc2->buf4_size = 0;
483 dfc2->buf1_size = dfc1->buf1_size;
484 dfc2->buf1 = kmem_zalloc(dfc1->buf1_size, KM_SLEEP);
486 if (ddi_copyin(dfc1->buf1, dfc2->buf1, dfc1->buf1_size,
499 dfc2->buf2_size = dfc1->buf2_size;
500 dfc2->buf2 = kmem_zalloc(dfc1->buf2_size, KM_SLEEP);
502 if (ddi_copyin(dfc1->buf2, dfc2->buf2, dfc1->buf2_size,
515 dfc2->buf3_size = dfc1->buf3_size;
516 dfc2->buf3 = kmem_zalloc(dfc1->buf3_size, KM_SLEEP);
518 if (ddi_copyin(dfc1->buf3, dfc2->buf3, dfc1->buf3_size,
531 dfc2->buf4_size = dfc1->buf4_size;
532 dfc2->buf4 = kmem_zalloc(dfc1->buf4_size, KM_SLEEP);
534 if (ddi_copyin(dfc1->buf4, dfc2->buf4, dfc1->buf4_size,
553 emlxs_dfc_copyout(emlxs_hba_t *hba, void *arg, dfc_t *dfc2, dfc_t *dfc1,
567 if (dfc2->buf1) {
568 if (ddi_copyout(dfc2->buf1, dfc1->buf1, dfc1->buf1_size,
572 emlxs_dfc_xlate(dfc2->cmd),
573 dfc2->buf1_size);
577 kmem_free(dfc2->buf1, dfc2->buf1_size);
578 dfc2->buf1 = 0;
581 if (dfc2->buf2) {
582 if (ddi_copyout(dfc2->buf2, dfc1->buf2, dfc1->buf2_size,
586 emlxs_dfc_xlate(dfc2->cmd),
587 dfc2->buf2_size);
591 kmem_free(dfc2->buf2, dfc2->buf2_size);
592 dfc2->buf2 = 0;
595 if (dfc2->buf3) {
596 if (ddi_copyout(dfc2->buf3, dfc1->buf3, dfc1->buf3_size,
600 emlxs_dfc_xlate(dfc2->cmd),
601 dfc2->buf3_size);
605 kmem_free(dfc2->buf3, dfc2->buf3_size);
606 dfc2->buf3 = 0;
609 if (dfc2->buf4) {
610 if (ddi_copyout(dfc2->buf4, dfc1->buf4, dfc1->buf4_size,
614 emlxs_dfc_xlate(dfc2->cmd),
615 dfc2->buf4_size);
619 kmem_free(dfc2->buf4, dfc2->buf4_size);
620 dfc2->buf4 = 0;
670 dfc_t dfc2;
674 /* then creates local dfc2 buffers */
675 rval = emlxs_dfc_copyin(hba, arg, &dfc1, &dfc2, mode);
681 rval = emlxs_dfc_func(hba, &dfc2, mode);
687 /* This copies dfc2 local buffers back to dfc1 addresses */
688 rval = emlxs_dfc_copyout(hba, arg, &dfc2, &dfc1, mode);