kioc 2190 drivers/scsi/megaraid/megaraid_mbox.c uioc_t *kioc; kioc 2233 drivers/scsi/megaraid/megaraid_mbox.c kioc = (uioc_t *)scb->gp; kioc 2234 drivers/scsi/megaraid/megaraid_mbox.c kioc->status = 0; kioc 2533 drivers/scsi/megaraid/megaraid_mbox.c uioc_t *kioc; kioc 2561 drivers/scsi/megaraid/megaraid_mbox.c kioc = (uioc_t *)scb->gp; kioc 2562 drivers/scsi/megaraid/megaraid_mbox.c kioc->status = -EFAULT; kioc 3510 drivers/scsi/megaraid/megaraid_mbox.c megaraid_mbox_mm_handler(unsigned long drvr_data, uioc_t *kioc, uint32_t action) kioc 3530 drivers/scsi/megaraid/megaraid_mbox.c switch (kioc->opcode) { kioc 3534 drivers/scsi/megaraid/megaraid_mbox.c kioc->status = gather_hbainfo(adapter, (mraid_hba_info_t *) kioc 3535 drivers/scsi/megaraid/megaraid_mbox.c (unsigned long)kioc->buf_vaddr); kioc 3537 drivers/scsi/megaraid/megaraid_mbox.c kioc->done(kioc); kioc 3539 drivers/scsi/megaraid/megaraid_mbox.c return kioc->status; kioc 3543 drivers/scsi/megaraid/megaraid_mbox.c return megaraid_mbox_mm_command(adapter, kioc); kioc 3546 drivers/scsi/megaraid/megaraid_mbox.c kioc->status = (-EINVAL); kioc 3547 drivers/scsi/megaraid/megaraid_mbox.c kioc->done(kioc); kioc 3562 drivers/scsi/megaraid/megaraid_mbox.c megaraid_mbox_mm_command(adapter_t *adapter, uioc_t *kioc) kioc 3594 drivers/scsi/megaraid/megaraid_mbox.c mbox64 = (mbox64_t *)(unsigned long)kioc->cmdbuf; kioc 3599 drivers/scsi/megaraid/megaraid_mbox.c scb->gp = (unsigned long)kioc; kioc 3611 drivers/scsi/megaraid/megaraid_mbox.c kioc->status = -ETIME; kioc 3628 drivers/scsi/megaraid/megaraid_mbox.c kioc->status = -EBUSY; kioc 3688 drivers/scsi/megaraid/megaraid_mbox.c uioc_t *kioc; kioc 3693 drivers/scsi/megaraid/megaraid_mbox.c kioc = (uioc_t *)scb->gp; kioc 3694 drivers/scsi/megaraid/megaraid_mbox.c mbox64 = (mbox64_t *)(unsigned long)kioc->cmdbuf; kioc 3718 drivers/scsi/megaraid/megaraid_mbox.c kioc->done(kioc); kioc 112 drivers/scsi/megaraid/megaraid_mm.c uioc_t *kioc; kioc 181 drivers/scsi/megaraid/megaraid_mm.c kioc = mraid_mm_alloc_kioc(adp); kioc 182 drivers/scsi/megaraid/megaraid_mm.c if (!kioc) kioc 188 drivers/scsi/megaraid/megaraid_mm.c if ((rval = mimd_to_kioc(argp, adp, kioc))) { kioc 189 drivers/scsi/megaraid/megaraid_mm.c mraid_mm_dealloc_kioc(adp, kioc); kioc 193 drivers/scsi/megaraid/megaraid_mm.c kioc->done = ioctl_done; kioc 200 drivers/scsi/megaraid/megaraid_mm.c if ((rval = lld_ioctl(adp, kioc))) { kioc 202 drivers/scsi/megaraid/megaraid_mm.c if (!kioc->timedout) kioc 203 drivers/scsi/megaraid/megaraid_mm.c mraid_mm_dealloc_kioc(adp, kioc); kioc 211 drivers/scsi/megaraid/megaraid_mm.c rval = kioc_to_mimd(kioc, argp); kioc 216 drivers/scsi/megaraid/megaraid_mm.c mraid_mm_dealloc_kioc(adp, kioc); kioc 358 drivers/scsi/megaraid/megaraid_mm.c mimd_to_kioc(mimd_t __user *umimd, mraid_mmadp_t *adp, uioc_t *kioc) kioc 385 drivers/scsi/megaraid/megaraid_mm.c kioc->adapno = adapno; kioc 386 drivers/scsi/megaraid/megaraid_mm.c kioc->mb_type = MBOX_LEGACY; kioc 387 drivers/scsi/megaraid/megaraid_mm.c kioc->app_type = APPTYPE_MIMD; kioc 395 drivers/scsi/megaraid/megaraid_mm.c kioc->opcode = GET_ADAP_INFO; kioc 396 drivers/scsi/megaraid/megaraid_mm.c kioc->data_dir = UIOC_RD; kioc 397 drivers/scsi/megaraid/megaraid_mm.c kioc->xferlen = sizeof(mraid_hba_info_t); kioc 399 drivers/scsi/megaraid/megaraid_mm.c if (mraid_mm_attach_buf(adp, kioc, kioc->xferlen)) kioc 412 drivers/scsi/megaraid/megaraid_mm.c kioc->opcode = MBOX_CMD; kioc 413 drivers/scsi/megaraid/megaraid_mm.c kioc->xferlen = mimd.ui.fcs.length; kioc 414 drivers/scsi/megaraid/megaraid_mm.c kioc->user_data_len = kioc->xferlen; kioc 415 drivers/scsi/megaraid/megaraid_mm.c kioc->user_data = mimd.ui.fcs.buffer; kioc 417 drivers/scsi/megaraid/megaraid_mm.c if (mraid_mm_attach_buf(adp, kioc, kioc->xferlen)) kioc 420 drivers/scsi/megaraid/megaraid_mm.c if (mimd.outlen) kioc->data_dir = UIOC_RD; kioc 421 drivers/scsi/megaraid/megaraid_mm.c if (mimd.inlen) kioc->data_dir |= UIOC_WR; kioc 427 drivers/scsi/megaraid/megaraid_mm.c kioc->opcode = MBOX_CMD; kioc 428 drivers/scsi/megaraid/megaraid_mm.c kioc->xferlen = (mimd.outlen > mimd.inlen) ? kioc 430 drivers/scsi/megaraid/megaraid_mm.c kioc->user_data_len = kioc->xferlen; kioc 431 drivers/scsi/megaraid/megaraid_mm.c kioc->user_data = mimd.data; kioc 433 drivers/scsi/megaraid/megaraid_mm.c if (mraid_mm_attach_buf(adp, kioc, kioc->xferlen)) kioc 436 drivers/scsi/megaraid/megaraid_mm.c if (mimd.outlen) kioc->data_dir = UIOC_RD; kioc 437 drivers/scsi/megaraid/megaraid_mm.c if (mimd.inlen) kioc->data_dir |= UIOC_WR; kioc 454 drivers/scsi/megaraid/megaraid_mm.c mbox64 = (mbox64_t *)((unsigned long)kioc->cmdbuf); kioc 460 drivers/scsi/megaraid/megaraid_mm.c mbox->xferaddr = (uint32_t)kioc->buf_paddr; kioc 462 drivers/scsi/megaraid/megaraid_mm.c if (kioc->data_dir & UIOC_WR) { kioc 463 drivers/scsi/megaraid/megaraid_mm.c if (copy_from_user(kioc->buf_vaddr, kioc->user_data, kioc 464 drivers/scsi/megaraid/megaraid_mm.c kioc->xferlen)) { kioc 478 drivers/scsi/megaraid/megaraid_mm.c pthru32 = kioc->pthru32; kioc 479 drivers/scsi/megaraid/megaraid_mm.c kioc->user_pthru = &umimd->pthru; kioc 480 drivers/scsi/megaraid/megaraid_mm.c mbox->xferaddr = (uint32_t)kioc->pthru32_h; kioc 482 drivers/scsi/megaraid/megaraid_mm.c if (copy_from_user(pthru32, kioc->user_pthru, kioc 487 drivers/scsi/megaraid/megaraid_mm.c pthru32->dataxferaddr = kioc->buf_paddr; kioc 488 drivers/scsi/megaraid/megaraid_mm.c if (kioc->data_dir & UIOC_WR) { kioc 489 drivers/scsi/megaraid/megaraid_mm.c if (pthru32->dataxferlen > kioc->xferlen) kioc 491 drivers/scsi/megaraid/megaraid_mm.c if (copy_from_user(kioc->buf_vaddr, kioc->user_data, kioc 512 drivers/scsi/megaraid/megaraid_mm.c mraid_mm_attach_buf(mraid_mmadp_t *adp, uioc_t *kioc, int xferlen) kioc 519 drivers/scsi/megaraid/megaraid_mm.c kioc->pool_index = -1; kioc 520 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_vaddr = NULL; kioc 521 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_paddr = 0; kioc 522 drivers/scsi/megaraid/megaraid_mm.c kioc->free_buf = 0; kioc 544 drivers/scsi/megaraid/megaraid_mm.c kioc->pool_index = i; kioc 545 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_vaddr = pool->vaddr; kioc 546 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_paddr = pool->paddr; kioc 571 drivers/scsi/megaraid/megaraid_mm.c kioc->pool_index = right_pool; kioc 572 drivers/scsi/megaraid/megaraid_mm.c kioc->free_buf = 1; kioc 573 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_vaddr = dma_pool_alloc(pool->handle, GFP_ATOMIC, kioc 574 drivers/scsi/megaraid/megaraid_mm.c &kioc->buf_paddr); kioc 577 drivers/scsi/megaraid/megaraid_mm.c if (!kioc->buf_vaddr) kioc 594 drivers/scsi/megaraid/megaraid_mm.c uioc_t *kioc; kioc 612 drivers/scsi/megaraid/megaraid_mm.c kioc = list_entry(head->next, uioc_t, list); kioc 613 drivers/scsi/megaraid/megaraid_mm.c list_del_init(&kioc->list); kioc 617 drivers/scsi/megaraid/megaraid_mm.c memset((caddr_t)(unsigned long)kioc->cmdbuf, 0, sizeof(mbox64_t)); kioc 618 drivers/scsi/megaraid/megaraid_mm.c memset((caddr_t) kioc->pthru32, 0, sizeof(mraid_passthru_t)); kioc 620 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_vaddr = NULL; kioc 621 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_paddr = 0; kioc 622 drivers/scsi/megaraid/megaraid_mm.c kioc->pool_index =-1; kioc 623 drivers/scsi/megaraid/megaraid_mm.c kioc->free_buf = 0; kioc 624 drivers/scsi/megaraid/megaraid_mm.c kioc->user_data = NULL; kioc 625 drivers/scsi/megaraid/megaraid_mm.c kioc->user_data_len = 0; kioc 626 drivers/scsi/megaraid/megaraid_mm.c kioc->user_pthru = NULL; kioc 627 drivers/scsi/megaraid/megaraid_mm.c kioc->timedout = 0; kioc 629 drivers/scsi/megaraid/megaraid_mm.c return kioc; kioc 638 drivers/scsi/megaraid/megaraid_mm.c mraid_mm_dealloc_kioc(mraid_mmadp_t *adp, uioc_t *kioc) kioc 643 drivers/scsi/megaraid/megaraid_mm.c if (kioc->pool_index != -1) { kioc 644 drivers/scsi/megaraid/megaraid_mm.c pool = &adp->dma_pool_list[kioc->pool_index]; kioc 656 drivers/scsi/megaraid/megaraid_mm.c if (kioc->free_buf == 1) kioc 657 drivers/scsi/megaraid/megaraid_mm.c dma_pool_free(pool->handle, kioc->buf_vaddr, kioc 658 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_paddr); kioc 667 drivers/scsi/megaraid/megaraid_mm.c list_add(&kioc->list, &adp->kioc_pool); kioc 682 drivers/scsi/megaraid/megaraid_mm.c lld_ioctl(mraid_mmadp_t *adp, uioc_t *kioc) kioc 687 drivers/scsi/megaraid/megaraid_mm.c kioc->status = -ENODATA; kioc 688 drivers/scsi/megaraid/megaraid_mm.c rval = adp->issue_uioc(adp->drvr_data, kioc, IOCTL_ISSUE); kioc 696 drivers/scsi/megaraid/megaraid_mm.c timeout.uioc = kioc; kioc 708 drivers/scsi/megaraid/megaraid_mm.c wait_event(wait_q, (kioc->status != -ENODATA)); kioc 718 drivers/scsi/megaraid/megaraid_mm.c if (kioc->timedout) { kioc 722 drivers/scsi/megaraid/megaraid_mm.c return kioc->status; kioc 731 drivers/scsi/megaraid/megaraid_mm.c ioctl_done(uioc_t *kioc) kioc 742 drivers/scsi/megaraid/megaraid_mm.c if (kioc->status == -ENODATA) { kioc 746 drivers/scsi/megaraid/megaraid_mm.c kioc->status = -EINVAL; kioc 754 drivers/scsi/megaraid/megaraid_mm.c if (kioc->timedout) { kioc 757 drivers/scsi/megaraid/megaraid_mm.c adapno = kioc->adapno; kioc 766 drivers/scsi/megaraid/megaraid_mm.c kioc->timedout = 0; kioc 769 drivers/scsi/megaraid/megaraid_mm.c mraid_mm_dealloc_kioc( adapter, kioc ); kioc 786 drivers/scsi/megaraid/megaraid_mm.c uioc_t *kioc = timeout->uioc; kioc 788 drivers/scsi/megaraid/megaraid_mm.c kioc->status = -ETIME; kioc 789 drivers/scsi/megaraid/megaraid_mm.c kioc->timedout = 1; kioc 803 drivers/scsi/megaraid/megaraid_mm.c kioc_to_mimd(uioc_t *kioc, mimd_t __user *mimd) kioc 828 drivers/scsi/megaraid/megaraid_mm.c kioc->buf_vaddr; kioc 844 drivers/scsi/megaraid/megaraid_mm.c mbox64 = (mbox64_t *)(unsigned long)kioc->cmdbuf; kioc 846 drivers/scsi/megaraid/megaraid_mm.c if (kioc->user_pthru) { kioc 848 drivers/scsi/megaraid/megaraid_mm.c upthru32 = kioc->user_pthru; kioc 849 drivers/scsi/megaraid/megaraid_mm.c kpthru32 = kioc->pthru32; kioc 858 drivers/scsi/megaraid/megaraid_mm.c if (kioc->user_data) { kioc 859 drivers/scsi/megaraid/megaraid_mm.c if (copy_to_user(kioc->user_data, kioc->buf_vaddr, kioc 860 drivers/scsi/megaraid/megaraid_mm.c kioc->user_data_len)) { kioc 907 drivers/scsi/megaraid/megaraid_mm.c uioc_t *kioc; kioc 968 drivers/scsi/megaraid/megaraid_mm.c kioc = adapter->kioc_list + i; kioc 969 drivers/scsi/megaraid/megaraid_mm.c kioc->cmdbuf = (uint64_t)(unsigned long)(mbox_list + i); kioc 970 drivers/scsi/megaraid/megaraid_mm.c kioc->pthru32 = dma_pool_alloc(adapter->pthru_dma_pool, kioc 971 drivers/scsi/megaraid/megaraid_mm.c GFP_KERNEL, &kioc->pthru32_h); kioc 973 drivers/scsi/megaraid/megaraid_mm.c if (!kioc->pthru32) { kioc 984 drivers/scsi/megaraid/megaraid_mm.c list_add_tail(&kioc->list, &adapter->kioc_pool); kioc 1004 drivers/scsi/megaraid/megaraid_mm.c kioc = adapter->kioc_list + i; kioc 1005 drivers/scsi/megaraid/megaraid_mm.c if (kioc->pthru32) { kioc 1006 drivers/scsi/megaraid/megaraid_mm.c dma_pool_free(adapter->pthru_dma_pool, kioc->pthru32, kioc 1007 drivers/scsi/megaraid/megaraid_mm.c kioc->pthru32_h); kioc 1154 drivers/scsi/megaraid/megaraid_mm.c uioc_t *kioc; kioc 1161 drivers/scsi/megaraid/megaraid_mm.c kioc = adp->kioc_list + i; kioc 1163 drivers/scsi/megaraid/megaraid_mm.c dma_pool_free(adp->pthru_dma_pool, kioc->pthru32, kioc 1164 drivers/scsi/megaraid/megaraid_mm.c kioc->pthru32_h);