Lines Matching refs:scmd

2360 		struct udcd_cmd *scmd = (struct udcd_cmd *)bp->b_forw;  in make_dcd_cmd()  local
2365 if ((scmd->udcd_flags & UDCD_SILENT) && !(DEBUGGING)) { in make_dcd_cmd()
2368 if (scmd->udcd_flags & UDCD_DIAGNOSE) in make_dcd_cmd()
2371 if (scmd->udcd_flags & UDCD_NOINTR) in make_dcd_cmd()
2384 makecommand(pkt, 0, scmd->udcd_cmd->cmd, in make_dcd_cmd()
2385 scmd->udcd_cmd->sector_num.lba_num, in make_dcd_cmd()
2386 scmd->udcd_cmd->address_mode, in make_dcd_cmd()
2387 scmd->udcd_cmd->size, in make_dcd_cmd()
2388 scmd->udcd_cmd->direction, scmd->udcd_cmd->features); in make_dcd_cmd()
2391 if (scmd->udcd_timeout == 0) in make_dcd_cmd()
2394 tval = scmd->udcd_timeout; in make_dcd_cmd()
3049 struct udcd_cmd *scmd; in dcdioctl() local
3227 scmd = (struct udcd_cmd *)data; in dcdioctl()
3228 scmd->udcd_cmd = &dcdcmd; in dcdioctl()
3236 scmd->udcd_cmd->cmd = ATA_READ_DMA; in dcdioctl()
3238 scmd->udcd_cmd->cmd = ATA_READ; in dcdioctl()
3239 scmd->udcd_cmd->address_mode = ADD_LBA_MODE; in dcdioctl()
3240 scmd->udcd_cmd->direction = DATA_READ; in dcdioctl()
3241 scmd->udcd_flags |= UDCD_READ|UDCD_SILENT; in dcdioctl()
3245 scmd->udcd_cmd->cmd = ATA_WRITE_DMA; in dcdioctl()
3247 scmd->udcd_cmd->cmd = ATA_WRITE; in dcdioctl()
3248 scmd->udcd_cmd->direction = DATA_WRITE; in dcdioctl()
3249 scmd->udcd_flags |= UDCD_WRITE|UDCD_SILENT; in dcdioctl()
3255 scmd->udcd_cmd->address_mode = ADD_LBA_MODE; in dcdioctl()
3256 scmd->udcd_cmd->features = 0; in dcdioctl()
3257 scmd->udcd_cmd->size = rwcmd32.buflen; in dcdioctl()
3258 scmd->udcd_cmd->sector_num.lba_num = rwcmd32.blkaddr; in dcdioctl()
3259 scmd->udcd_bufaddr = (caddr_t)(uintptr_t)rwcmd32.bufaddr; in dcdioctl()
3260 scmd->udcd_buflen = rwcmd32.buflen; in dcdioctl()
3261 scmd->udcd_timeout = (ushort_t)dcd_io_time; in dcdioctl()
3262 scmd->udcd_resid = 0ULL; in dcdioctl()
3263 scmd->udcd_status = 0; in dcdioctl()
3264 scmd->udcd_error_reg = 0; in dcdioctl()
3265 scmd->udcd_status_reg = 0; in dcdioctl()
3269 i = dcdioctl_cmd(dev, scmd, UIO_SYSSPACE, UIO_USERSPACE); in dcdioctl()
3275 (void) dcd_translate(&(rwcmd32.status), scmd); in dcdioctl()
3276 rwcmd32.status.resid = scmd->udcd_resid; in dcdioctl()
3339 scmd = (struct udcd_cmd *)data; in dcdioctl()
3352 udcd_cmd32toudcd_cmd(ucmd32, scmd); in dcdioctl()
3355 if (ddi_copyin((caddr_t)arg, scmd, sizeof (*scmd), in dcdioctl()
3362 if (ddi_copyin((caddr_t)arg, (caddr_t)scmd, in dcdioctl()
3363 sizeof (*scmd), flag)) { in dcdioctl()
3368 scmd->udcd_flags &= ~UDCD_NOINTR; in dcdioctl()
3371 i = dcdioctl_cmd(dev, scmd, uioseg, uioseg); in dcdioctl()
3379 udcd_cmdtoudcd_cmd32(scmd, ucmd32); in dcdioctl()
3387 if (ddi_copyout(scmd, (caddr_t)arg, sizeof (*scmd), in dcdioctl()
3395 if (ddi_copyout((caddr_t)scmd, (caddr_t)arg, in dcdioctl()
3396 sizeof (*scmd), flag)) { in dcdioctl()
3612 struct udcd_cmd *scmd; in dcdioctl_cmd() local
3635 scmd = in; in dcdioctl_cmd()
3639 if (scmd->udcd_buflen <= 0) { in dcdioctl_cmd()
3640 if (scmd->udcd_flags & (UDCD_READ | UDCD_WRITE)) { in dcdioctl_cmd()
3643 scmd->udcd_buflen = 0; in dcdioctl_cmd()
3653 if (ddi_copyin((void *)scmd->udcd_cmd, cdb, sizeof (struct dcd_cmd), in dcdioctl_cmd()
3658 scmd = (struct udcd_cmd *)kmem_alloc(sizeof (*scmd), KM_SLEEP); in dcdioctl_cmd()
3659 bcopy((caddr_t)in, (caddr_t)scmd, sizeof (*scmd)); in dcdioctl_cmd()
3660 scmd->udcd_cmd = (struct dcd_cmd *)cdb; in dcdioctl_cmd()
3661 rw = (scmd->udcd_flags & UDCD_READ) ? B_READ: B_WRITE; in dcdioctl_cmd()
3671 kmem_free(scmd->udcd_cmd, sizeof (struct dcd_cmd)); in dcdioctl_cmd()
3672 kmem_free((caddr_t)scmd, sizeof (*scmd)); in dcdioctl_cmd()
3688 "dcdioctl_cmd : buflen %x\n", scmd->udcd_buflen); in dcdioctl_cmd()
3690 if (scmd->udcd_buflen) { in dcdioctl_cmd()
3698 aiov.iov_base = scmd->udcd_bufaddr; in dcdioctl_cmd()
3699 aiov.iov_len = scmd->udcd_buflen; in dcdioctl_cmd()
3703 uio->uio_resid = scmd->udcd_buflen; in dcdioctl_cmd()
3710 bp->b_forw = (struct buf *)scmd; in dcdioctl_cmd()
3717 bp->b_forw = (struct buf *)scmd; in dcdioctl_cmd()
3743 kmem_free(scmd->udcd_cmd, sizeof (struct dcd_cmd)); in dcdioctl_cmd()
3744 kmem_free((caddr_t)scmd, sizeof (*scmd)); in dcdioctl_cmd()