Lines Matching refs:mic

188 static int mmcsd_ioctl_cmd(struct mmcsd_part *part, struct mmc_ioc_cmd *mic,
831 struct mmc_ioc_cmd *mic; in mmcsd_ioctl() local
846 mic = data; in mmcsd_ioctl()
847 err = mmcsd_ioctl_cmd(part, mic, fflag); in mmcsd_ioctl()
856 size = sizeof(*mic) * cnt; in mmcsd_ioctl()
857 mic = malloc(size, M_TEMP, M_WAITOK); in mmcsd_ioctl()
858 err = copyin((const void *)mimc->cmds, mic, size); in mmcsd_ioctl()
861 err = mmcsd_ioctl_cmd(part, &mic[i], fflag); in mmcsd_ioctl()
866 free(mic, M_TEMP); in mmcsd_ioctl()
875 mmcsd_ioctl_cmd(struct mmcsd_part *part, struct mmc_ioc_cmd *mic, int fflag) in mmcsd_ioctl_cmd() argument
887 if ((fflag & FWRITE) == 0 && mic->write_flag != 0) in mmcsd_ioctl_cmd()
890 if (part->ro == TRUE && mic->write_flag != 0) in mmcsd_ioctl_cmd()
913 len = mic->blksz * mic->blocks; in mmcsd_ioctl_cmd()
920 err = copyin((void *)(uintptr_t)mic->data_ptr, dp, len); in mmcsd_ioctl_cmd()
926 cmd.opcode = mic->opcode; in mmcsd_ioctl_cmd()
927 cmd.arg = mic->arg; in mmcsd_ioctl_cmd()
928 cmd.flags = mic->flags; in mmcsd_ioctl_cmd()
932 data.flags = mic->write_flag != 0 ? MMC_DATA_WRITE : in mmcsd_ioctl_cmd()
938 if (mic->is_acmd == 0) { in mmcsd_ioctl_cmd()
979 err = mmcsd_set_blockcount(sc, mic->blocks, in mmcsd_ioctl_cmd()
980 mic->write_flag & (1 << 31)); in mmcsd_ioctl_cmd()
984 if (mic->write_flag != 0) in mmcsd_ioctl_cmd()
986 if (mic->is_acmd != 0) in mmcsd_ioctl_cmd()
1048 memcpy(mic->response, cmd.resp, 4 * sizeof(uint32_t)); in mmcsd_ioctl_cmd()
1049 if (mic->write_flag == 0 && len != 0) { in mmcsd_ioctl_cmd()
1050 err = copyout(dp, (void *)(uintptr_t)mic->data_ptr, len); in mmcsd_ioctl_cmd()