Lines Matching refs:mic

187 static int mmcsd_ioctl_cmd(struct mmcsd_part *part, struct mmc_ioc_cmd *mic,
830 struct mmc_ioc_cmd *mic; in mmcsd_ioctl() local
845 mic = data; in mmcsd_ioctl()
846 err = mmcsd_ioctl_cmd(part, mic, fflag); in mmcsd_ioctl()
855 size = sizeof(*mic) * cnt; in mmcsd_ioctl()
856 mic = malloc(size, M_TEMP, M_WAITOK); in mmcsd_ioctl()
857 err = copyin((const void *)mimc->cmds, mic, size); in mmcsd_ioctl()
860 err = mmcsd_ioctl_cmd(part, &mic[i], fflag); in mmcsd_ioctl()
865 free(mic, M_TEMP); in mmcsd_ioctl()
874 mmcsd_ioctl_cmd(struct mmcsd_part *part, struct mmc_ioc_cmd *mic, int fflag) in mmcsd_ioctl_cmd() argument
886 if ((fflag & FWRITE) == 0 && mic->write_flag != 0) in mmcsd_ioctl_cmd()
889 if (part->ro == TRUE && mic->write_flag != 0) in mmcsd_ioctl_cmd()
912 len = mic->blksz * mic->blocks; in mmcsd_ioctl_cmd()
919 err = copyin((void *)(uintptr_t)mic->data_ptr, dp, len); in mmcsd_ioctl_cmd()
925 cmd.opcode = mic->opcode; in mmcsd_ioctl_cmd()
926 cmd.arg = mic->arg; in mmcsd_ioctl_cmd()
927 cmd.flags = mic->flags; in mmcsd_ioctl_cmd()
931 data.flags = mic->write_flag != 0 ? MMC_DATA_WRITE : in mmcsd_ioctl_cmd()
937 if (mic->is_acmd == 0) { in mmcsd_ioctl_cmd()
978 err = mmcsd_set_blockcount(sc, mic->blocks, in mmcsd_ioctl_cmd()
979 mic->write_flag & (1 << 31)); in mmcsd_ioctl_cmd()
983 if (mic->write_flag != 0) in mmcsd_ioctl_cmd()
985 if (mic->is_acmd != 0) in mmcsd_ioctl_cmd()
1047 memcpy(mic->response, cmd.resp, 4 * sizeof(uint32_t)); in mmcsd_ioctl_cmd()
1048 if (mic->write_flag == 0 && len != 0) { in mmcsd_ioctl_cmd()
1049 err = copyout(dp, (void *)(uintptr_t)mic->data_ptr, len); in mmcsd_ioctl_cmd()