Lines Matching refs:ioc

7220 				"Failed to allocate ioc init request\n");
8228 * @ioc: ioctl packet
8233 struct megasas_iocpacket *ioc)
8249 if (ioc->sge_count > MAX_IOCTL_SGE) {
8251 ioc->sge_count, MAX_IOCTL_SGE);
8255 if ((ioc->frame.hdr.cmd >= MFI_CMD_OP_COUNT) ||
8256 ((ioc->frame.hdr.cmd == MFI_CMD_NVME) &&
8258 ((ioc->frame.hdr.cmd == MFI_CMD_TOOLBOX) &&
8262 ioc->frame.hdr.cmd);
8278 memcpy(cmd->frame, ioc->frame.raw, 2 * MEGAMFI_FRAME_SIZE);
8320 ((unsigned long)cmd->frame + ioc->sgl_off);
8323 ((unsigned long)cmd->frame + ioc->sgl_off);
8328 for (i = 0; i < ioc->sge_count; i++) {
8329 if (!ioc->sgl[i].iov_len)
8333 ioc->sgl[i].iov_len,
8348 kern_sge64[i].length = cpu_to_le32(ioc->sgl[i].iov_len);
8351 kern_sge32[i].length = cpu_to_le32(ioc->sgl[i].iov_len);
8358 if (copy_from_user(kbuff_arr[i], ioc->sgl[i].iov_base,
8359 (u32) (ioc->sgl[i].iov_len))) {
8365 if (ioc->sense_len) {
8367 if (ioc->sense_off >
8373 sense = dma_alloc_coherent(&instance->pdev->dev, ioc->sense_len,
8381 sense_ptr = (void *)cmd->frame + ioc->sense_off;
8414 for (i = 0; i < ioc->sge_count; i++) {
8415 if (copy_to_user(ioc->sgl[i].iov_base, kbuff_arr[i],
8416 ioc->sgl[i].iov_len)) {
8425 if (ioc->sense_len) {
8431 sense_ptr = (void *)ioc->frame.raw + ioc->sense_off;
8438 if (copy_to_user(uptr, sense, ioc->sense_len)) {
8457 dma_free_coherent(&instance->pdev->dev, ioc->sense_len,
8461 for (i = 0; i < ioc->sge_count; i++) {
8484 struct megasas_iocpacket *ioc;
8490 ioc = kzalloc(sizeof(*ioc), GFP_KERNEL);
8491 if (!ioc)
8493 size = offsetof(struct megasas_iocpacket, frame) + sizeof(ioc->frame);
8494 if (copy_from_user(ioc, arg, size))
8501 get_user(ioc->sgl[i].iov_len, &cioc->sgl[i].iov_len))
8504 ioc->sgl[i].iov_base = compat_ptr(iov_base);
8507 return ioc;
8509 kfree(ioc);
8517 struct megasas_iocpacket *ioc;
8522 ioc = megasas_compat_iocpacket_get_user(user_ioc);
8524 ioc = memdup_user(user_ioc, sizeof(struct megasas_iocpacket));
8526 if (IS_ERR(ioc))
8527 return PTR_ERR(ioc);
8529 instance = megasas_lookup_instance(ioc->host_no);
8562 error = megasas_mgmt_fw_ioctl(instance, user_ioc, ioc);
8567 kfree(ioc);